Windows
Bind 無法載入區域,checkzone 說 OK,checkconf 不同意,從已知工作區域複製
我有一個在 Windows Server 2012 R2 上執行的 BIND9 (9.9.10-P2) 伺服器。我有 2 個視圖——一個內部視圖和一個外部視圖——為我擁有的域提供兩個區域。
出於某種原因,儘管伺服器啟動時沒有任何投訴,但其中一個區域拒絕提供答案。創建區域 2(問題區域)時,由於它的設置與區域 1 完全相同,我只是從區域 1 複製文件並將相關位替換為新名稱。Checkzone 說沒問題,沒有顯示錯誤。執行 checkconf -z 會針對 Zone 2 而不是 Zone 1 拋出錯誤:
C:\Program Files\ISC BIND 9\bin>named-checkconf.exe -z ..\etc\named.conf C:\Program Files\ISC BIND 9\etc\zones\domain2.net.int:4: ignoring out-of-zone data (domain2.net) C:\Program Files\ISC BIND 9\etc\zones\domain2.net.int:16: ignoring out-of-zone dat a (dns.domain2.net) zone domain2.net/IN: has 0 SOA records zone domain2.net/IN: has no NS records zone domain2.net/IN: not loaded due to errors. internal/domain2.net/IN: bad zone zone domain1.net/IN: loaded serial 2 C:\Program Files\ISC BIND 9\etc\zones\domain2.net.ext:4: ignoring out-of-zone data (domain2.net) C:\Program Files\ISC BIND 9\etc\zones\domain2.net.ext:16: ignoring out-of-zone dat a (dns.domain2.net) zone domain2.net/IN: has 0 SOA records zone domain2.net/IN: has no NS records zone domain2.net/IN: not loaded due to errors. external/domain2.net/IN: bad zone zone domain1.net/IN: loaded serial 2
這是我的named.conf:
key "rndc-key" { algorithm hmac-md5; secret "nah"; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; acl internals { 127.0.0.0/8; 10.16.0.0/22; }; view "internal" { match-clients { internals; }; recursion yes; zone "domain2.net" { type master; file "C:\Program Files\ISC BIND 9\etc\zones\domain2.net.int"; }; zone "domain1.net" { type master; file "C:\Program Files\ISC BIND 9\etc\zones\domain1.net.int"; }; }; view "external" { match-clients { any; }; recursion no; zone "domain2.net" { type master; file "C:\Program Files\ISC BIND 9\etc\zones\domain2.net.ext"; }; zone "domain1.net" { type master; file "C:\Program Files\ISC BIND 9\etc\zones\domain1.net.ext"; }; };
這是 1 區/域 1,工作區:
; domain1.net $TTL 86400 $ORIGIN domain1.net. domain1.net. IN SOA dns.domain1.net. hostmaster ( 2 ; Serial number 10800 ; Refresh 3600 ; Retry 604800 ; Expire 86400) ; Minimum TTL ; Nameservers IN NS dns.domain1.net. IN NS dns.domain2.net. ; Records dns.domain1.net. IN A 127.0.0.2
這是 2 區/域 2,損壞的:
; domain2.net $TTL 86400 $ORIGIN domain2.net. domain2.net. IN SOA dns.domain2.net. hostmaster ( 2 ; Serial number 10800 ; Refresh 3600 ; Retry 604800 ; Expire 86400) ; Minimum TTL ; Nameservers IN NS dns.domain2.net. IN NS dns.domain1.net. ; Records dns.domain2.net. IN A 127.0.0.6
據我所知,Zone 1/Domain 1 執行良好。我已經多次刪除、重新創建和複製這些文件,但都沒有成功。
它忽略了域 2 區域文件中的記錄為“區域外”,這似乎表明
zone "domain2.net" {
conf 行與domain2.net.
區域文件中的名稱不匹配,這可能在您的域混淆中失去。這兩個字元串在這兩個文件之間是否完全匹配(除了區域文件中的尾隨點),是否有任何特殊字元或編碼差異?