Geographical DNS

We need to have Geographical DNS, I think that’s what you call it. I looked into companies (neustar) that support this but found that they are really really expensive for what you get! So for starters I just used Round Robin DNS but it’s not a great solution. The problem with this approach is that you never really know what webserver you will get.

I found this website which patched Bind to allow Maxmind’s GEOIP support. The patch is for bind 9.4.1-P1 but a few changes and it worked for 9.4.2. I built a dep of the patched Bind using checkinstall. I install the Debian version of maxmind GEOIP. With a lot of tweaks to bind I finally got it working. I’m in the process of testing it to death and setting up a slave DNS with the same config. I hope that the slave will be a lot easier to setup.

I did some testing and its works :)

if we add more web servers in a region all i have to do is to update the named.conf file with country ID’s and request from that country/countries get directed to that web server(s).

Update: To allows slave master configuration : named.conf had to be setup using keys for each view.
example:

key “test” {
algorithm hmac-md5;
secret “Randomly generated key”;
};

in the view section
view “test” {
match-clients {key test ; country_IE };
}
This has to be done for all views, * the keys have to be different for all views.

Also have a look at this guys python script.
HiredGnu

This entry was posted in linux, work. Bookmark the permalink.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>