The problem is caused by buggy caching dns servers in the routers. The IPv4 (!) dns query for a AAAA is simply ignored and not answered so the resolver waits until it timeouts.
You can see this when you do a "host -t AAAA www.kame.net" on a machine behind that router and on any other machine with IPv6 disabled. It should find the AAAA record even with IPv4 only.
In my opinion a better work around than disabling IPv6 would be to manually set a nameserver which is not your router.
Since the problem can be detected automatically (A lookup of a known host with A and AAAA records works, but AAAA gives a timeout) there could be a solution which does one of the following in that case:
a) stop AAAA queries in glibc
b) start a dummy dns server which forwards everything to the real DNS, but answers AAAA queries with a SERVFAIL
The problem is caused by buggy caching dns servers in the routers. The IPv4 (!) dns query for a AAAA is simply ignored and not answered so the resolver waits until it timeouts.
You can see this when you do a "host -t AAAA www.kame.net" on a machine behind that router and on any other machine with IPv6 disabled. It should find the AAAA record even with IPv4 only.
In my opinion a better work around than disabling IPv6 would be to manually set a nameserver which is not your router.
Since the problem can be detected automatically (A lookup of a known host with A and AAAA records works, but AAAA gives a timeout) there could be a solution which does one of the following in that case:
a) stop AAAA queries in glibc
b) start a dummy dns server which forwards everything to the real DNS, but answers AAAA queries with a SERVFAIL