Debian

本地 NS 列表與父 NS 列表不匹配

  • June 29, 2017

我安裝了一個新的 BIND 伺服器“dns4.clicplus.com”,它可以從本地網路和外部正確解析。問題是當我測試時:

# dig @8.8.8.8 dns4.clicplus.com

沒有返回任何內容(google dns 不知道此記錄)。這也使用 www.mxtoolbox.com dns 檢查進行驗證:

在此處輸入圖像描述

這就是 Internet 的其餘部分(不使用您的名稱伺服器)嘗試查找該名稱的方式(輸出來自dnstracer -s . -o -4 dns4.clicplus.com):

A.ROOT-SERVERS.NET [.] (198.41.0.4) 
|\___ m.gtld-servers.net [com] (192.55.83.30) 
|     |\___ dns1.clicplus.com [clicplus.com] (62.251.202.3) 
|      \___ dns2.clicplus.com [clicplus.com] (41.137.37.37) 
|\___ l.gtld-servers.net [com] (192.41.162.30) 
⋮

從根名稱伺服器( 的名稱伺服器.)開始查找 的名稱伺服器com.。然後從這些伺服器之一,名稱伺服器為clicplus.com.. 然後詢問其中一個名稱伺服器dns2.clicplus.com.(實際上,每個名稱伺服器都被要求提供全名,但除了最後一個,只返回“去詢問該伺服器”響應)。

您有兩個大問題(目前——也許其中一些是由於在更改不起作用後退出更改):

  1. 您需要告訴 gtld-servers 您的其他 DNS 伺服器。dns4 失去;大概 dns3 也應該在那裡。這是通過您的域名註冊商完成的。如果您登錄到他們的網站,應該有一個地方可以為您的域設置 DNS 伺服器。另外,由於DNS伺服器在您的域下,您需要向您的註冊商註冊伺服器IP,這可能是第二步。
  2. dns1 和 dns2 不知道 dns4(他們說它不存在)。您需要確保域中的所有NSDNS 伺服器都擁有和AAAAA如果使用 IPv6)記錄。必須在所有名稱伺服器上傳入相同的區域。通常,使用 BIND,這是通過讓一個主伺服器和其他所有從它傳輸區域來完成的。

引用自:https://unix.stackexchange.com/questions/374218