Domain-Name-System

如何使用 DNS 將訪問者發送到最近的伺服器?

  • September 19, 2020

有沒有辦法本地化 dns 條目?這意味著,來自亞洲的使用者將 mydomain.com 解析為另一個 IP,而不是來自美國或歐洲的使用者。這將有助於為使用者提供附近的伺服器。DNS 是迄今為止唯一使用的技術,這意味著我無法放置一些軟體路由或中央系統來代替 dns 來解決這個問題。

是的,目前有兩種流行的解決方案來解決這個問題。

第一個稱為Anycast,其中同一個 IP 塊實際上在世界各地的多個位置使用。也就是說,您域的名稱伺服器始終返回相同的 IP 地址,但該 IP 地址實際上分配給了不止一組物理伺服器。

你可以在這裡閱讀更多關於它的資訊http://en.wikipedia.org/wiki/Anycast

第二種技術再次涉及 AnyCast,但是這一次,被選播的 IP 地址範圍是指我們的名稱伺服器本身。由於名稱伺服器也只會從最接近的客戶端請求(由 BGP 的魔力決定),它們自己可以返回邏輯上對客戶端本地的 IP 地址。

Google的 l.google.com 域就是一個例子

來自澳大利亞的房東

crimson:~ dave$ host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com is an alias for www-notmumbai.l.google.com.
www-notmumbai.l.google.com has address 66.249.89.99
www-notmumbai.l.google.com has address 66.249.89.147
www-notmumbai.l.google.com has address 66.249.89.103
www-notmumbai.l.google.com has address 66.249.89.104

來自美國的主機

[dave@odessa ~]$ host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 74.125.95.99
www.l.google.com has address 74.125.95.147
www.l.google.com has address 74.125.95.104
www.l.google.com has address 74.125.95.106
www.l.google.com has address 74.125.95.105
www.l.google.com has address 74.125.95.103

因此,CNAMEwww.google.com解析為www.l.google.com,但是當您解決該問題時,根據您的位置,您的客戶端會收到一組不同的 IP 地址。這是因為接收請求的名稱伺服器www.l.google.com本地名稱伺服器,相對於客戶端。

引用自:https://serverfault.com/questions/118653