dnsdist's newServer() should have a source address argument #3138

Closed
job opened this Issue Dec 30, 2015 · 0 comments

Projects

None yet

3 participants

@job
Contributor
job commented Dec 30, 2015

It would be useful for servers which have multiple IP addresses/interfaces to be able to instruct newServer() which source address to use.

newServer({address="ip:port", source=XX})

Where XX can be a list of IPv4 & IPv6 addresses (dnsdist should loadbalance), or an interface name (dnsdist should take all IPv4 and IPv6 addresses from that interface). If multiple IP addresses are specified either directly or indirectly (by referencing an interface name) - dnsdist should try to figure out which source addresses result in answers and which don't.

@rgacogne rgacogne self-assigned this Jan 6, 2016
@rgacogne rgacogne added a commit to rgacogne/pdns that referenced this issue Jan 7, 2016
@rgacogne rgacogne dnsdist: Add a 'source' option to select the source addr/interface
It only supports one source address/interface per downstream server.
The more I tried to support more than one, the more I realized I was
in fact having grouping several DS into one, without the benefits
of separate stats and status checking. In particular, having several
sources adresses mean that we would get "random" failures if some
addresses are allowed on the backend and some others are not.
Simply adding the same backend several times with different source
addresses means that only the ones with faulty addresses will be
disabled.
Closes #3138.
cf72cb4
@rgacogne rgacogne added a commit to rgacogne/pdns that referenced this issue Jan 7, 2016
@rgacogne rgacogne dnsdist: Add a 'source' option to select the source addr/interface
It only supports one source address/interface per downstream server.
The more I tried to support more than one, the more I realized I was
in fact having grouping several DS into one, without the benefits
of separate stats and status checking. In particular, having several
sources adresses mean that we would get "random" failures if some
addresses are allowed on the backend and some others are not.
Simply adding the same backend several times with different source
addresses means that only the ones with faulty addresses will be
disabled.
Closes #3138.
fbe2a2e
@ahupowerdns ahupowerdns closed this in #3183 Jan 8, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment