记录一下组建远程访问内网(内网穿透)的方法,技术选型为:zerotier。
备菜
- 创建网络(在zerotier官网上创建一个网络,获取网络id)
- 在本地机器(推荐Linux)下载并安装好zerotier客户端(https://www.zerotier.com/download/)
本地设置
1. 设置开机启动
1 2
| sudo systemctl start zerotier-one.service sudo systemctl enable zerotier-one.service
|
2. 设置加入网络
1
| sudo zerotier-cli join 网络id
|
zerotier官网设置(配置旁路由)
1. 允许加入网络

2. 设置内网跳板机
1
| Destination填本地内网ip地址,Via填跳板机在zerotier分配的ip(最好设置固定ip)
|

本地设置(跳板机网络)
1. 启用内核的ip转发功能
如有需要,也可以开启ipv6转发

保存后,输入以下命令重载配置:
1
| sysctl -p /etc/sysctl.conf
|
2. 配置路由规则
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| // 确认zerotier虚拟网卡和内网网卡的名字 ifconfig
// 设置shell变量 PHY_IFACE=内网网卡名字 ZT_IFACE=zerotier虚拟网卡名字
// 设置路由表 sudo iptables -t nat -A POSTROUTING -o $PHY_IFACE -j MASQUERADE sudo iptables -A FORWARD -i $PHY_IFACE -o $ZT_IFACE -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i $ZT_IFACE -o $PHY_IFACE -j ACCEPT sudo iptables-save
// 持久化路由表 sudo mkdir -p /etc/sysconfig/ sudo sh -c "iptables-save > /etc/sysconfig/iptables"
|
在/etc/rc.local文件的末尾添加一行:
1
| /sbin/iptables-restore < /etc/sysconfig/iptables
|
配置自己电脑的zerotier客户端
zerotier启动的时候默认不会把在zerotier官网设置的静态路由规则应用到本机,因此我们需要手动的启用。
对于有可视化界面的客户端,比如安卓的,就会有一个选项:Route Via ZeroTier。
对于Linux的命令行客户端,则需要这样配置:
1 2
| sudo zerotier-cli set 网络id allowGlobal=1 sudo zerotier-cli set 网络id allowDefault=1
|
然后就可以ping通内网的其他机器了!
Author:
Alextend
Permalink:
http://alextend.com/2025/02/19/zerotier-bypass/
License:
Copyright (c) 2019 CC-BY-NC-4.0 LICENSE
Slogan:
Do you believe in DESTINY?