域名 abc.com 有两个 Web 服务器,分别位于印度和马来西亚。如果服务器根据请求的来源位置来处理请求,那么当我的客户端系统配置为印度本地 DNS 服务器或马来西亚 DNS 服务器时,DNS 服务器如何解析这种地理分布的服务器?
温暖的问候
苏普拉提克
答案1
有两种方法可以实现这一点。一种是 tore 提到的地理感知 DNS,另一种方法是使用 Anycast DNS。(参见:Geo-DNS 提供商?)
Anycast DNS 略有不同,因为权威 DNS 服务器会公布一个 IP 地址,但位于不同的位置(例如一个在马来西亚,一个在美国)。当有人查询 Anycast DNS 时,他们会到达最近的服务器,每个服务器都会有不同的答案集。(见:http://www.netlinxinc.com/netlinx-blog/45-dns/118-introduction-to-anycast-dns.html)
答案2
您需要的是自己的地理感知 DNS 服务或联系可以为您提供此服务的提供商。
如果 DNS 服务器具有地理感知功能,它会查看请求查找 abc.com 的 IP,并根据该 DNS 服务器设置,返回位置 A 或 B 的 IP。
为了简化它,您可以设置一个 DNS 服务器,对所有请求返回 127.0.0.1 作为区域 google.com 的 IP,除非您来自欧洲。
答案3
据我所知,DNS 中没有任何内容可以根据请求者的地理位置将一个主机名解析为不同的 IP 地址。DNS 不知道也不关心你在哪里、它在哪里,也不关心它要求解析的主机在世界地图上的位置,只关心它在互联网地图上的位置。
您可能需要在www.example.com它查看用户的 IP,然后从中提取内容印度.example.com或者malaysia.example.com等等,具体取决于用户的位置,或者如果流量非常大,则与 akamai 这样的公司合作。
答案4
不是。DNS 根本不在乎。每个缓存区域的服务器都会在其拥有的所有 IP 地址之间进行轮询。要点。
如果您想要高效路由,则必须在 UNICAST IP 地址下发布 Web 服务器。这需要大量基础设施。普通托管商不会这样做 ;)