Bind9 and djbdns zone transfers

Kevin Darcy kcd at daimlerchrysler.com
Sat Jan 14 00:45:40 UTC 2006


entropathy at gmail.com wrote:

>I have a simple problem that I've been searching all day for an answer
>too and have turned up nothing so far. I have a dns server that is
>running bind 9.2.1 and a friend who use's djbdns suite. He is the
>master I am the slave. I am trying to slave 2 zones from him. He has
>the authoritative server running on localhost(udp 53) and the caching
>server running on the exposed IP of the machine, lets say 192.168.100.1
>(udp/tcp 53) and finally the xfer daemon runs on port 5000. Here is my
>problem when I set up my slave zone it looks like this
>
>zone "myslavezone1.com" {
>        type slave;
>        file "db.slavezone1.com";
>        masters { 192.168.100.1 port 5000; };
>};
>
>The problem here is that when I restart bind the first thing it does is
>the SOA query for the zone to see if it needs to axfr. Of course it
>fires this query off on udp port 5000 since that's what I have
>configured and of course it fails. So then I removed the port 5000
>declaration to make sure bind could at least get the correct SOA record
>and determine if it needs to do a transfer or not. However these
>queries fail as well, but if I use the host command on the same machine
>to grab and SOA it works I took a packet dump and the difference
>appears to be that in my comand line the 'Recursion Desired' Flag is
>enabled but in the bind generated one it is not so after all of this
>here are the questions I have
>
>1) Is there a way to tell bind to flip the recursion flag on for the
>SOA queries
>2) Is there anyway to configure it to use a differnt destination ports
>for queries and transfers
>
>----below here  is OT I think but if anyone can shed light on it i'd
>appreciate it
>
>I'm assuming the bind SOA recursion failure is because only the caching
>server is exposed and accessible on the master server and the real
>authoritative one is not exposed meaning the caching one would have to
>recurse to get the real SOA, I'm not familiar enough with djbdns to
>know if this is a common setup or if the authoritative server should be
>running on an accessible ip.
>
Looks circumstantially like they're running only a non-authoritative 
instance on UDP/5000. That's no good, since named will reject a 
non-authoritative SOA-serial response. I'm not aware of any way within 
BIND to specify a different port for SOA-serial queries than for the 
subsequent zone transfers. If there is no such capability, then the 
other folks will need to run an authoritative instance of the zone(s) on 
UDP/5000. I assume there's a way within djbdns to do this, without 
interfering with "axfrdns" or whatever his AXFR server daemon is called, 
running on TCP/5000. And they should seriously consider dumping djbdns 
with all of its AXFR foibles and quirkiness. Just because DJB doesn't 
personally like AXFR as a replication mechanism, is no justification, 
IMO, for subjecting his users to this nonsense when trying to 
interoperate with more popular DNS implementations.

                                                                         
                                       - Kevin




More information about the bind-users mailing list