Issues with default gateway on public hotspot

I have an issue which I’m unable to solve myself.

When connecting to a public Wifi, the default route doesn’t seem to work.

The routing table looks like this:

root@camper:~# ip r
default via 10.2.0.1 dev wlan0 proto static src 10.2.230.177 metric 7 
10.2.0.0/16 dev wlan0 proto static scope link metric 7 
192.168.3.0/24 dev br-lan proto static scope link metric 2

The WLAN connection is up and running:

root@camper:~# ip a s dev wlan0
49: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:1e:42:62:a8:f2 brd ff:ff:ff:ff:ff:ff
    inet 10.2.230.177/16 brd 10.2.255.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::21e:42ff:fe62:a8f2/64 scope link 
       valid_lft forever preferred_lft forever

I can even get a route for the destination:

root@camper:~# ip r get 1.1.1.1
1.1.1.1 via 10.2.0.1 dev wlan0 src 10.2.230.177 uid 0 
    cache

And I can properly ping the default gateway:

root@camper:~# ping -c1 10.2.0.1
PING 10.2.0.1 (10.2.0.1): 56 data bytes
64 bytes from 10.2.0.1: seq=0 ttl=64 time=7.023 ms

--- 10.2.0.1 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 7.023/7.023/7.023 ms

But: Anything outside doesn’t work:

root@camper:~# ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1): 56 data bytes
ping: sendto: Network unreachable

When I add a hostroute, then it starts to work:

root@camper:~# ip r add 1.1.1.1/32 via 10.2.0.1
root@camper:~# ping -c1 1.1.1.1
PING 1.1.1.1 (1.1.1.1): 56 data bytes
64 bytes from 1.1.1.1: seq=0 ttl=53 time=32.747 ms

--- 1.1.1.1 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 32.747/32.747/32.747 ms

As soon as I remove this hostroute, the same issue appears again.
I also tried different public hotspots, always the same issue.

I’m lost here and don’t know how to proceed and what to check for debugging.
Any help is greatly appreciated.

This is on a RUTX50 with the latest available firmware at the time of this post.

I guess I found the culprit: The interface wasn’t enabled in the failover settings. After enabling it, the connection started to work.

Now I wonder: why? How does the failover feature actually work under the hood?

This topic was automatically closed after 15 days. New replies are no longer allowed.