Existem patches disponíveis para fazer o GeoIP em vários servidores DNS.
Vincular: link
Bom writeup de patches Bind, inclui RPMs: link
djbdns: link
Também é interessante esse hack, que envolve não corrigir o Bind: link
No ultradns.com ou no comwired.com, você pode selecionar vários registros A dependendo da localização;
x.com (United States) 174.1.1.1
x.com (Europe) 65.2.2.2
Assim, as solicitações são roteadas com base na proximidade / de onde elas vêm.
Você pode fazer isso quantas vezes quiser, o que é um excelente serviço para as necessidades de aplicativos distribuídos.
No entanto, queremos gerenciar isso em nossos próprios servidores. Você conhece algum pacote linux que faz isso?
A Wikipedia usa o PowerDNS gratuito (como em liberdade de expressão, não apenas como cerveja grátis), com um < href="http://en.wikipedia.org/wiki/Powerdns#PowerDNS_and_Wikimedia"> backend do geoip .
Lembre-se apenas que todos os bancos de dados GeoIP são imperfeitos e que a localização geográfica é uma ferramenta ruim para estimar a distância da rede para um determinado servidor. Protocolos como o ICS são uma solução muito melhor .
Veja também o link para algo que lhe permite fazer o GeoIP e muito mais.
Gostaria apenas de salientar que o arquivo BIND ACL ip2location é baseado em assinatura e, portanto, custos. Os métodos descritos no link permitem que qualquer pessoa crie seu próprio arquivo BIND ACL gratuitamente, usando o arquivo MaxMind CSV, que pode ser baixado gratuitamente. o ip2location é provavelmente mais preciso (precisão é o que a maioria das pessoas paga).
Em uma tangente, se alguém estiver procurando BIND geo-ciente na rede IPv6, atualizei a página no link com scripts adicionais que podem processar números de 128 bits em um arquivo CSV. Acabei de descobrir hoje que a MaxMind oferece um arquivo CSV GeoIPv6 para download, no qual esses scripts operarão para produzir um arquivo GeoIPv6.acl para o BIND.