During past weeks, I had noticed that sometimes my browser’s home page, which is the Google Site I’m logged in to, would simply fail to display as I started my browser, or would fail to display even if I tried to click on a link that leads to it. Curiously, although this could have been a traffic-filtering issue from the content-provider, it was not affecting the same browser, logged in to the same account, from my other computers. At first I suspected that this could have been due to memory fragmentation, and perhaps a poor attempt by the browser on this one machine to allocate large segments of memory at once, which it would have had to be keeping silent at the same time. But it turns out, that the cause of this malfunction was something different.
What gave this away was that almost, only Google sites were affected, and no other large, complex sites. E.g., calling up my own blog’s pages would never fail.
It so happens that I have a Teredo Client running, which gives me access to IPv6 addresses. More to the point, it gives the IPv6 world contingent access to my site. But my machine has been running as a dual-stack machine for some time, which means that it can work internally with IPv6 addresses as well as IPv4, even though my ISP isn’t IPv6 -ready yet.
Well apparently what was happening, was that Google specifically has ‘true’ IPv6 addresses for most of its sites (unlike my lower-grade, ‘fake’ Teredo address). Most other Web-sites which I’ll be clicking on, don’t. It seems that my browser was preferring to retrieve all Google pages via IPv6, which meant that every time I sat down in front of it, it was also using the Teredo proxy. This put an undue load on the proxy, who in turn started dropping most packets routed to Google by my host. Which in turn was leading to a blank page.
Also, every time I reboot my computer, I get assigned a new, virtual IPv6 address. This was the true reason, fw the malfunction would seem to go away directly after a reboot, but them simply set in again.
Since I use “Iceweasel”, which is the Linux equivalent to “FireFox”, my solution was to open a new tab, and to type ‘about:config’ into the URL bar, at which point the typical warning popped up, which I always dismiss with an affirmative answer. And then in the Search Bar, I typed “IPv6″. There was only one setting that matched: “network.dns.disableIPv6″. This setting defaults to ‘false’. I double-clicked the setting, which toggled it to ‘true’, and restarted Iceweasel. And Tada – Problem solved!
It suits me fine that I have IPv6 enabled for connectivity, but not for browsing. Nor for harassing my IPv6-providing Teredo server.