Recently some local coffee shops have seemingly begun to use routers provided by the ISP which hand out IPv6 addresses. Nobody else seems to have issues with this (even my phone seems fine) but my laptop is unhappy with the situation.

Initial debugging via ifconfig shows that I am only getting IPv6 addresses (no IPv4 addresses on the WiFi interface) and apparently the ISP does not have any 6to4 gateways or carrier-grade NAT configured because I can access IPv6-enabled websites like www.yahoo.com and www.google.com but not my own IPv4-only sites. Also obviously the ping, traceroute, and nslookup commands stop working as normal because of the ping6, traceroute6, and AAAA records instead of A records in nslookup.

Last time I came to this cafe I solved the problem by using some random 6to4 gateways online, which ended up working but was a massive pain.

This time, I poked around more (nothing seems to come up on Google) and ended up clicking the "Require IPv4 addressing for this connection to complete" and "Require IPv6 addressing for this connection to complete" checkboxes. That was the trick. Apparently Ubuntu gives up on finding addresses once it gets its first address, and apparently BOTH checkboxes need to be clicked on networks like this in order to actually work.

[gallery ids="625,624" type="square" columns="2"]