On 04/30/2012 10:56 PM, Augie Schwer wrote:
I must be doing something wrong, because what I want to do doesn't
seem that difficult.

I have a range of IPs bound to a local interface:

lo:1      Link encap:Local Loopback
           inet addr:10.0.0.1  Mask:255.255.255.224

And I want to convince Bind to listen on sub-set of the given range (
10.0.0.2 for example ), yet when I configure that IP:

Which operating system are you running?

Contrary to what a lot of other people have suggested, it is in fact possible using the socket API to bind() to IPs which aren't explicitly created, due to special handling on the loopback interface. This can certainly be done under Linux, for example., and I have just re-confirmed that to myself.

I assume, because of the phrasing of your question, that your OS does indeed have this feature, and you've tested it working with other applications (even if as simple as netcat)?

Unfortunately, it seems likely that named is using the normal socket APIs to first enumerate the list of IPs on the box, and then filter those through listen-on statements to get the final list of IPs to pass to a bind() socket call - this would be a sensible way to implement the CIDR listen functionality.

If so, then if the IP isn't *explicitly* on an interface, it won't appear in the final output set, regardless of the fact a bind() call will succeed.

So you might be being a bit too clever, and foxing the named socket code I'm afraid.

Cheers,
Phil
_______________________________________________
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Reply via email to