Nested networks are always a source of trouble. There are different subnets that require multiple NAT servers. Every layer adds unneccessary complexity. When a marina network is added, the network looks like this:
If the connection breaks or strange package loss occures, you have to debug all three local networks. The setup happens in all the different routers and you have to make sure they all work. Peeling the onion would be great for making things simple.
But from a usability aspect, this is a great setup. The smartphone is made for switching between GSM and Wifi networks. You can receive SMS text, setup all marina wifi firewalls and whatever you like on one nice touchscreen.
The local router focuses on the things that do not change very often. It does the security tasks and connects all the local devices.
The network topology and worksharing of the two routers is the same as in “Glomex Webboat”
Smartphone
Any old phone will do the job even if the battery is in bad conditions. The sim cards must be inserted, so it might become handy to have a dual sim phone. Then USB tethering has to be enabled and everything is up and running.
Local router
I chose a Raspberry Pi 3 with OpenWRT. OpenWRT is an operating system for small Wifi routers, so the Raspberry is way too big. So it runs extremely fast with this setup.
Internet connection types
All kinds of Wifi and 4G LTE are no problem if you have a phone that supports the standard. DSL or Ethernet is not possible.
switching Internet connection
Usually the phone switches from Wifi to GSM automatically if the connection gets lost. So this works perfectly autonomously. If a new Wifi has to be set up, any crew member can do it as it works like they are used to with their own phone. Forcing a change of the network using remote devices is also possible with an app like Android Tasker. So here is everything possible.
Internet connector hardware
Now we are talking about the downside. It is impossible to connect an external GSM or Wifi antenna. So the best you can do is buying a long USB cable to put the phone in a place with good network conditions.
SMS
Text message is perfectly possible in the phone’s app.
Power
The raspberry needs 5V with a extremely stable source. It powers the phone over the cable. The power should be in the range of 2-5 Watt for the entire setup according to data sheets.
Battery
Any power bank can be used. The power is in the region of other wifi setups.
Local network
The Raspberry Pi 3 has just one 2.4GHz Wifi built in. The connection was very good inside the room. It is possible to add more adapters via USB. One Ethernet port is available.
Operating system
OpenWRT offers updates regularly. The boot time is just a few seconds.
Configuration interface
There is a web interface with a lot of options and a clean design even on small screens. It is not pretty but works. For more options, a SSL connection and good documentation is available.
DHCP
Long lease times and fixed addresses for servers are no problem.
NAT, NAS
SSH is built in. DLNA, FTP, SMB or whatever needed is possible. The Raspberry Pi 3 has already a huge disk built in if a large SD card is used.
Traffic monitoring
Some monitoring of the current traffic is built in. It is hard to determine which device or which service causes the traffic. There is no sum which service caused the most traffic per day or something like that.
Reliability
As far as I can say it really works even if the phone is disconnected sometimes. There is a great Wiki.
Local domain name
It is possible to give devices real world domain names so SSL in web browsers is totally possible.
GPIO
The Raspberry Pi has a lot input output pins. From within the web interface it is possible to configure one LED.
Webcam
Don’t know.
Overall rating
This setup really does what it is made for. Even if the router would fail, the phone would be usable. The security options are better than with any other setup.
Issues can occure because of the bad antennas in the phone. Another problem are the nested networks and the physically separated devices. This can lead to issues that are hard to debug. On the other hand, the great documentation of all elements in the setup should help.