Good morning,


I have a slight problem with a DNS delegation that just won't work on
Linux Bind.



I have testdomain.com configured on a Windows DNS server as the master
and the same zone on a slave Linux Bind.



Windows/Linux zone configuration (zone.testdomain.com on master
sdns01-01.testdomain.com (Windows) and sdns02-01.testdomain.com (Linux
Bind))



================================================== ======================
===

sdns01-01.testdomain.com. IN A 127.0.0.1

sdns02-01.testdomain.com. IN A 127.0.0.2

ddns01-01.testdomain.com. IN A 127.0.1.1

ddns01-02.testdomain.com. IN A 127.0.1.2

ddns01-03.testdomain.com. IN A 127.0.1.3



$ORIGIN .



testdomain.com SOA sdns01-01.testdomain.com.
hostmaster.testdomain.com. (

2831352510 ; serial

7200 ; refresh (2
hours)

3600 ; retry (1
hour)

1209600 ; expire (2
weeks)

3600 ; minimum (1
hour)

)



NS sdns01-01.testdomain.com.

NS sdns02-01.testdomain.com.



$ORIGIN testdomain.com.



test NS ddns01-01.testdomain.com.

test NS ddns01-02.testdomain.com.

test NS ddns01-03.testdomain.com.

================================================== ======================
===



On ddns01-01/ddns01-02/ddns01-03 I have Sun Solaris Bind with the
following configuration :



================================================== ======================
===

$ORIGIN .

$TTL 604800 ; 1 week

testdomain.com IN SOA testdomain.com. root.testdomain.com.
(

6818 ; serial

604800 ; refresh (1 week)

86400 ; retry (1 day)

2419200 ; expire (4 weeks)

604800 ; minimum (1 week)

)

NS ddns01-01.testdomain.com.

NS ddns01-02.testdomain.com.

NS ddns01-03.testdomain.com.



$ORIGIN testdomain.com.

$TTL 1 ; 1 second

test A 127.0.2.1

A 127.0.2.2

A 127.0.2.3

================================================== ======================
===



dig ns testdomain.com @127.0.0.1

================================================== ======================
===

; <<>> DiG 9.2.4 <<>> ns testdomain.com @127.0.0.1

; (1 server found)

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3018

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 6



;; QUESTION SECTION:

;testdomain.com. IN NS



;; ANSWER SECTION:

testdomain.com. 3600 IN NS
sdns01-01.testdomain.com.

testdomain.com. 3600 IN NS
sdns02-01.testdomain.com.



;; ADDITIONAL SECTION:

sdns01-01.testdomain.com. 900 IN A 127.0.0.1

sdns02-01.testdomain.com. 900 IN A 127.0.0.2



;; Query time: 4 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Fri Oct 17 09:12:16 2008

;; MSG SIZE rcvd: 279

================================================== ======================
===



dig ns testdomain.com @127.0.0.2

================================================== ======================
===

; <<>> DiG 9.2.4 <<>> ns testdomain.com @127.0.0.2

; (1 server found)

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3018

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 6



;; QUESTION SECTION:

;testdomain.com. IN NS



;; ANSWER SECTION:

testdomain.com. 3600 IN NS
sdns01-01.testdomain.com.

testdomain.com. 3600 IN NS
sdns02-01.testdomain.com.



;; ADDITIONAL SECTION:

sdns01-01.testdomain.com. 900 IN A 127.0.0.1

sdns02-01.testdomain.com. 900 IN A 127.0.0.2



;; Query time: 4 msec

;; SERVER: 127.0.0.2#53(127.0.0.2)

;; WHEN: Fri Oct 17 09:12:16 2008

;; MSG SIZE rcvd: 279

================================================== ======================
===



The domain server respond properly for the NS on the TLD.



But here comes the problem, while it does give out the correct DNS
delegation on the Windows server, it doesn't on the bind (remember,
127.0.0.2 is Linux Bind)



dig ns test.testdomain.com @127.0.0.1

================================================== ======================
===

; <<>> DiG 9.2.4 <<>> ns test.testdomain.com @127.0.0.1

; (1 server found)

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2850

;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 3



;; QUESTION SECTION:

;test.testdomain.com. IN NS



;; ANSWER SECTION:

test.testdomain.com. 3600 IN NS
ddns01-02.testdomain.com.

test.testdomain.com. 3600 IN NS
ddns01-03.testdomain.com.

test.testdomain.com. 3600 IN NS
ddns01-01.testdomain.com.



;; ADDITIONAL SECTION:

ddns01-02.testdomain.com. 900 IN A 127.0.1.2

ddns01-03.testdomain.com. 900 IN A 127.0.1.3

ddns01-01.testdomain.com. 900 IN A 127.0.1.1



;; Query time: 4 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Fri Oct 17 09:15:09 2008

;; MSG SIZE rcvd: 164

================================================== ======================
===



dig ns test.testdomain.com @127.0.0.2

================================================== ======================
===

; <<>> DiG 9.2.4 <<>> ns test.testdomain.com @127.0.0.2

; (1 server found)

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 3797

;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0



;; QUESTION SECTION:

;test.testdomain.com. IN NS



;; Query time: 2134 msec

;; SERVER: 127.0.0.2#53(127.0.0.2)

;; WHEN: Fri Oct 17 09:15:57 2008

;; MSG SIZE rcvd: 35

================================================== ======================
===



Here the Linux Bind server fails to tell me which DNS's that's
configured for test.testdomain.com while Windows does.



I can continue doing dig to get the correct answers on the windows dns :



dig test.testdomain.com @127.0.0.1

================================================== ======================
===

; <<>> DiG 9.2.4 <<>> a test.testdomain.com @127.0.0.1

; (1 server found)

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55435

;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0



;; QUESTION SECTION:

;test.testdomain.com. IN A



;; ANSWER SECTION:

test.testdomain.com. 1 IN A 127.0.2.1

test.testdomain.com. 1 IN A 127.0.2.2

test.testdomain.com. 1 IN A 127.0.2.3



;; Query time: 5 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Fri Oct 17 09:19:35 2008

;; MSG SIZE rcvd: 51

================================================== ======================
===



But not on the Linux Bind server :



dig test.testdomain.com @127.0.0.2

================================================== ======================
===

; <<>> DiG 9.2.4 <<>> a test.testdomain.com @127.0.0.2

; (1 server found)

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 43330

;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0



;; QUESTION SECTION:

;test.testdomain.com. IN A



;; Query time: 2133 msec

;; SERVER: 127.0.0.2#53(127.0.0.2)

;; WHEN: Fri Oct 17 09:20:36 2008

;; MSG SIZE rcvd: 35

================================================== ======================
===



Can anyone tell me what I am doing wrong, or if this isn't possible on
Bind?