Domain-Name-System
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
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 記錄就足夠了。
感謝大家試圖幫助我解決這個問題,我希望這個經驗可以有所幫助。