在討論 DNS 的穩定性時,都會要求要把網域名稱多設幾個 NS RR,而且要在不同的網路上。不過很多人都認為有兩台機器就好了,如果連外斷掉那麼服務本來就會中斷,沒有影響。
這是錯誤的觀念,尤其是電子郵件。
台大計中停電維修六個小時,而負責 ntu.edu.tw 的三台 DNS 主機都連不上。這使得 ntu.edu.tw 以及 *.ntu.edu.tw 的信件的進出都造成嚴重的異常。
進入的部份,我從交大寄信到 user@ntu.edu.tw
時會直接收到退信 (錯誤是 "Domain not found" 這類的訊息),但如果台大的 DNS 主機有請其他單位幫忙做 DNS Slave,那麼這封信會被交大的郵件系統暫時存放,而不會直接退給發信人。
出來的部份,假設有教職員在家使用 HiNet,以 user@ntu.edu.tw
的來源發信到交大,交大的郵件系統在檢查信件來源時,就會以 "Domain not found" 的訊息拒絕掉,這個問題一樣可以透過其他單位的 DNS Slave 解決。
這次影響的單位最少包括了:*.ntu.edu.tw (三台 DNS 主機都不通) 及 *.tp.edu.tw (三台 DNS 主機都在台大下游而不通)。
雖然 cschen 一直推這件事情,不過直到這兩年我才看到交大與工研院國網中心合作,雙方互相幫對方做 nctu.edu.tw 與 nchc.org.tw 的 DNS Slave。
Gmail 使用的 ns{1,2,3,4}.google.com 看起來很接近 (216.239.{32,34,36,38}.10),也是四個完全不同網段,這點可以從美國的主機 traceroute 走的路線看出來似乎有幾個是不同國家。
等台大網路恢復後,寄封信請他們改善這部份...
Update:工研院改成國網... :/
Update:我才寄了十分鐘,台大計中的 madeline 就回信說他們會朝這個方向改進,nice job :)