TL;DR: Are you riding trains in Germany (brought to you by DB) and having trouble to connect to their WiFi Hotspot? Try uninstalling docker.
I am recently riding the train a lot. In particular, I was riding the ICE type of train by Deutsche Bahn (DB). In theory, these trains feature WI-Fi hotspots, but I am used to the fact that Wi-Fi on trains is not avilable. Either there is no signal at all or the hotspot does not offer a sign-in screen. Alternatively, the sign-in screen shows, and the screen is blank or logging in fails. You get the idea.
Recently I stumbled upon a very peculiar issue. My phone was able to connect perfectly fine but my laptop was not. I could connect to the WiFi but the login screen would not prompt. I tried restarting and the screen showed (after some restarts) and gave a weird error message – the host can not be reached. I googled how to force the login screen to show. Usually you type the default gateway address in your browser and it works fine. In this case said host-could-not-be-reached message popped up. How can that host not be reached? It is literally the first IP address in this network my laptop would know of and try to reach.. wait a minute.
So technically this is not correct – my laptop can also try to reach itself when accessing an IP address (as demonstrated by the 127.0.0.1 IP address that resolves exactly to the local machine). So could something have redireced the IP address of the router to somewhere else? This can be achieved using (among other things) iptables – mapping packages intended to certain subnets to a gateway address.
Per default, this gateway should be the router, I.e. the hotspot provider in this case. But the IP address of the router is weird (10.172….) and might have been caught by a local reroute.
I check my iptables… and see a mess. It feels like a hundred rules have been added, tagged “docker”. Can’t be bothered to look at them by hand. But their subnet shows an odd similarity to the router IP. So I uninstall docker. And all packages somehow related to docker. Reboot the machine.
Magically, the login page to the WiFi hotspot opens. Thanks docker, thanks DB. I am running Ubuntu 22 LTE and had installed docker XX. If you run into the same issue – give uninstalling docker a try 😉