BIND: how to delegate subzone to other DNS server?
Solution 1:
The problem is in your named.conf. I'm guessing you've got forwarders defined in your named.conf somewhere. For any zone for which your server is authoritative, you need to turn the forwarding off. Using the sample from above, you should change it to read like this:
zone "lan" {
type master;
file "zone.lan";
forwarders { };
};
It should work once you do this.
Solution 2:
There is a problem in the zone file.
$ORIGIN lan.
$TTL 1H ; 1 hour
@ IN SOA dns.example.com. hostmaster.example.com. (
201008137 ; serial
28800 ; refresh (8 hours)
14400 ; retry (4 hours)
2419200 ; expire (4 weeks)
86400 ; minimum (1 day)
)
IN NS dns.example.com.
$ORIGIN mydomain.lan.
@ IN NS dc1.mydomain.lan.
dc1 IN A 10.10.0.200 ; 'glue' record
The @ refers the zone name as defined in the named.conf
zone "lan" {
type master;
file "zone.lan";
};
which is just 'lan'. The record you created is
lan. IN NS dc1.nydomain.lan.
I tend not to use BIND shortcuts for important records because it's easy forget or misunderstand the behavior, leading to unexpected results.
(I realize it's probably too late to help this person, but if someone else looks at this, try removing the BIND shortcuts to see if it fixes your problems.)