Bind listener to an IPv6 from AnyIP subnet
me at at.encryp.ch
me at at.encryp.ch
Mon Mar 13 09:15:32 UTC 2023
The problem is I have lots of IPv6 addresses where I need to listen DNS requests (IPv6 prefix of /64) and I could not just explicitly add each to the interface, thus I use AnyIP feature to be able to use entire prefix by locally by such software like nginx, curl, etc.
Regarding the usage of [::] - due to usage of firewall I am able to block connections to the 53/udp and 53/tcp which are not coming to specific IP addresses or ranges, I do not need such filtering functionality within bind itself.
Anyway, the better option is to allow bind to a so known "non-local" IP addresses. Currently if I try to bind named to a IP address within AnyIP prefix but which is not explicitly added to an interface it just not bind socket here. Read this blog post for more details on AnyIP feature: https://blog.widodh.nl/2016/04/anyip-bind-a-whole-subnet-to-your-linux-machine/
2023-03-13T08:55:16Z Michael Richardson <mcr at sandelman.ca>:
>
> Serg via bind-users <bind-users at lists.isc.org> wrote:
> > As an alternative approach I have tried to run with a configuration
> > "listen-on-v6 { any; }", but it does behave in a way I need - it binds
> > separate socket for each discovered IP address rather wildcard address
> > of [::].
>
> Bind needs to bind a new socket for each address so that it can easily know
> which address is being communicated with. While there are newer ways to do
> this, they aren't that portable.
>
> What is the problem with binding to all the addresses, if you then filter
> which addresses will actually respond?
>
> Many large authoritative resolvers put the anycast address on the lo, and then use
> BGP to announce connectivity, and AFAIK, they all just listen on all
> addresses, because sometimes you want to ask a specific server a question.
More information about the bind-users
mailing list