Connected to Resin VPN, but unable to reach servers on the internet

Hi,

I’m running Resin 2.9.6+rev1 on a Raspberry Pi Zero.
Every once in a while (every a few days), I get a situation where our software can’t reach any internet server (for instance, I cannot ping 8.8.8.8 or even the local default gateway / which in this case is attributed over DHCP).
But, interestingly, I am able to reach the device normally over the resin dashboard. I can also use the public URL to reach my application normally.
I can ping the resin servers (VPN, etc.) stated in the host OS routes, but not the local gateway or other devices in the LAN.
I’ve noticed logs to the resin dashboard stop being updated while the connectivity is impaired, but dashboard commands (reboot, etc) are working.
During all of this, others devices on the same LAN can achieve normal connectivity.
Rebooting does not solve the problem. But, eventually, the issue clears by itself.

This happens both on the container and on the host OS itself. There are no network modifications whatsoever on my docker build. I’m using a USB ethernet adapter, which usually works pretty well. WiFI is not connected (no config file).

The Raspberry Pi Zero is directly connected to a cable modem, no proxies or any other infrastructure.

When the issue clears, I am able to ping 8.8.8.8, the local gateway, etc.

My routing table (Host OS):

bash-4.3# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.0.1 0.0.0.0 UG 100 0 0 eth0
10.114.101.0 * 255.255.255.0 U 0 0 0 balena0
10.114.102.0 * 255.255.255.0 U 0 0 0 resin-dns
10.114.102.0 * 255.255.255.0 U 425 0 0 resin-dns
52.4.252.97 * 255.255.255.255 UH 0 0 0 resin-vpn
192.168.0.0 * 255.255.255.0 U 100 0 0 eth0

EDIT: I can ARP the local network at the app container, but cannot ping any hosts (I have established they do reply to ping)

bash-4.3# arp
Address HWtype HWaddress Flags Mask Iface
192.168.0.1 ether 94:2c:b3:92:d4:81 C eth0

bash-4.3# ifconfig
balena0 Link encap:Ethernet HWaddr 02:42:06:B0:BB:58
inet addr:10.114.101.1 Bcast:0.0.0.0 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

eth0 Link encap:Ethernet HWaddr 00:E0:4C:53:44:58
inet addr:192.168.0.11 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::5eae:869e:b33f:b71c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7282 errors:2 dropped:1 overruns:1 frame:1
TX packets:9757 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:972470 (949.6 KiB) TX bytes:1109802 (1.0 MiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:2149 errors:0 dropped:0 overruns:0 frame:0
TX packets:2149 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:167769 (163.8 KiB) TX bytes:167769 (163.8 KiB)

resin-dns Link encap:Ethernet HWaddr CE:C6:B8:3E:9A:54
inet addr:10.114.102.1 Bcast:0.0.0.0 Mask:255.255.255.0
inet6 addr: fe80::ccc6:b8ff:fe3e:9a54/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:6546 (6.3 KiB)

resin-vpn Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.2.10.90 P-t-P:52.4.252.97 Mask:255.255.255.255
inet6 addr: fe80::f1ba:d449:7735:b35b/64 Scope:Link
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:918 errors:0 dropped:0 overruns:0 frame:0
TX packets:933 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:90296 (88.1 KiB) TX bytes:136189 (132.9 KiB)

wlan0 Link encap:Ethernet HWaddr CA:CD:04:98:5E:6C
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Hmm, that’s a strange one! It sounds like the VPN connection continues to work, so you can resin ssh or connect to them from the dashboard, so that should be helpful for some troubleshooting.

Do you have other devices on the same network? It would be very useful to know if (a) you can ping other local devices (by IP address and/or by name if you have a local DNS server in that network) and (b) if devices that are not managed by resin are affected at the same time (i.e. can a different device reach the Internet when your Pi cannot).

Hi,

Yes, we have other NON-RESIN devices on the network (PCs, printers), which are working normally. When the issue is happening, I cannot ping any other IP on the network (not even the default gateway, which does reply to pings) or IPs on the internet. The resin-VPN IPs are the only things that do reply.
I don’t have any other Resin-managed devices on that network.
Right now, that device is working normally (I can ping other devices, the local gateway and even public DNS servers / 8.8.8.8, etc.).
I’m willing to provide remote access to that device if required (please not the issue is not present right now). It cleared last week, but we already had situations where the issue would return and then go away after several days.

@ymaia we generally reserve direct engineering intervention in a device for paid support customers, so we may not be able to log in directly without a support agreement in place. However please do let us know next time it happens again as we can at the very least direct you on some things to try or logs to gather to give more information!

Thanks Ronald.
At this time, the issue has not occurred again. The only change on our side is that we’ve upgraded to Host OS version 2.9.6 and then to 2.10.1.