在ultradns.com或comwired.com上,您可以根据位置选择多个A记录。
x.com (United States) 174.1.1.1
x.com (Europe) 65.2.2.2
因此,请求将根据接近程度/来自何处进行路由。
您可以根据需要进行多次操作,这对于满足我们的分布式应用程序需求是一项很棒的服务。
但是,我们要在自己的服务器上进行管理。您知道执行此操作的任何Linux软件包吗?
在ultradns.com或comwired.com上,您可以根据位置选择多个A记录。
x.com (United States) 174.1.1.1
x.com (Europe) 65.2.2.2
因此,请求将根据接近程度/来自何处进行路由。
您可以根据需要进行多次操作,这对于满足我们的分布式应用程序需求是一项很棒的服务。
但是,我们要在自己的服务器上进行管理。您知道执行此操作的任何Linux软件包吗?
Answers:
在各种DNS服务器中都有可用于执行GeoIP的补丁。
绑定:http: //www.caraytech.com/geodns/
绑定补丁的良好编写,包括RPM:http : //www.devco.net/archives/2006/07/11/location_aware_bind.php
djbdns:http ://www.anders.com/cms/276/tinydns.GeoIP.patch/djbdns/Geographically.Aware
同样有趣的是这种黑客攻击,其中涉及不修补Bind:http : //phix.me/geodns/
Wikipedia使用带有geoip后端的免费(如免费语音,不仅是免费啤酒)免费软件PowerDNS来这样做。
只需记住,所有GeoIP数据库都不完美,地理位置对于评估到给定服务器的网络距离是一个差的工具。像ICS这样的协议是一个更好的解决方案。
我只想指出ip2location BIND ACL文件是基于订阅的,因此要花很多钱。http://phix.me/geodns/上描述的方法允许任何人使用可免费下载的MaxMind CSV文件免费创建自己的BIND ACL文件,尽管被授予了ip2location可能更准确(准确性是大多数人们付钱)。
切线的是,如果有人正在寻找IPv6网络上的地理感知BIND,我已经在http://phix.me/geodns/上更新了该页面,其中包含其他脚本,可以处理CSV文件中的128位数字。我今天才发现,MaxMind确实提供了可下载的GeoIPv6 CSV文件,这些脚本将用于生成用于BIND的GeoIPv6.acl文件。