feat: outgoing-interface binding for recursive queries #93
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Use case
In multi-ISP environments, each resolver instance should egress through a specific ISP uplink so CDN providers return topology-aware responses. Without source IP binding, all recursive queries exit via the default route regardless of which instance handles the query.
Raised by @Palvef in #34.
Proposed
Add an
outgoing_interface(orbind_addr) option to[upstream]:Implementation:
bind()the outgoing UDP/TCP socket to the specified address beforeconnect()/send_to()in the recursive and forwarding paths.References
outgoing-interface: 192.168.1.1query-source address 192.168.1.1