Resin-vpn device


#1

Hello, I’m building a Resin-controlled network router on a device that has two NICs.

One NIC is controlled with dnsmasq, and dnsmasq is configured to bind only to that interface so as not to interfere with the Resin supervisor. This works fine: LAN clients get DHCP leases and have routes to the Internet via a ppp0 interface created on the Router via pppoe. This ppp0 device is not controlled via the Host OS Network Manager. The ppp0 pppoe interface is set up by the application container.

The other NIC connects physically to an ADSL modem that has no WAN connections configured and no DHCP server, it handshakes the line and leaves PPPOE and all aspects of network configuration the responsibility of the router.

This means that at boot time there is neither a route to the Internet, nor is there any way to resolve DNS. My guess is that the side-effect of this is that the resin-vpn device never comes up, and I don’t see the device come online in the Resin.io APIs even after the container has a valid route to the Internet. Pondering on the resolver, a hack to /etc/resolv.conf to specify the Google nameserver addresses doesn’t help after the fact.

I’d appreciate any pointers on how to get this working because everything else on my Resin router works perfectly so far, but of course it would be great to have it “online” so that I can push updates to it after the fact.

I presume that there must be a common pattern for Resin devices to reach the Internet intermittently? What am I doing wrong?

Help me Resin.io, you’re my only hope!


#3

A work around that I’ll try later is to configure a working Internet connection on the modem device, and have only the router interact with that connection. I’ll then try a second ppp0 connection to route from the LAN NIC.

Edit: this works. It just means that the supervisor has it’s own route to the Internet via the default gateway. The routing still works out nicely in that clients of my router route through the ppp0 interface per my iptables rules.