Recently, while staying at a hotel, I tried connecting my Arch Linux laptop to the Wi-Fi. As usual, the network redirected to a captive portal login page. But this time, things didn’t work as expected.
First, I checked the captive portal detection URL with:
curl -I http://detectportal.firefox.com
That gave me a gateway URL like:
http://127.17.0.1/login.php
But when I tried to open it in a browser, I kept getting “Unable to connect”.
At first, I thought the hotel’s Wi-Fi was broken. Then I noticed something odd: the IP address started with 127.17…
. That reminded me of Docker, since I had seen a similar subnet in docker info
.
So I ran:
ip addr show
And sure enough, I saw this:
docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:84:b7:e7:1e brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever inet6 fe80::42:84ff:feb7:e71e/64 scope link proto kernel_ll
Aha! Docker was hijacking the IP range 172.17.x.x
, which happened to be the same network the hotel’s captive portal was using.
To fix it, I temporarily disabled the Docker bridge:
sudo ip link set docker0 down sudo ip addr flush dev docker0
After that, I could finally access:
http://172.17.0.1/login.php
and log in to the Wi-Fi.
Niciun comentariu:
Trimiteți un comentariu