我尝试自己解决这个问题,并且搜索过 Google 和 Stack,但是没有找到我想要的答案。
目前,我在 VPS 服务器上安装了 BIND DNS 作为主 DNS 服务器。我使用 Zerigo 的 DNS 服务作为从服务器供公众使用:主服务器不接收查询 - 它的工作只是在本地创建和修改从服务器用于服务的 DNS 条目。
以下是 BIND 日志的摘录,我将其设置为 INFO 事件日志记录:
14-Apr-2012 23:00:00.234 general: info: received control channel command 'reload'
14-Apr-2012 23:00:00.234 general: info: loading configuration from 'C:\DNS\BIND\etc\named.conf'
14-Apr-2012 23:00:00.234 general: info: using default UDP/IPv4 port range: [1024, 65535]
14-Apr-2012 23:00:00.234 general: info: using default UDP/IPv6 port range: [1024, 65535]
14-Apr-2012 23:00:00.250 general: info: reloading configuration succeeded
14-Apr-2012 23:00:00.250 general: info: reloading zones succeeded
14-Apr-2012 23:16:22.750 xfer-out: info: client 174.36.24.251#47135: transfer of 'ajmakeup.com/IN': AXFR started
14-Apr-2012 23:16:22.750 xfer-out: info: client 174.36.24.251#47135: transfer of 'ajmakeup.com/IN': AXFR ended
14-Apr-2012 23:16:23.015 xfer-out: info: client 68.71.141.22#36212: transfer of 'ajmakeup.com/IN': AXFR started
14-Apr-2012 23:16:23.031 xfer-out: info: client 68.71.141.22#36212: transfer of 'ajmakeup.com/IN': AXFR ended
如您所见,当我强制重新加载时,Zerigo 的 DNS 服务器请求新的 DNS 数据没有问题;我不相信,根据它们设置为 SLAVE 的方式,它们会轮询更改。
然而问题恰恰相反;当重新加载运行时(在 MASTER 上),MASTER 不会更新 SLAVE 服务器;它是一个 15 分钟计时器上的批处理。
以下是我的NAMED.CONF:
key "rndc-key" {
algorithm hmac-md5;
secret "REMOVED FOR SECURITY";
};
acl "trusted" {
174.36.24.251/32;
68.71.141.22/32;
localhost;
};
options {
version "not currently available";
directory "C:\DNS\BIND\etc";
allow-query {
trusted;
};
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; }
keys { "rndc-key"; };
};
logging{
channel simple_log {
file "C:\DNS\BIND\logging\bind.log" versions 3 size 5m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
category default{
simple_log;
};
};
zone "ajmakeup.com" in {
type master;
file "c:\dns\BIND\zones\db.ajmakeup.com.txt";
allow-transfer { 174.36.24.251; 68.71.141.22; };
allow-update { none; };
};
我的问题是否与选项下的“allow-query”有关?您会注意到每个 DNS 区域都明确设置了“allow-transfer”。
如果你需要的话,这是我的 RNDC.CONF:
key "rndc-key" {
algorithm hmac-md5;
secret "REMOVED FOR SECURITY";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
server localhost {
key "rndc-key";
};
笔记:
我使用 WebsitePanel 作为托管面板,这就是为什么它会以这种方式创建区域条目。虽然我知道我可以改变这种行为,但我不想这样做,也不认为这是问题的根源。
感谢您的帮助。
答案1
检查事项:
- 检查通知消息是否未关闭(通知必须保留默认设置(“是”)或者设置为“是”或“明确”)
- 如果你隐藏了主服务器设置(听起来你可能是这样),named 将不会向区域 SOA 中列出的主服务器发送通知,除非你在同时通知语句或集合通知至 soa
- 如上所述,最好只列出您想要通知的服务器同时通知语句,这样就不会产生歧义。
- 确保在进行区域更改时更新 SOA 中的序列号。 这是一个非常常见的错误。收到通知后,从属设备将对区域进行 SOA 查询,以确定是否需要 AXFR。如果它已经有相同的序列号,它将认为重新传输区域是不必要的。您必须如果您希望将从属设备设置为 AXFR 而无需手动触发,请增加序列号。
- 从您的日志文件摘录来看,这似乎不适用于您,因为您似乎已正确允许 AXFR,但为了其他可能遇到类似问题的人的利益,从属服务器通常需要明确允许发出 AXFR 请求(使用允许转移指示。)