我目前已将 Bind DNS 服务器设置为从根服务器进行查询,并且我在 DNS 设置中委托了一个 Active Directory 子域。我的 named.conf.options 目前如下所示:
acl internals { 172.16.0.0/12; 192.168.0.0/16; 127.0.0.1;};
options {
directory "/var/cache/bind";
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
allow-query { internals; };
allow-recursion { internals; };
};
controls {
inet 127.0.0.1 allow { localhost; } keys { "rndc-key"; };
};
我的 AD 子域名委派如下:
directory IN NS ds1.directory.domain.com.
ds1.directory.domain.com. IN A 192.168.0.60
这里一切正常,但我想设置 DNS 转发器而不是使用根服务器。我已将以下内容添加到我的 named.conf.options 文件中:
forwarders {
208.67.222.222;
208.67.220.220;
};
forward only;
dnssec-enable yes;
dnssec-validation yes;
这似乎也有效,但现在我的 AD 子域不起作用。如果我尝试 ping directory.domain.com,它会告诉我未知主机。在转发 DNS 请求时,我需要对委派的子域进行一些特殊处理吗?我猜子域正在转发到外部 DNS 服务器。我怎样才能让它首先解析到我的 DNS 服务器?
谢谢!
答案1
我搞明白了。我必须取消我权威区域上的转发器。否则查询将被转发到我的全局转发规则。因此,我在 named.conf.local 中的区域如下所示:
zone "domain.com" {
type master;
file "/var/lib/bind/db.domain.com";
forwarders {};
};