In this test, we set up Zerotier on GL.iNet's mini-routers and an Ubuntu VPS so that they can access each other. To use ZeroTier service, you need to create your own ZeroTier account. Sign up for an account here: https://my.zerotier.com/login.
Important: Stop other VPN service on the router before you start is recommended
Login your ZeroTier account. Go to Network menu and click on Create button to create a new network.
Next you should see the configuration page of your network. Please jot down the Network ID which will be used later.
Setup ZeroTier on router
Installation
SSH to the router, and execute the following commands to install ZeroTier package:
opkg update
opkg install zerotier
Configuration
ZeroTier
You should edit the configuration file /etc/config/zerotier to enable ZeroTier and join into a network. It looks like:
Please replace the code above d5e5fb6537869a7d with your own Network ID.
Firewall(optional)
If you want to access the router's LAN, you have to configure the firewall as well. Please edit the firewall configuration file /etc/config/firewall. Add below lines into it.
config zone 'vpn_zone'
option name 'zerotier'
option input 'ACCEPT'
option forward 'REJECT'
option output 'ACCEPT'
option device 'zt+'
option masq '1'
option mtu_fix '1'
config forwarding
option dest 'zerotier'
option src 'lan'
config forwarding
option dest 'lan'
option src 'zerotier'
Go back to your Zerotier's web console and you will see the device which you just joined. Check the checkbox of "Auth?", otherwise, your device may not be able to get an IP address from ZeroTier.
After authentication, the network interface will obtain an IP address. Check it out via ifconfig, it looks like:
The router and the Ubuntu VPS are able to ping each other.
kyson@ip-172-31-34-95:~$ ping 10.241.143.3
PING 10.241.143.3 (10.241.143.3) 56(84) bytes of data.
64 bytes from 10.241.143.3: icmp_seq=1 ttl=64 time=1143 ms
64 bytes from 10.241.143.3: icmp_seq=2 ttl=64 time=132 ms
64 bytes from 10.241.143.3: icmp_seq=3 ttl=64 time=65.6 ms
64 bytes from 10.241.143.3: icmp_seq=4 ttl=64 time=65.7 ms
64 bytes from 10.241.143.3: icmp_seq=5 ttl=64 time=65.8 ms
root@GL-AR300M:/# ping 10.241.116.0
PING 10.241.116.0 (10.241.116.0): 56 data bytes
64 bytes from 10.241.116.0: seq=0 ttl=64 time=66.097 ms
64 bytes from 10.241.116.0: seq=1 ttl=64 time=66.264 ms
64 bytes from 10.241.116.0: seq=3 ttl=64 time=65.377 ms
64 bytes from 10.241.116.0: seq=4 ttl=64 time=65.222 ms
The Ubuntu VPS can reach router's LAN if you configure the route.
kyson@ip-172-31-34-95:~$ ping 192.168.8.1
PING 192.168.8.1 (192.168.8.1) 56(84) bytes of data.
64 bytes from 192.168.8.1: icmp_seq=1 ttl=64 time=65.7 ms
64 bytes from 192.168.8.1: icmp_seq=2 ttl=64 time=66.0 ms
64 bytes from 192.168.8.1: icmp_seq=3 ttl=64 time=65.6 ms
64 bytes from 192.168.8.1: icmp_seq=4 ttl=64 time=65.8 ms
64 bytes from 192.168.8.1: icmp_seq=6 ttl=64 time=65.2 ms
Troubleshooting
If everthing is fine, but you can't reach the router from Ubuntu VPS. It usually caused by mwan3, you can try to stop and remove it.