I suspected their router, a D-Link DSL604-G. Firstly, I had problems trying to get my laptop on their WiFi network: despite several retypings of their WEP key (yes, I know and they know that this is not brilliant security) I was never able to connect. Watching the kernel messages established that I was connecting fine, but though I asked for a DHCP address (politely) several times I never received one. At this point NetworkManager tosses in the towel and assumes you can't get on the network, and there's no way to say "No, just use a static IP address". DHCP or nothing, eh? I was able to connect to it using a wired port, but as this was in another person's room this wasn't very convenient.
Sure enough, sniffing the wired network connection confirmed that there was something severely wrong with the way the D-Link answered DNS requests. If I pinged a DNS name, it would send out an DNS A request and get back the correct IP address. However, a Firefox request for the same website would do a DNS AAAA request (for an IPv6 address) first, which would be given a "no such name" response; then Firefox would ask for the A record and this would also get the same (bad) response. I could cause my machine to 'cache' the correct A record by pinging the server name before asking for the web page, but this was tedious in the extreme and not always reliable.
A bit of (slow and tedious) Googling turned up that the DSL604-G has this kind of problem and a firmware upgrade is necessary to fix it. But, even though I patiently found and downloaded both firmwares (there's a model A and a model B, just to confuse everyone) I never got the chance to upload it. If the only way to do so is to run the included Windows executable, then their Mac-only household is going to be out of luck.
However, they've all put Internode's primary and secondary DNS servers in their TCP/IP configuration manually, ahead of the DSL604-G, so the problem has disappeared.
All posts licensed under the CC-BY-NC license. Author Paul Wayper.