Premise: a ranch/guesthouse in northern New Mexico wants to show their guests a splash page before allowing them on to an otherwise open network.
Currently, the internet comes through a modem and broadcasts itself via Eero beacons (eero.com), as it is a very large property.
I am trying to help them accomplish this goal and have succeeded at connecting a RPi3B+ to the modem and creating a WiFi access point that serves the splash page via NoDogSplash (followed the guides on pimylifeup: AP and Captive Portal) which is awesome.
However, this is not much help as the network doesn't reach the rest of the property, and we don't want to invest in additional wireless repeaters for this network if it can be avoided.
The Eero system can create a guest network, but no captive portal, and has two ethernet ports on the first "beacon" which Eero confirmed are both IN/OUT ports. In theory, the Eero is able to broadcast two networks in this way.
We have ordered a USB-ETH adapter and plugged it in. I tried renaming
wlan0 in the PiMyLife up tutorial to
eth1 (the interface that comes up in
ifconfig), rebooting, flushing
iptables and all that, but no internet is coming out of ETH1. The tutorial uses a combination of
hostapd, some updates to
dnsmasq along with an
iptable rule to achieve the desired effect going from eth0 to wlan0.
After a ton of reading online, I am wondering the following:
- am I going about this the correct way at all? Is it possible? Would it suffice to use DHCP and DNSMASQ to accomplish this somehow?
- do I need to reorient towards using a bridge? Is a bridge "smart" enough to serve a captive portal or is just a forwarding mechanism?
- based on this question, it sounds like the tutorial mentioned above can do what I need, but I do not understand what changes I need to make to utilize
eth1in place of
wlan0. The author states:
I've followed this [the pimylifeup article] which has got me to the point where a test laptop connected to eth1 is able to get an IP address via DHCP and browse remote web pages.
I also tried using this script but kept getting the error
eth0|eth1 is not a WiFi interface so presumably that also requires a wireless interface to do it's thing...
Very confused at this stage, any advice or guidance is appreciated.