Linux

在VPS上配置bind以使用域名作為同域的nameserver

  • May 20, 2020

我正在嘗試在 VPS 上配置綁定以生成ns1.example.comns2.example.com指向它(已經完成)並使其服務example.com

我之前在同一台機器上使用過 webmin,並且 webmin 配置了綁定,並且它工作。一段時間後,我不得不轉移到另一個面板,現在我無法完成這項工作。

  • 在我的域面板上,我已經將 VPS 的 IP 配置ns1.example.comns2.example.com“兒童 NS”。
  • 我在debian上使用綁定。
  • VPS 名稱(由於某種我不清楚的原因無法更改)是example.serverdomain.
  • 剛剛測試了防火牆,它在埠 53 上打開。
  • 我實際上複製了 webmin 創建的 99% 的配置文件,這些文件曾經可以工作。

/etc/bind/named.conf.local文件是:

zone "example.com" {
   type    master;
   file    "/etc/bind/db.example.com";
   allow-transfer {
       127.0.0.1;
       localnets;
   };
};

/etc/bind/db.example.com文件是:

$ttl 1D
$ORIGIN example.com
@                       IN  SOA example.serverdomain. root.example.serverdomain.(
                           20051901    ;Serial
                           10800       ;Refresh
                           3600        ;Retry
                           604800      ;Expire
                           38400       ;Negative Cache TTL
                       )
@                       IN  NS  example.serverdomain.
example.com.            IN  NS  ns1.example.com.
example.com.            IN  NS  ns2.example.com.
example.com.            IN  A   51.222.30.103
www.example.com.        IN  A   51.222.30.103
ftp.example.com.        IN  A   51.222.30.103
localhost.example.com.  IN  A   127.0.0.1
mail.example.com.       IN  A   51.222.30.103
example.com.            IN  MX  5 mail.example.com.

我在 intodns.com 上進行了測試,我得到了這個

不匹配的 NS 記錄 警告:您的一個或多個名稱伺服器未返回您的任何 NS 記錄。錯誤

DNS 伺服器已響應錯誤:您的一個或多個名稱伺服器未響應:未響應的是:51.222.30.103

那麼…… 配置有什麼問題?

在我看來,這與您的 DNS 伺服器無關。

當您有父域的子域記錄時,您需要粘合記錄。這些是根名稱伺服器中的條目,將這些域硬編碼為 IP 地址。聽起來這些需要更新以使您的 DNS 正常工作 - 與您的註冊商討論它,因為這不是在您的名稱伺服器上完成的。

請記住,權威名稱伺服器有技術要求。那裡也提到了阻止您的名稱服務工作的目前配置問題:

膠水與權威數據的一致性

對於將 IP 地址列為粘合的名稱伺服器,IP 地址必須與該主機的權威 A 和 AAAA 記錄匹配。

您已通過註冊商將必要的粘合記錄添加到父區域,但區域本身沒有相應的A記錄,即您的區域失去:

ns1.example.com.        IN  A   51.222.30.103
ns2.example.com.        IN  A   51.222.30.103

現在,還有另一個問題:兩者都指向同一個伺服器。那不行:

名稱伺服器的最小數量

一個委託中必須至少列出兩個 NS 記錄,並且主機不得解析到相同的 IP 地址。

網路多樣性

名稱伺服器必須位於至少兩個拓撲分離的網路中。網路被定義為 BGP 路由表中的源自治系統。通過檢查 BGP 路由表的視圖來評估要求。

您的註冊商或 VPS 提供商都可以提供輔助名稱伺服器作為服務。這應該在建構自己的名稱服務之前解決,但由於您的註冊商已經允許您為兩個名稱伺服器使用相同的 IP 地址,因此您仍有時間解決此問題。一些註冊商在允許更改名稱伺服器之前會執行測試。(在過去的美好時光,例如.fi當局對此非常嚴格,錯誤配置的名稱伺服器甚至可能導致完全取消域。)

最後,你的SOA記錄也有問題。它應該具有您的主要權威名稱伺服器的有效 FQDN 主機名( MNAME) 和負責該區域的管理員的工作電子郵件地址 ( RNAME),例如hostmaster@example.com

example.com. IN SOA ns1.example.com. hostmaster.example.com. 2020052000 10800 3600 604800 38400

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