Our Mobile Phone Companies here in Switzerland are providing fast unlimited Internet access at competitive prices. So I was considering to switch from my Cable Network to a pure Mobile access.
- Salt up to 300 Mbit/s: 35 CHF / Month
- Sunrise up to 10 Mbit/s: 19 CHF / Month
- Sunrise up to: 300 Mbit/s: 49 CHF / Month
- Swisscom up to 5 Mbit/s: 60 CHF / Month
- Swisscom up to 30 Mbit/s: 70 CHF / Month
- Swisscom up to: 300 Mbit/s: 90 CHF / Month
All Phone Providers only offer Private Internet Addresses. So inbound connections and the serving of content from local machines is not possible.
I was running some performance tests both with Salt and Sunrise and though Salt was promising more for less, I was effectively getting the same or better speed (5Mps) for less money with the 19 CHF Sunrise contract.
Swisscom offers a public IP with the ‘Corporate Application Access’ option for CHF 5. Neither Salt nor Sunrise do provide this functionality.
However for 5 CHF / Month you can also get a VServer e.g. from Digital Ocean which gives you a public IP. I selected a server located in Frankfurt (Germany).
With my VServer I was getting my public IP. Now I needed to connect the server with my local machines:
- My first trial: I was installing a L2TP over IPSec VPN Server on the VServer. This seemed to work fine but I soon had to realize that I can have only one connection because I was behind a NAT. A IKEv2 VPN Server was solving this issue. However as soon as one is connected to the VPN, all network traffic is routed over the VPN and the location dependent services might not work any more.
I finally decided to replace the VPN approach with a more flexible Zerotier Private Network . I defined my own network and connected all my machines to it.
I am currently providing the following functionality on different local machines using Docker
– Nginx (https support and forward request to applications and services)
– Multiple WordPress instances
– Diverse Webservices
– Other Web Applications
Forwarding Requests to my Local WordPress
Now that I had my public IP and my working network, I had to make sure that all architectural components are at the right place so that they could work seamlessly together:
I removed my current local Nginx Docker instance and replaced it with Nginix on the VServer. All I had to do is to update the default.conf to reflect the new local proxy_pass network addresses (provided by Zerotier).
And the result: this internet site is actually running over a cheap Mobile Connection with a private IP !