交大詭異 DNS 問題

最近 apt-get update 的時候經常會失敗,試了發現這兩個 domain 問交大 DNS 有時候不會有 response:

  • download.opensuse.org
  • security.ubuntu.com

試了一下其他 domain ,常出事的有 .org .com .net , .tw 的 domain 幾乎不會有事。

dig @140.113.1.1 download.opensuse.org +trace 這個 query 雖然指定了要使用的 DNS server ,但是加了 trace 所以事實上只有第一個 query 才會問 140.113.1.1 。整個詢問流程如下:

  1. 先去問 140.113.1.1 “." 的 authorative name server , 也就是 root DNS server (雖然我不懂爲什麼要問因爲不是每一臺電腦都內建 named.root 嗎?)
  2. 從上一個回應當中挑一臺來問 “.org" 的 authorative name server ,若挑的第一臺沒有回應則換第二臺,依此類推,這是從 wireshark 觀察到的結果。
  3. 從上一個回應當中挑一臺來問 “opensuse.org" 的 authorative name server ,依此類推

預設情形下,如果第一次詢問失敗,會再試一次,最多試3次,每一次詢問的 timeout 預設是5秒鐘。特別注意的是 dig 不會告訴你前面有幾次失敗,回傳的 query time 也不包含失敗的查詢,只包含成功的查詢所花的時間。

嘗試次數可以用 +tries=N 指定,timeout 可以用 +time=N 指定。

測試了其他地方的 DNS ,並不會出現像是交大一樣的問題。而且交大不只是 140.113.1.1 會有問題,測了好幾臺校內的 DNS 都有同樣的情形。

觀察到幾個現象:

  • 在交大網段內問一些 DNS server 的查詢時間會飆到很高(23xxx ms),有時候完全沒有回應,有時候又正常

發現問某幾臺 gtld-servers 和 root-servers 的 DNS query 掉包率很高,但是 ping 又一切正常。

似乎只要中間走的是 TWGATE ,就會有封包掉。

  • 192.5.5.241 :只有交大走 TWGATE,附中幾乎不會掉包
  • 199.249.112.1 :交大和附中都走 TWGATE

各級學校出國似乎主要有2條路徑,一是 TANET -> TWGATE ,另一是 TANET -> 中研院,交清中央陽明應該是直接接同一條 TWGATE 。

3/7 ,據說 TWGATE 換了某臺 router 的 STM-16 卡片就解了……

問題是如果那張卡會掉封包那 ICMP 封包也應該會掉啊……爲什麼只有 DNS query 掉?……

番外篇,爲什麼自己架的 DNS server 可以當 root-servers 的 slave ,以加快速度,但是卻不能當,譬如說 .com 的 slave ?

http://fixunix.com/tcp-ip/66711-axfring-com-zone-b-gtld-servers-net-doesnt-work.html

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s