内网穿透 篇二:通过 ZeroTier 异地组网 实现远程访问局域网
前言
ZeroTier 是一款与 Tailscale 类似的异地组网工具,它可以将不同网络环境的设备组成一个虚拟局域网,使其可以互相访问。我们只需要在路由器或者 Nas 上安装 ZeroTier 进行组网,就可以实现以下效果:
与 Tailscale 相比,在使用上 ZeroTier 主要有以下几点不同:
安装步骤
访问局域网
此时,只有连接到 ZeroTier 的设备可以互相访问,并不能直接使用内网 IP 来访问整个局域网,我们还需要进行以下配置
开启 IP 转发
net.ipv4.ip_forward=1net.ipv6.conf.all.forwarding=1
配置客户端路由
PHYSICAL_IFACE=<物理网卡>ZEROTIER_IFACE=
iptables -t nat -A POSTROUTING -o $PHYSICAL_IFACE -j MASQUERADEiptables -A FORWARD -i $PHYSICAL_IFACE -o $ZEROTIER_IFACE -m state --state RELATED,ESTABLISHED -j ACCEPTiptables -A FORWARD -i $ZEROTIER_IFACE -o $PHYSICAL_IFACE -j ACCEPTiptables-save
mkdir -p /etc/sysconfig/sh -c "iptables-save > /etc/sysconfig/iptables"
/sbin/iptables-restore < /etc/sysconfig/iptables
配置 ZeroTier 路由规则
经过以上设置,即可在连接 ZeroTier 后,直接使用局域网 IP 对整个局域网的设备进行访问
访问 ZeroTier 设备
通过上面的设置,已经实现了连接到 ZeroTier 的设备使用内网 IP 访问局域网,但是局域网内的设备仍然无法使用 ZeroTier 分配的 IP 来访问那些连接到 ZeroTier 的设备,我们还需要在路由器中配置静态路由