我有一个正在运行的 Bind DNS 缓存专用服务器设置。我正在启动一个新的 AD 域控制器,它也将成为该 AD 的 DNS 服务器,但我不希望它响应除与 AD 相关的 DNS 查询之外的任何 DNS 查询。因此,我的目标是将此缓存服务器保留为网络上站点的主 DNS 服务器,并让它将 AD 域的请求转发到域控制器。我的理解是,我只需要一个指向域控制器的该域的转发区域。但是它似乎不起作用。所以这让我认为我的缓存服务器没有正确转发。
例如,此 AD 将采用 hostname.mydomain.local 命名约定。如果我执行 nslookup 并将域控制器的 IP 地址指定为服务器,则可以查询该服务器上 DNS 中存在的地址,例如 dc1.mydomain.local。但是,对我的缓存服务器的查询超时(如果我查询 mydomain.local 但没有查询该域中的任何对象,我会从缓存服务器获得响应)。
有什么建议吗?这是我的 named.conf 文件:
options {
directory "/var/named";
listen-on { 192.168.0.14; 127.0.0.1; };
forwarders {
<external DNS server IP 1>;
<external DNS server IP 2>;
};
forward first;
};
zone "." in {
type hint;
file "db.cache";
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "db.127.0.0";
};
//forward zone for mydomain.local
zone "mydomain.local" {
type forward;
forwarders {
192.168.1.21;
};
};
答案1
请打开 named 的日志记录 - 编辑 named.conf:
日志记录{ 通道 simple_log {
文件 "/var/log/named/bind.log" 版本 3 大小 5m;
严重性警告;
打印时间是;
打印严重性是;
打印类别是; };
类别默认{ simple_log;
};
};
然后:
named-checkconf <path to your named.conf>
rndc reconfig
tail -f /var/log/named/bind.log
观察客户端请求的内容?哪个服务器正在发送?您必须确保 AD 已配置为接收来自此服务器的请求。祝您好运!
答案2
我认为您把它弄得太复杂了。默认情况下,AD DNS 仅在 AD 域内执行 DNS 查询,因此您需要做的就是告诉它自动将其余查询转发到您的常规 DNS 服务器。
您可以进入 dnsmgmt 工具,选择您的域控制器,右键单击它,然后选择“属性”,然后转到“转发器”选项卡。
确保“DNS 域”设置为“所有其他 DNS 域”,然后将您的缓存 DNS 服务器添加为转发器。
应该比尝试上游配置它容易得多。