Domain-Name-System

BIND9 僅使用also-notify 向從站發送通知

  • February 22, 2021

我有一個問題已經讓我發瘋了三天!我正在用新的權威 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

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.local

//
// 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; };
};

我到了將用於管理權威 DNS 伺服器的新機器投入生產的地步,此時我能夠執行更精確的診斷。

問題已經解決了,我想是因為在遷移階段我向註冊商註冊了新的GLUE記錄,然後我將所有區域都遷移到了新的主伺服器,此時我向您報告了問題.

但是我還沒有(向註冊商)報告新的 DNS 地址,因為很明顯這些機器還沒有完成配置;昨天我開始執行 DNS 更新,然後使新服務正常執行並出人意料!

現在通過禁用“也通知”功能,主伺服器能夠向從機發送通知。

老實說,我不認為 bind 會檢查目前在註冊商處設置的權威伺服器,我認為只有區域文件中設置的 NS 記錄就足夠了。

感謝大家試圖幫助我解決這個問題,我希望這個經驗可以有所幫助。

引用自:https://serverfault.com/questions/1053472