BIND9 仅使用 also-notify 向从属发送通知

BIND9 仅使用 also-notify 向从属发送通知

我有一个问题已经困扰我三天了!我正在用新的权威 DNS 服务器替换我的权威 DNS 服务器,然后我再次重置所有 BIND9 配置,以便在替换后进行更多的“微调”。

我已经配置了一个MASTER服务器和两个SLAVE服务器,我已经配置了一个区域用于测试,该区域带有我通常用于测试的域(FQDN),问题是这样的:

  • 当我更新区域并重新启动/重新加载绑定时,从日志中我看到通知已正确发送,但所有从属设备均未收到(也使用 tcpdump 端口 53 进行了验证:没有来自主设备的输出)

Feb 12 20:42:13 svr-3 named[12957]: zone test.com/IN: sending notifies (serial 20210 21201)

  • 如果我添加指令“also-notify {slave_ip_1; slave_ip_2;}; 通知被正确发送和接收(使用 tcpdump 端口 53 和绑定日志进行验证),显然传输过程可以正确开始和结束

此时,我相信这是 MASTER 某些配置的问题,我已经忽略或设置不正确,因为从属设备接收正确;看起来好像它没有读取权威的 NS 记录。

我正在附加配置文件,也许在您的帮助下,我可以找到错误(该文件即将完成,我一遇到这个问题就停止了)

命名的.conf.选项

options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        // forwarders {
        //      0.0.0.0;
        // };

        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================
        dnssec-validation auto;

        listen-on { xxx; };
        listen-on-v6 { any; };

        //IP da utilizzare per le richieste in uscita di aggiornamento zone e il forward dei dynamic updates
        transfer-source xxx;

        //Abilito le notifiche
        notify yes;

        //Quale IP utilizzare per le notifiche in uscita
        notify-source xxx;

        //IP da notificare in aggiunta degli NS RR
//      also-notify { yyy; zzz;  };

        auth-nxdomain no;

        // hide version number from clients for security reasons.
        version "Not Available";

        // disable recursion on authoritative DNS server.
        recursion no;

        // enable the query log
        querylog yes;

        // disallow zone transfer
        allow-transfer { none; };

};

区域文件

; BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE - it is used for multiple zones.
; Instead, copy it, edit named.conf, and use that copy.
;

$TTL    86400           ;TTL (1 Giorno)
$ORIGIN test.com.    ;Base Dominio

; Record Start of Authority (SOA)
@       IN      SOA     ns1.test.net. hostmaster.test.net. (
                       2021021201       ; Serial
                          21600         ; Refresh (6H)
                          10800         ; Retry (3H)
                         604800         ; Expire (1 Settimana)
                         604800 )       ; Negative Cache TTL (1 Settimana)
; Record A
@       10800   IN      A       123.345.678.123
www     10800   IN      A       123.345.678.123

; Record AAAA

; Record CNAME

; Record TXT

; Record SRV

; Record MX
@       3600    IN      MX      1       mail.test.net.
@       3600    IN      MX      10      mail2.test.net.

; Record NS
@       IN      NS      ns1.test.net.
@       IN      NS      ns2.test.net.
@       IN      NS      dns.otherdomain.it.

命名的.conf.本地

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "test.com" {
      type master;
      file "/etc/bind/zones/db.test.com";
      allow-query { any; };
      allow-transfer { key keytest; };
};

答案1

我开始将新机器投入生产以管理权威 DNS 服务器,此时我能够进行更精确的诊断。

问题已经解决,我认为这是由于在转移阶段我向注册商注册了新的 GLUE 记录,然后我将所有区域转移到新的主服务器,此时我向您报告了该问题。

但是我还没有向注册商报告新的 DNS 地址,因为显然机器的配置尚未完成;昨天我继续运行 DNS 更新,然后使新服务正常运行,惊喜!

现在,通过禁用“also-notify”功能,主服务器能够向从属机器发送通知。

说实话,我并不认为 bind 会检查当前在注册商处设置的权威服务器是哪些,我认为只有区域文件中设置的 NS 记录就足够了。

感谢大家尝试帮助我解决这个问题,我希望这次经验能够有所帮助。

相关内容