直到昨天,我還有一個具有 2 個 IP 和 Plesk 的專用伺服器。 NS、NS2 在同一台伺服器上運行,我使用 Plesk 新增網域記錄。我所做的一切都很棒。
昨天我不得不購買另一台伺服器,所以我決定也將其用作 DNS 伺服器,但沒有 Plesk。我安裝了bind9(https://help.ubuntu.com/community/BIND9ServerHowto#Secondary_Master_Server_configuration)並將以下幾行加入named.local.conf:
zone "my-domain" {
type slave;
file "/var/cache/bind/db.my-domain.com";
masters { MY_SERVER_IP; };
};
我沒有修改其他設定。在上面的網站上我看到conf檔案中還有一個修改,但說實話我不知道它是什麼,而且我沒有添加它:
zone "1.168.192.in-addr.arpa" {
type slave;
file "/var/cache/bind/db.192";
masters { @ip_master; };
};
在 (A) 伺服器上:在 Plesk 中,工具與設定 -> DNS 模板設定 >> 傳輸限制模板,我將 (B) 伺服器的 IP 新增至允許列表
重新啟動綁定後,一切看起來都很好((B)系統日誌:
zone my-domain.com/IN: Transfer started.
transfer of 'my-domain.com/IN' from MY-SERVER-IP#53: connected using 192.96.206.50#49370
zone my-domain.com/IN: transferred serial 1425047310
transfer of 'my-domain.com/IN' from MY-SERVER-IP#53: Transfer completed: 1 messages, 14 records, 417 bytes, 0.094 secs (4436 bytes/sec)
zone my-domain.com/IN: sending notifies (serial 1425047310)
對於我的網域,我更新了伺服器:
- ns.a-server.com(伺服器 A - Plesk)
- ns2.a-server.com(伺服器 A - Plesk)
- ns3.b-server.com(伺服器 B)
結果@ns3.b-server.com my-domain.com
看起來不錯。
我沒有完成伺服器上其他應用程式的配置,所以我決定將其關閉一個晚上。早上,當我嘗試 ping my-domain.com 時,我感到很驚訝:
ping: cannot resolve my-domain.com: Unknown host
據我所知,客戶端嘗試從主 DNS 伺服器取得伺服器的 IP,當無法存取時,它會嘗試從屬伺服器。在這種情況下我關閉了從伺服器。那麼問題/配置錯誤在哪裡?
我應該刪除 ns2.a-server.com 還是沒關係?
答案1
目前尚不清楚您在哪裡運行ping
.但你的假設是
客戶端嘗試從主DNS伺服器取得伺服器的IP
完全錯誤。 DNS 用戶端聯絡 /etc/resolv.conf 的伺服器,並且僅聯絡這些伺服器。伺服器選擇僅以下列方式之一回應:
- 如果它是
master
域的,它會根據它自己的區域文件進行回應(它是自己的本地磁碟,僅此而已);答案是權威的並且結束處理 - 如果它是
slave
域的,它會根據它自己的區域文件進行回應(它是自己的本地磁碟,僅此而已);答案是權威的並且結束處理 - 如果兩者都不是,則將請求傳遞給
forwarders
;它結束處理 - 如果沒有
master
、沒有slave
且沒有forwarders
配置,伺服器會嘗試透過詢問整個互聯網上的DNS 來自行解析請求(遞歸查詢- 對於abccom。它會嘗試解析“.”,然後“com.”,然後“c.com.” )。答案可以被伺服器緩存,不具權威性,結束處理
在您的情況下,您的slave
區域文件可能會超時,並且由於某種原因無法從master
.只是可能的原因之一。