hi- i'm curious for some feedback on something i've noticed here and there, and came across again the other day. my experience with dns, and the method which i've always practiced, is that when a zone is delegated, there should be agreement between the parent and the child - that is to say that whatever nameservers the parent lists for the zone, all children should also list.
i've noticed though, from time to time [it seems to be most common in in-addr.arpa. zones], i see a case where a parent has delegated a zone, but the child does not corroborate this delegation. an example is 33.50.in-addr.arpa. according to the parent, there are two nameservers responsible for this zone: >dig @dill.arin.net 33.50.in-addr.arpa ns +norec ; <<>> DiG 9.7.1-P2 <<>> @dill.arin.net 33.50.in-addr.arpa ns +norec ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49118 ;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;33.50.in-addr.arpa. IN NS ;; AUTHORITY SECTION: 33.50.in-addr.arpa. 86400 IN NS AUTH01.ROC.NY.FRONTIERNET.NET. 33.50.in-addr.arpa. 86400 IN NS AUTH.LKV.MN.FRONTIERNET.NET. ;; Query time: 89 msec ;; SERVER: 192.35.51.32#53(192.35.51.32) ;; WHEN: Tue Mar 29 23:29:10 2011 ;; MSG SIZE rcvd: 105 when asking these two servers the same question, i expected them to provide the same answer [but in the answer section, of course] - but: >dig @auth01.roc.ny.frontiernet.net 33.50.in-addr.arpa ns +norec ; <<>> DiG 9.7.1-P2 <<>> @auth01.roc.ny.frontiernet.net 33.50.in-addr.arpa ns +norec ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 59545 ;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;33.50.in-addr.arpa. IN NS ;; Query time: 58 msec ;; SERVER: 66.133.170.3#53(66.133.170.3) ;; WHEN: Tue Mar 29 23:30:02 2011 ;; MSG SIZE rcvd: 36 >dig @auth.lkv.mn.frontiernet.net 33.50.in-addr.arpa ns +norec ; <<>> DiG 9.7.1-P2 <<>> @auth.lkv.mn.frontiernet.net 33.50.in-addr.arpa ns +norec ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 5181 ;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;33.50.in-addr.arpa. IN NS ;; Query time: 41 msec ;; SERVER: 66.133.150.11#53(66.133.150.11) ;; WHEN: Tue Mar 29 23:31:14 2011 ;; MSG SIZE rcvd: 36 both fail to do so. so - it would seem to me that at least somehow, in some sense, the delegation is broken. however, if queried further for a /24 within that /16, both servers now work "properly", and further delegate to other servers [and themselves]: >dig @auth.lkv.mn.frontiernet.net 151.33.50.in-addr.arpa ns +norec ; <<>> DiG 9.7.1-P2 <<>> @auth.lkv.mn.frontiernet.net 151.33.50.in-addr.arpa ns +norec ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62298 ;; flags: qr aa; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 3 ;; QUESTION SECTION: ;151.33.50.in-addr.arpa. IN NS ;; ANSWER SECTION: 151.33.50.in-addr.arpa. 86400 IN NS auth.dlls.pa.frontiernet.net. 151.33.50.in-addr.arpa. 86400 IN NS auth.lkvl.mn.frontiernet.net. 151.33.50.in-addr.arpa. 86400 IN NS auth.roch.ny.frontiernet.net. ;; ADDITIONAL SECTION: auth.dlls.pa.frontiernet.net. 86400 IN A 199.224.64.201 auth.lkvl.mn.frontiernet.net. 86400 IN A 66.133.150.11 auth.roch.ny.frontiernet.net. 86400 IN A 66.133.170.3 ;; Query time: 42 msec ;; SERVER: 66.133.150.11#53(66.133.150.11) ;; WHEN: Tue Mar 29 23:32:32 2011 ;; MSG SIZE rcvd: 184 those servers all properly answer queries for that /24: >dig @auth.dlls.pa.frontiernet.net 1.151.33.50.in-addr.arpa ptr +norec ; <<>> DiG 9.7.1-P2 <<>> @auth.dlls.pa.frontiernet.net 1.151.33.50.in-addr.arpa ptr +norec ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53648 ;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;1.151.33.50.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.151.33.50.in-addr.arpa. 86400 IN PTR static-50-33-151-1.mskg.mi.frontiernet.net. ;; Query time: 76 msec ;; SERVER: 199.224.64.201#53(199.224.64.201) ;; WHEN: Tue Mar 29 23:33:42 2011 ;; MSG SIZE rcvd: 98 but, interestingly, also, so do their parents [auth01.roc.ny.frontiernet.net and auth.lkv.mn.frontiernet.net]: >dig @auth01.roc.ny.frontiernet.net 1.151.33.50.in-addr.arpa ptr +norec ; <<>> DiG 9.7.1-P2 <<>> @auth01.roc.ny.frontiernet.net 1.151.33.50.in-addr.arpa ptr +norec ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21100 ;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;1.151.33.50.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.151.33.50.in-addr.arpa. 86400 IN PTR static-50-33-151-1.mskg.mi.frontiernet.net. ;; Query time: 59 msec ;; SERVER: 66.133.170.3#53(66.133.170.3) ;; WHEN: Tue Mar 29 23:35:30 2011 ;; MSG SIZE rcvd: 98 i see that two of these servers actually appear to be the same server, referenced by different hostnames: >dig auth01.roc.ny.frontiernet.net +short 66.133.170.3 >dig auth.roch.ny.frontiernet.net +short 66.133.170.3 >dig auth.lkv.mn.frontiernet.net +short 66.133.150.11 >dig auth.lkvl.mn.frontiernet.net +short 66.133.150.11 ultimately, when making a recursive query and asking bind to do an iterative lookup, it appears to work: >dig -x 50.33.151.1 ; <<>> DiG 9.7.1-P2 <<>> -x 50.33.151.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42628 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;1.151.33.50.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.151.33.50.in-addr.arpa. 86400 IN PTR static-50-33-151-1.mskg.mi.frontiernet.net. ;; Query time: 553 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Mar 29 23:41:54 2011 ;; MSG SIZE rcvd: 98 which leaves me sort of scratching my head. on the one hand, pretty much everything i've learned about dns says that it shouldn't work, but yet it seems to. added to that, the way delegation has been done seems just a bit odd to me in general. i'm hoping someone can offer some insight on the topic. thanks- -ben _______________________________________________ bind-users mailing list bind-users@lists.isc.org https://lists.isc.org/mailman/listinfo/bind-users