Customers who subscribe to our GEO DNS service will see the GEO DNS sub-tab within the Cloud DNS section of the cloud management portal. Your ability to see this tab is determined by your subscription and the permissions assigned to your user account. If you know you subscribe to GEO DNS but do not see the tab, ask your company administrator to assign the necessary permissions to your user role.

Don’t want to read the manual? Watch our quick start video: How to use GEO DNS

What is GEO DNS?

GEO DNS is a custom solution we created that gives you the ability to manipulate the DNS response for ‘A’ records based on the origin of the user making the DNS query. Simply put, when a user requests www.example.com in the United States, you can have DNS respond with the IP of 1.1.1.1. When a different user in Europe makes the same request for www.example.com, you can have DNS respond with the IP of 2.2.2.2. This allows you to send users to a server that is more appropriate for them, which could be one that is closer, or one that delivers content in another language.

Total Uptime GEO DNS supports giving out unique IP addresses for 10 distinct geographic regions of the world. These regions are as follows:

  • North America
  • Central America and Caribbean
  • South America
  • Europe
  • Middle East
  • Africa
  • East and Southeast Asia
  • Central Asia
  • South Asia
  • Australia – Oceania

Can GEO DNS get more granular than these 10 regions?

It is possible that we could break it down further to the country level, but we have found two significant reasons not to do this or not to break it down any further, for example by state in the USA. First, most clients use this for the purposes of sending users to content that is within a particular continent or region. This serves that purpose perfectly. Secondly, GEO DNS does not reliably go down to the state or province level within the United States or Canada. This is due to the fact that GEO DNS databases are based off the address information stored in RIR databases. Here is real simple proof of this problem. Check out the IP of 206.190.36.45 in the ARIN database. You will see that the address is registered to 701 First Avenue in Sunnyvale, CA. Most GEO DNS databases will then assume that this IP resides there, like the one behind this tool, but that is not true. The IP is actually located in Yahoo’s Quincy, WA data center, and you can confirm that by running various traceroutes from locations near Sunnyvale, CA to see that it is nowhere near.

Configuring your first GEO Zone pool

When you first open the GEO Zones sub-tab, you will see something similar to what is shown in the image below.

geo-dns-zone

This is the default view when no pools have been configured. A button is shown, “No GeoZone Pools – Add a New Pool” prompting you to create your first pool.

You will also notice that IPv4 and IPv6 GEO Zones are grouped separately, making it easy to keep all pools that impact ‘A’ records separate from those that impact ‘AAAA’ records.

Note: It is okay to configure a GEO Zone Pool now. It won’t impact DNS whatsoever until you attach it to an ‘A’ record, so go ahead, follow along and create one!

To begin creating your first GEO Zone Pool, simply click the large grey button shown circled in red in the image above “No GeoZone Pools – Add a New Pool” to get started. When you do, the dialog box shown below will become visible.

geo-zone-pool

This dialog will walk you through creating the pool and the base settings. Adding IP addresses for each region of the world happens in the second step (which we will cover below) after the base pool configuration is created. Most of the fields are required in order to create a new pool and are defined as follows:

Geo Zone Pool Name
This can be any name you choose, since it is for your reference only. For example, you may wish to call it “public website pool”. Don’t spend too much time here, it’s easy to change later. This name will be used when selecting the pool when adding/editing your ‘A’ records.

Global Entry
This is the IP address that is given out by default when a more specific IP for a region has not been created or provided. The example above shows three options for the Global Entry, allowing you to choose the default IP be specified by a Failover Pool, an ALF Pack (Cloud Load Balancer) or manually configured. For our example here, we’ll specify an IP address manually and set it to 1.2.3.4.

When you have completed both of the settings, click the submit button to save it. You will then see a table like the one shown below.

first-geozone-pool

You now need to enter IP addresses for each of the geographic regions we listed at the beginning of this article. To do that, open your pool by clicking the black arrow icon circled in red above, or select the row in the table and click the edit button on the tool bar. You will now see the expanded table like the one shown below, which looks empty (does not have any rows).

adding-geo-region-entries

Click the add button on the inner tool bar as circled in red above to add your first entry. When you do that, you will see a dialog box like the one shown below.

add-geo-entry

For each entry, you will need to specify the zone that is applicable, and the IP address that you wish to give out for that zone.

Zone
This is one of the 10 regions of the world that we listed above that the IP address will be given to when a user with an IP address in that region makes a request.

Entry Type
This is the IP address that will be given out as a DNS ‘A’ record for this region. The example above shows three options for the entry, allowing you to choose the IP be specified by a Failover Pool, an ALF Pack (Cloud Load Balancer) or manually configured. For our example here, we’ll specify an IP address manually and set it to 2.2.2.2.

When you have provided the two pieces of information, click the submit button to save it and add it to your pool. Your table will then look something like this.

geo-table

Continue adding Geo Zone Pool Entries for the regions of the world that you wish to provide unique IP addresses. Not all regions are mandatory, however. For example, if you only have a web server in the USA and another in Europe, you need only specify the North America and Europe regions, setting the global IP in the base configuration to one or the other or even a third location. Of course, if you want to ensure that users from a particular region go to one of the IPs you specify instead of the global IP, you must create an entry. Entries can have the same IP.

Assigning a Geo Zone Pool to an ‘A’ record in DNS.

Now that you’ve configured a Geo Zone Pool, you have one more step before it is actually used in DNS. To make it active in DNS, you need to go to the Domains tab, and then expand your domain and the ‘A’ records like we’ve shown in the image below.

assigning-failover-pool-to-a-record

Note: If you have not created any ‘A’ records yet, you’ll need to click the Add New Record Type button shown in the image above to add it first.

You now need to assign the Geo Zone pool to a specific ‘A’ record. If you have one already created, you can select it with your mouse and click the edit button from the tool bar, or if you would like to create a new ‘A’ record, you can click the add button from the tool bar instead. This will show a dialog box somewhat similar to the one shown below.

using-geo-in-an-a-record

As highlighted in red, select your Geo Zone pool from the drop-down menu. This will disable the IP Address text box because it is now being controlled by the Geo Zone. When you click the submit button to save, you will return to the table and will also see that the IP address is blank, but over on the right the Geo Zone is shown. This completes the process! Now all you need to do is use a cool ping tool like this one to ensure it is working from around the world!