BIND DNS 主服务器与 Zerigo 从服务器 - BIND 不会更新从服务器

BIND DNS 主服务器与 Zerigo 从服务器 - BIND 不会更新从服务器

我尝试自己解决这个问题,并且搜索过 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

检查事项:

  1. 检查通知消息是否未关闭(通知必须保留默认设置(“是”)或者设置为“是”或“明确”)
  2. 如果你隐藏了主服务器设置(听起来你可能是这样),named 将不会向区域 SOA 中列出的主服务器发送通知,除非你在同时通知语句或集合通知至 soa
  3. 如上所述,最好只列出您想要通知的服务器同时通知语句,这样就不会产生歧义。
  4. 确保在进行区域更改时更新 SOA 中的序列号。 这是一个非常常见的错误。收到通知后,从属设备将对区域进行 SOA 查询,以确定是否需要 AXFR。如果它已经有相同的序列号,它将认为重新传输区域是不必要的。您必须如果您希望将从属设备设置为 AXFR 而无需手动触发,请增加序列号。
  5. 从您的日志文件摘录来看,这似乎不适用于您,因为您似乎已正确允许 AXFR,但为了其他可能遇到类似问题的人的利益,从属服务器通常需要明确允许发出 AXFR 请求(使用允许转移指示。)

相关内容