你是否是一個使用國外 DNS 的中國網民?你是否發現使用國外 DNS 之後訪問某些國內網站奇慢無比?這不是 DNS 慢,而是電信到聯通的線路太慢。如果你願意小小地折騰一下,那麼跟隨本文,你可以解決這一問題。
一、為什麼要用國外 DNS
由於眾所周知的問題,國內 DNS 服務器解析國外網站會遭到 DNS 污染和投毒,使之解析到完全虛構的 IP 上,造成「開了 VPN 也沒法訪問 Twitter 或 Facebook」等問題。以下是一個例子:
wzyboy@vermilion:~$ dig twitter.com @8.8.8.8 +short
199.59.148.82
199.59.149.230
199.59.148.10
wzyboy@vermilion:~$ dig twitter.com @221.228.255.1 +short
93.46.8.89
Twitter 正確的 IP 地址應該是 199.59.148.0/24 裡的那幾個,但是如果用 221.228.255.1 這台中國電信的 DNS 服務器查詢,查到的就是不知道什麼鬼地址了,地理信息是在意大利,亂七八糟的。正是因為這樣的 DNS 解析不正確的情況出現,不少人轉而使用了國外的 DNS 服務器,如老牌的 OpenDNS 以及這幾年新崛起的好記又好用的 Google Pulic DNS 即 8.8.8.8 和 8.8.4.4。使用它們進行查詢,再配合以 VPN 或者浏覽器的遠程 DNS 解析,便可避免 DNS 污染的情況出現,從而解析出正確的地址。
此外,拒絕使用電信的 DNS 服務器,還可以避免煩人的「114 上網導航」頁面……
二、為什麼使用國外 DNS 會「慢」
我是在「慢」上加了引號的,因為這其實不是國外 DNS 慢,而是你要訪問的網站的 CDN 分配錯誤,慢。由於國內各大運營商之間的主干線路帶寬太窄,所以導致「最遠的距離是從電信到網聯通」,電信用戶訪問聯通的服務器非常慢,聯通用戶訪問電信的服務器也非常慢,相信這都是大家有體驗的。因此,國內不少網站都用了雙線 CDN,在電信的機房裡放點服務器,再在聯通的機房裡放點服務器。運用智能 DNS 技術,當你訪問網站的時候,DNS 根據你的來源 IP 判斷你是電信用戶還是聯