This page looks best with JavaScript enabled

How-To access Google sites and services via IPv6

IPv6 is here but how do we access Google services via IPv6 anyway? In this short tutorial, I am going to show you in simple steps how to do just that.

 ·   ·  ☕ 5 min read  · 
❄️ Yohan Yukiya Sese-Cuneta
    Fediverse Follow

    Google, the largest search engine today (and the “Microsoft” of the cyberworld), is slowly deploying IPv6 across their sites. But even if you are already connected to IPv6, you will still not get an IPv6 Google.

    Why? Their current IPv6 implementation is currently in its testing phase. All IPv6 access must come from a reliable network that they have to pre-approve, this is the Google over IPv6 project.

    How it works

    Google over IPv6 uses the IPv4 address of your DNS resolver to determine whether a network is IPv6-capable. If you enable Google over IPv6 for your resolver, IPv6 users of that resolver will receive AAAA records for IPv6-enabled Google services …

    Normally, if a DNS resolver requests an IPv6 address for a Google web site, it will not receive one…

    … but a DNS resolver with Google over IPv6 will receive an IPv6 address, and its users will be able to connect to Google web sites using IPv6.

    Google over IPv6

    So unless you are using a DNS with Google over IPv6 enabled, the only IPv6 Google website you will be able to use is ipv6.google.com. That’s sad! Especially if most of the sites you visit are still hosted on non-IPv6 enabled servers.

    Fortunately, there are many good-hearted people and corporations in the world today offering free access to their IPv6 DNS. We have Gogo6.com’s Freenet6 DNS and Hurricane Electric’s Tunnelbroker.net DNS.

    But how do we use these IPv6 DNS? Let me show you how.

    Ubuntu Linux way

    • Go to Synaptic (System -> Administration -> Synaptic Package Manager)

    • Search for “dnsmasq” and install it

    • Open a Terminal (Accessories -> Terminal)

    • Type:

      1
      
      gksu gedit /etc/dnsmasq.conf
      
    • Look for:

      1
      
      #listen-address=
      
    • Change it to:

      1
      
      listen-address=127.0.0.1
      
    • Look for:

      1
      
      #server=/localnet/192.168.0.1
      
    • Add the following after/below it:

      1
      2
      3
      4
      5
      6
      7
      8
      
      server=/google.com/2001:470:20::2
      server=/google.com/74.82.42.42
      server=/www.google.com/2001:470:20::2
      server=/www.google.com/74.82.42.42
      server=/youtube.com/2001:470:20::2
      server=/youtube.com/74.82.42.42
      server=/www.youtube.com/2001:470:20::2
      server=/www.youtube.com/74.82.42.42
      
    • Save and close the file

    • Still in the Terminal, type:

      1
      
      gksu gedit /etc/dhcp3/dhclient.conf
      
    • Look for:

      1
      
      #prepend domain-name-servers 127.0.0.1;
      
    • Uncomment that line by removing the sharp (’#’) sign

    • Save and close the file

    • Still in the Terminal, type:

      1
      
      gksu gedit /etc/resolv.conf
      
    • Before any other nameserver entries, add this:

      1
      
      nameserver 127.0.0.1
      
    • Save and close the file

    • Still in the Terminal, type:

      1
      
      sudo /etc/init.d/dnsmasq restart
      

    What happens is this: we are using dnsmasq to reroute all queries to google.com to HE’s IPv6 DNS which has been confirmed to be Google over IPv6 enabled. Any Google services that are not yet using IPv6 or not yet part of the project will simply use IPv4, like the YouTube entry we added (read: YouTube is the IPv6 team’s number one priority right now).

    But if you are not using DHCP, then the DHCP edits you did previously will not work. Or if you are using NetworkManager to manage your connection settings, then it will only overwrite your resolv.conf file. Here’s what you should do to solve this:

    • Open your NetworkManager and go to your network/connection profile (example: eth0)

    • Open/edit it and go to the “IPv4 Settings” tab

    • In the “DNS servers:” field, simply add this before any other DNS entries you may have:

      1
      
      127.0.0.1
      
    • Click “Apply”, then close it.

      This way, every time the NetworkManager connects and overwrites the resolv.conf file, it will always add 127.0.0.1 to the file. Just like in the DHCP edits you did above, it ensures that the listening IP being used by dnsmasq is the first DNS your system will check when you are browsing.

    In your terminal type:

    1
    
    ping6 www.google.com
    

    You should see something like this:

    1
    2
    3
    
    ping6 www.google.com
    PING www.google.com(tx-in-x68.1e100.net) 56 data bytes
    64 bytes from tx-in-x68.1e100.net: icmp_seq=1 ttl=59 time=231 ms
    

    These are the Google sites and services tested to be accessible via IPv6 (as of this article):

    Not yet accessible via IPv6:

    As far as I know, it is not possible to host a “sub-folder” in another server, thus we can safely assume that all Google sites with this URL format: www.google.com/{sitename} are IPv6 enabled. However, Google sites and services that are using a subdomain.google.com URL or any other, can either be IPv6 already or not. Subdomains can easily be pointed to a totally different server somewhere in cyberspace.

    How about Windows users?

    For those who are still using Windows XP, you are out-of-luck. Even if you can add an IPv6 DNS, it will not work, I tried it myself and it was confirmed by Mikael Lind here.

    Update for Windows XP users: I found a way to do it and I will be posting it here soon! The life of your too old OS just got a little bit longer.

    For Windows 7 users, you will have to wait until I can get a Win7 OS or a machine that I can break. Or better ask the experts in IPv6 like the guys and gals of the gogo6 Community.

    Update 2010-02-25: Sorry WinXP users you really have to upgrade to Windows 7. The method works but it is not consistent - sometimes it works, sometimes not. It is also very different per machine (it is weird!) even if you have everything duplicated perfectly.

    It will only invite frustration and plenty of questions. Again, I recommend upgrading to Windows 7 if you want a consistent and stable IPv6 capability.

    Update 2010-09-20: Google Sites, Google Translate, Google Earth, Google Moderator, and Google FeedBurner, are now all IPv6 enabled.


    Did you like it? Do share this post, leave a comment below, and send me a gift! (opens in a new tab/window)