Cubic Zone

使用 ZeroTier 三层路由实现内网访问

ZeroTier 配置内网访问 VPN 的步骤存档

首先到 ZeroTier 官网 按照教程下载并安装 ZeroTier.

my.zerotier.com 创建网络, 认证客户端, 并且在 Advanced -> Managed Routes 配置路由:

via 框内填写内网设备对应的地址

内网设备还需要其他一些额外配置:

首先,设置防火墙允许转发和 IP masquerade

其中 eth0 是本地网络接口, ztbtotfrd7 是 ZeroTier 的网络接口名, 替换成实际名称

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o ztbtotfrd7 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i ztbtotfrd7 -o eth0 -j ACCEPT

另外在 sysctl.conf 加入 net.ipv4.ip_forward=1 允许转发, 或者直接使用下面的命令

sysctl -w net.ipv4.ip_forward=1

然后就可以通过 ZeroTier 访问内网中的其他机器了

对于 IPv6, 需要使用 ip6tables 和改变 sysctl.conf 中相应的设置

ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
ip6tables -A FORWARD -i eth0 -o ztbtotfrd7 -m state --state RELATED,ESTABLISHED -j ACCEPT
ip6tables -A FORWARD -i ztbtotfrd7 -o eth0 -j ACCEPT

sysctl -w net.ipv6.conf.all.forwarding=1

References

ZeroTier Knowledgebase

Easy way of bridging lan for remote access