在 ultradns.com 或 comwired.com 上您可以根据位置选择多个 A 记录;
x.com (United States) 174.1.1.1
x.com (Europe) 65.2.2.2
因此,请求将根据接近度/来源位置进行路由。
您可以根据需要多次执行此操作,这对于我们的分布式应用程序需求来说是一项很棒的服务。
但是,我们希望在自己的服务器上管理它。你知道有哪个 Linux 软件包可以做到这一点吗?
答案1
有补丁可用于在各种 DNS 服务器中执行 GeoIP。
绑定: http://www.caraytech.com/geodns/
Bind 补丁的良好描述,包括 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
这个 hack 也很有趣,它不涉及修补 Bind: http://phix.me/geodns/
答案2
答案3
另请参阅http://code.google.com/p/ruby-pdns/它能让你实现 GeoIP 以及更多功能。
答案4
我只想指出 ip2location BIND ACL 文件是基于订阅的,因此需要付费。http://phix.me/geodns/允许任何人免费创建自己的 BIND ACL 文件,使用免费下载的 MaxMind CSV 文件,尽管 ip2location 文件可能更准确(准确性是大多数人付费追求的)。
顺便说一下,如果有人在 IPv6 网络上寻找地理感知 BIND,我已经更新了页面http://phix.me/geodns/带有可以处理 CSV 文件中的 128 位数字的更多脚本。我今天刚刚发现 MaxMind 确实提供了可下载的 GeoIPv6 CSV 文件,这些脚本将对该文件进行操作以生成用于 BIND 的 GeoIPv6.acl 文件。