Ubuntu

有些人無法連接到我的域名伺服器託管的域

  • June 20, 2011

我已經使用 bind9 為我的 VPS 服務設置了名稱伺服器。我的伺服器安裝了 Ubuntu 10.04LTS。

我面臨的問題是,對於某些人來說,他們根本無法連接到我的伺服器。我認為這與 DNS 設置有關。

為了測試這個問題,我做了以下測試。可以說我的伺服器作為伺服器 A(名稱伺服器)。

從隨機伺服器 B,如果我dig到我的伺服器 A 上託管的域之一,它總是找到返回“NoError”結果。(這意味著成功)

但是,對於隨機伺服器 C,如果我dig到我的伺服器上託管的一個域,大約一半的時間,它返回SERVFAIL結果,另一半返回“NoError”。這真的很奇怪,因為幾秒鐘前成功的探勘怎麼會失敗?

使用我的名稱伺服器(綁定)的域之一如下所示。

$TTL    604800
@       IN      SOA     ns.xxxx.net. admin.xxxx.net. (
                       20110120        ; Serial
                        604800         ; Refresh
                         86400         ; Retry
                       2419200         ; Expire
                        604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.xxx.net.
@       IN      A       xxx.xxx.xxx.78
ns      IN      A       xxx.xxx.xxx.78
www     IN      A       xxx.xxx.xxx.78

是否有任何異常可能導致問題?有人說 TTL 604800 太長了.. 是嗎?

首先,如果您最近更改了域的名稱伺服器,那麼傳播是一個可能的原因。無論如何,下面的測試應該有助於確定配置是否正確。

***測試 1:***確定為您的域配置的 DNS 伺服器。執行並記下以下命令的結果:

$ whois domain.com- 顯示 WHOIS 記錄已列為您的名稱伺服器(是的,這可以從大多數 *nix 系統的命令行完成)

$ dig +trace ns domain.com- 交叉引用 WHOIS 上列出的 NS 與 DNS 伺服器所說的內容(+trace提供查詢時命中的伺服器的詳細視圖,“ns”查詢域的 NS 記錄)。理想情況下,您希望在伺服器 B 和伺服器 C 上執行它並比較結果

$ dig +trace domain.com- 只是為了更好地衡量,請查看 dig 查詢僅針對域本身所說的內容。同樣,在兩台機器上進行此測試。

注意:我相信這是您可能會看到失敗的地方。聽起來您的一個名稱伺服器由於某種原因沒有響應。這可能是由於您的 DNS 伺服器之一設置或傳播不正確。

***測試 2:***直接查詢您的名稱伺服器以確保它們都正確設置

理想情況下,您應該在兩台單獨的機器上為您的域配置兩個名稱伺服器。許多人不這樣做(我假設如果他們的域名伺服器發生故障,他們的域無法解析,這沒什麼大不了的)。我們將查詢兩個名稱伺服器以確保返回正確的 IP 地址。使用以下方法執行此操作:

$ dig @ns1.domain.com domain.com- 將“ns1.domain.com”替換為您的 DNS 伺服器的 IP 地址或主機名(IP 地址以便更好地衡量)。

同樣,測試第二個名稱伺服器並確保它提供正確的值:

$ dig @ns2.domain.com- 同樣,將“ns2.domain.com”替換為您的 DNS 伺服器的 IP 地址或主機名(IP 地址以便更好地衡量)。

這些測試應顯示任何一台機器的配置或 DNS 解析過程中的任何異常。

希望有幫助。如果您仍有問題,請發布結果。

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