Alejandro Acosta

(this is -almost- a copy / paste of an email sent by Erik Sundberg to nanog mailing list on August 23). This post is being posted with his explicit permission.

I sent this out on the outage list, with a lots of good feedback sent to me. So I figured it would be useful to share the information on nanog as well.

A couple months ago had to troubleshoot a google DNS issue with Google’s NOC. Below is some helpful information on how to determine which DNS Cluster you are going to.

Let’s remember that Google runs DNS Anycast for DNS queries to and Anycast routes your DNS queries to the closes DNS cluster based on the best route / lowest metric to Google has deployed multiple DNS clusters across the world and each DNS Cluster has multiple servers.

So a DNS query in Chicago will go to a different DNS clusters than queries from a device in Atlanta or New York.

How to get a list of google DNS Cluster’s

# dig -t TXT +short @

How to print this list in a table format. Script from:

for LOC in $(dig -t TXT +short @  
  case $LOC in  
    '') : ;;  
    *.*|*:*) printf '%s ' ${LOC} ;;  
    *) printf '%s\n' ${LOC} ;;  

Which will give you a list like below. This is all of the IP network’s that google uses for their DNS Clusters and their associated locations. iad iad syd lhr mrn tpe atl mrn tul lpp bru cbf bru lpp chs cbf chs lpp dls dub mrn cbf lpp cbf tul mrn atl cbf bru cbf cbf chs dls dls sin tul lhr lhr sin syd syd fra fra fra bom bom gru atl gru cbf scl tpe cbf tul chs lpp tul mrn tul atl cbf nrt nrt nrt iad grq grq tpe  
2404:6800:4000::/48 bom  
2404:6800:4003::/48 sin  
2404:6800:4006::/48 syd  
2404:6800:4008::/48 tpe  
2404:6800:400b::/48 nrt  
2607:f8b0:4001::/48 cbf  
2607:f8b0:4002::/48 atl  
2607:f8b0:4003::/48 tul  
2607:f8b0:4004::/48 iad  
2607:f8b0:400c::/48 chs  
2607:f8b0:400d::/48 mrn  
2607:f8b0:400e::/48 dls  
2800:3f0:4001::/48 gru  
2800:3f0:4003::/48 scl  
2a00:1450:4001::/48 fra  
2a00:1450:4009::/48 lhr  
2a00:1450:400b::/48 dub  
2a00:1450:400c::/48 bru  
2a00:1450:4010::/48 lpp  
2a00:1450:4013::/48 grq

There are  
IPv4 Networks: 68  
IPv6 Networks: 20  
DNS Cluster’s Identified by POP Code’s: 20

DNS Clusters identified by POP Code to City, State, or Country. Not all of these are Google’s Core Datacenters, some of them are Edge Points of Presences (POPs). and

Most of these are airport codes, it did my best to get the location correct:

iad Washington, DC  
syd Sydney, Australia  
lhr London, UK  
mrn Lenoir, NC  
tpe Taiwan  
atl Altanta, GA  
tul Tulsa, OK  
lpp Findland  
bru Brussels, Belgium  
cbf Council Bluffs, IA  
chs Charleston, SC  
dls The Dalles, Oregon  
dub Dublin, Ireland  
sin Singapore  
fra Frankfort, Germany  
bom Mumbai, India  
gru Sao Paulo, Brazil  
scl Santiago, Chile  
nrt Tokyo, Japan  
grq Groningen, Netherlans

Which Google DNS Server Cluster am I using. I am testing this from Chicago, IL

# dig -t txt +short @  
"" <<<<<<DNS Server IP, reference the list above to get the cluster, Council Bluffs, IA  
"edns0-client-subnet" <<<< Your Source IP Block

Side note, the google dns servers will not respond to DNS queries to the Cluster’s Member’s IP, they will only respond to dns queries to and So the following will not work.
dig @

Now to see the DNS Cluster load balancing in action. I am doing a dig query from our Telx\Digital Realty POP in Atlanta, GA. We do peer with google at this location.

I dig a dig query about 10 times and received the following unique dns cluster member ip’s as responses.

dig -t txt +short @  


Which all are Google DNS Networks in Atlanta. atl atl atl atl
2607:f8b0:4002::/48 atl

Just thought it would be helpful when troubleshooting google DNS issues.

(this is -almost- a copy / paste of an email sent by Erik Sundberg to nanog mailing list on August 23). This post is being posted with his explicit permission.