名稱伺服器的正確設定方式

名稱伺服器(NameServers) 的作用是將 DNS 的管理權向下授權,意思就是如果你指定了這個域名的 NameServer 紀錄,表示此域名的 DNS 紀錄管理權已經授權到其他機器。

每個網域名稱在註冊時,其實不需要登記名稱伺服器,只是這個時候網域會是未啟用(inactive)狀態,無法解析,但可以先註冊這個域名,然後增加名稱伺服器之後,網域就會自動啟用開始解析,這是域名管理局的功能。那為什麼你在新申請網域名稱的時候要填入名稱伺服器呢?這跟使用者體驗比較有關係,因為一般使用者會認為購買域名後就應該要馬上解析,所以註冊商都會在您註冊網域時請你提供名稱伺服器,或是會帶入註冊商自己的名稱伺服器,這樣註冊跟解析都會快一點。

名稱伺服器(NameServer)

NameServer 簡稱為 NS (大寫) 紀錄,其實就是名稱伺服器的英文,想知道你域名的名稱伺服器是那一台,請連到 Google Public DNS 輸入自己的域名(沒有 www), 然後改 RR type 為 NS 就可以看到。

域名的 DNS 紀錄授權到名稱伺服器

我們在使用域名的時候,通常都會架設網站或是郵件,架設網站的時候通常需要設定 A 指向或是 CNAME,所以需要有一台機器來紀錄這些 DNS 紀錄,這樣當有人要查詢 www.yourdomain.com 的時候,就會由這台機器來回應最正確的資訊,那別人怎麼找到你的機器呢?就是透過 NS 紀錄,每個域名的 NS 紀錄表示者哪些機器有這個域名的解析資料,所以 DNS 查詢就會自動轉跳到名稱伺服器去,譬如本網域的名稱伺服器就是:

]$ dig rsync.tw ns +short
ns3.gandi.net.
ns2.gandi.net.
ns1.gandi.net.

所以有關於任何 rsync.tw 的 DNS 紀錄都會由這台三機器來回覆資料才是最正確的,叫做權威伺服器回答(Authoritative Nameserver)

代管是什麼?自管(自架)又是什麼?

其實對域名的解析來說,沒有什麼自管或是代管,就只看 NS 紀錄指到那一個機器,查詢就會自動轉到那邊去,代管就是這台機器放在你指定的廠商,自管就是你自己有對外網路,自己架設了 DNS 伺服器。

如果是代管,就需要知道廠商的 NS 名稱與 IP 位址,然後把他填入域名的名稱伺服位址欄位,就變成代管,如果是填入自己架設的電腦位址,那就是自管,只能填入名稱伺服器的位址,千萬不要在名稱伺服器填入 168.95.1.1 或是 8.8.8.8 ,那是快取伺服器,並不是域名管理主機(又稱權威伺服器)。

為什麼 NS 要有兩台?

這是 ICANN 的國際規定,其實只是建議,因為名稱伺服器其實也只是一台電腦,電腦總是有壞掉的時候,或是網路發生故障,會造成 DNS 解析失效,所以 ICANN 建議每個域名的名稱伺服器都必須有兩台以上,DNS 查詢的時候會發現一台失效了,會自動轉跳到另外一台。

如果你是自架的,而且只有一台電腦,你可以在名稱伺服器填入 dns1.example.com 與 dns2.example.com 然後填入同樣的 IP 位址。

什麼是 Lame Server

如果你有兩台名稱伺服器,則不論你在任何情況下查詢 NS 紀錄,都應該只出現兩台,如果你有五台,也是同樣道理,如果某一台 NS 出現了不同數量的名稱伺服器,這種情況就叫做 Lame Server,例如:

]$ dig +short rsync.tw ns
ns3.gandi.net.
ns2.gandi.net.
ns1.gandi.net.
]$ dig @ns1.gandi.net. +short rsync.tw ns
ns1.gandi.net.
ns2.gandi.net.
ns3.gandi.net.
]$ dig @ns2.gandi.net. +short rsync.tw ns
ns1.gandi.net.
ns2.gandi.net.
ns3.gandi.net.
]$ dig @ns3.gandi.net. +short rsync.tw ns
ns1.gandi.net.
ns2.gandi.net.
ns3.gandi.net.

你可以看到不論我對那一台 DNS 發出 NS 的查詢,回覆都是一樣的(順序沒有關係),如果你當中某一台回覆了不同數量(甚至不同名稱) 的 NS,會造成解析出現問題。

會出現什麼問題呢?答案就是不穩定,就是你的 DNS 解析會時好時壞,怪怪的又查不出原因,有可能就是 Lame Server。



發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *