Linux

探勘:/etc/resolv.conf 解析失敗

  • May 1, 2020

我嘗試使用 dig,但標題中出現錯誤。

我的 /etc/resolv.conf 是這個

nameserver 67.207.67.2
nameserver 67.207.67.3

nameserver ns1.name.com
nameserver ns2.name.com
nameserver ns3.name.com
nameserver ns4.name.com

前兩個是預設的數字海洋 dns,另一個是給我的域名註冊商的。

所以我嘗試添加兩個cloudflare dns,文件是這樣的:

nameserver 1.1.1.1
nameserver 1.0.0.1

nameserver 67.207.67.2
nameserver 67.207.67.3

nameserver ns1.name.com
nameserver ns2.name.com
nameserver ns3.name.com
nameserver ns4.name.com

在我這樣做之後,探勘仍然沒有工作。

但是,如果我評論 *name.com 名稱伺服器,則 dig 有效:

nameserver 1.1.1.1
nameserver 1.0.0.1

nameserver 67.207.67.2
nameserver 67.207.67.3

#nameserver ns1.name.com
#nameserver ns2.name.com
#nameserver ns3.name.com
#nameserver ns4.name.com

事實是,如果我評論這些 *name.com 域名伺服器,我的網站會在幾分鐘後關閉。

那麼我怎樣才能離開這些 *name.com 名稱伺服器並能夠使用 dig 和 nslookup 之類的東西呢?

首先,只有IP Address後面應該跟nameserver. 你不能使用ns1.name.com,等等。你犯了一個基本的錯誤,/etc/resolv.conf就是用 using 來配置你的錯誤nameserverver ns1.name.com。您已經設法通過將它們註釋掉來解決這個問題。

其次,每個/etc/resolv.conf. 因此,您添加的任何第四個名稱伺服器都將被忽略。所以在你的/etc/resolv.conf,nameserver 67.207.67.3將被忽略。

引用手冊頁(man resolv.conf):

nameserver Name server IP address
             Internet address of a name server that the resolver should query, either an IPv4 address (in dot notation), or an IPv6 address in colon (and
             possibly dot) notation as per RFC 2373.  Up to MAXNS (currently 3, see <resolv.h>) name servers may be listed, one per  keyword.   If  there
             are  multiple  servers,  the resolver library queries them in the order listed.  If no nameserver entries are present, the default is to use
             the name server on the local machine.  (The algorithm used is to try a name server, and if the query times out, try the next, until  out  of
             name servers, then repeat trying all the name servers until a maximum number of retries are made.)

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