zerotier访问内网设备教程,适用于所有linux设备(非openwrt)

zerotier是优秀且简单的异地P2P组网方案

现在网上大多是基于openwrt通过zerotier访问内网设备的教程,这里给出一篇配置任意linux设备都通用的教程

通过配置,我同城距离30公里的同一运营商的机器通过zerotier组网互访的延迟在6ms左右(电信到电信)

同城距离30公里的不同运营商的机器通过zerotier组网互访的延迟在13ms左右(移动到电信)

zerotier安装及配置

安装zerotier

curl -s https://install.zerotier.com | sudo bash

服务器加入zerotier虚拟网络

sudo zerotier-cli join <网络ID>  #网络ID在https://my.zerotier.com/中获得

https://my.zerotier.com/中配置Manager Router


至此在https://my.zerotier.com/上的配置完毕,我们转回内网服务器配置

内网服务器开启IP转发

sudo sysctl -w net.ipv4.ip_forward=1

查看物理网卡名及zerotier虚拟网卡名

ip a


如图:eth0为物理网卡,ztfp6ae4cl为zerotier虚拟网卡

添加iptables规则

sudo iptables -t nat -A POSTROUTING -o <物理网卡名>  -j MASQUERADE
sudo iptables -A FORWARD -i <物理网卡名>  -o <zerotier网卡名>  -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i <zerotier网卡名>  -o <物理网卡名>  -j ACCEPT
iptables-save

大功告成!