Ultradns.comまたはcomwired.comで、場所に応じて複数のAレコードを選択できます。
x.com (United States) 174.1.1.1
x.com (Europe) 65.2.2.2
そのため、リクエストは、近接性/発信元に基づいてルーティングされます。
これは何度でも行うことができます。これは、分散アプリケーションのニーズに最適なサービスです。
ただし、これは自分のサーバーで管理したいと考えています。これを行うLinuxパッケージを知っていますか?
さまざまなDNSサーバーでGeoIPを実行するために利用可能なパッチがあります。
バインド: http://www.caraytech.com/geodns/
RPMを含むBindパッチの適切な記述: 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/
ウィキペディアは geoip backend を使用して、無料のソフトウェア(無料のビールだけでなく、無料のスピーチなど) PowerDNS を使用しています。
すべてのGeoIPデータベースは不完全であり、地理的な場所は特定のサーバーまでのネットワーク距離を推定するのに適さないツールであることを覚えておいてください。 [〜#〜] ics [〜#〜] のようなプロトコルは、はるかに優れたソリューションです。
私が指摘したいのは、ip2location BIND ACLファイルはサブスクリプションベースであるため、コストがかかることです。 http://phix.me/geodns/ で説明されているメソッドを使用すると、無料でダウンロードできるMaxMind CSVファイルを使用して、だれでも無料で独自のBIND ACLファイルを作成できます。より正確です(正確さはほとんどの人が支払うものです)。
正接で、誰かがIPv6ネットワークで地理認識BINDを探している場合、128ビットの数値を処理できるスクリプトを追加して http://phix.me/geodns/ のページを更新しましたCSVファイル内。 MaxMindがダウンロード可能なGeoIPv6 CSVファイルを提供していることを今日知りました。これらのスクリプトは、BIND用のGeoIPv6.aclファイルを生成するために動作します。
また、GeoIPやその他多くのことを実行できるようにするための http://code.google.com/p/Ruby-pdns/ も参照してください。