前言
zerotier官网:https://www.zerotier.com/
安装
输入以下命令在ubuntu中安装zerotier:
curl -s https://install.zerotier.com | sudo bash
创建一个网络
首先进入zerotier官网,用邮箱注册一个账号。然后进入网络列表,点击Create A Network按钮创建一个网络,下方列表中会出现一个网络ID,点击网络ID进入即可这个网络的设置界面。(略)
加入一个网络
首先在要连接的Linux设备上输入如下命令加入网络,如果连接成功就会出现200的状态码提示:
sudo zerotier-cli join 网络ID
# 查看当前连接的网络,如果列表中出现网络号说明连接成功
sudo zerotier-cli listnetworks
private属性的网络检测到新设备连接时要手动授权,需要在这个网络的控制台授权新设备连接。未授权之前设备列表是这样:

在前面的列表项上打上勾,即完成授权,设备状态变成这样:

那么这个linux设备就加入到了这个网络中,如果再往这个网络中加入一个设备,这两个设备只要保持运行zerotier且都连接到这同一个网络,即使这两个设备不在同一个局域网内,也能互相访问了。
其他操作
sudo systemctl start zerotier-one.service
sudo systemctl enable zerotier-one.service
sudo zerotier-cli listnetworks
sudo zerotier-cli leave 网络ID
zerotier充当网关实现内网互联,访问其它节点内网
网络三层NAT配置方法(linux主机)
- 假设zerotier虚拟局域网的网段是192.168.192.0 局域网A 192.168.1.0 局域网B 192.168.2.0
- (如果需要互联)在局域网A和B中需要各有一台主机安装zerotier并作为两个内网互联的网关
- 分别是192.168.1.10(192.168.192.10) 192.168.2.10(192.168.192.20)#括号里面为虚拟局域网的IP地址
在zerotier网站的networks里面的Managed Routes下配置路由表,增加如下内容
#如果单向连接,仅需填写下方一个即可.
#本地网络段 via 远端ZeroTier IP
192.168.1.0/24 via 192.168.192.10
192.168.2.0/24 via 192.168.192.20
开启内核转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
防火墙设置
#物理网卡 eth0;
#ZeroTier虚拟网卡 zt7nnig26
#你可以在路由器ssh环境中用 ifconfig 查询
#ZeroTier一般以zt开头
#可以根据IP地址判断
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o zt7nnig26 -m state --state RELATED,ESTABLISHED -j ACCEPT
# state 报错的话用这个
#sudo iptables -A FORWARD -i eth0 -o zt7nnig26 -j ACCEPT
sudo iptables -A FORWARD -i zt7nnig26 -o eth0 -j ACCEPT
iptables-save #保存配置到文件,否则重启规则会丢失.
apt install iptables-persistent
bash -c iptables-save > /etc/iptables/rules.v4
#sudo 看系统, 不一定要带