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

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

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

保存后,输入以下命令重载配置:
1 | sysctl -p /etc/sysctl.conf |
2. 配置路由规则
1 | // 确认zerotier虚拟网卡和内网网卡的名字 |
在/etc/rc.local文件的末尾添加一行:
1 | /sbin/iptables-restore < /etc/sysconfig/iptables |
配置自己电脑的zerotier客户端
zerotier启动的时候默认不会把在zerotier官网设置的静态路由规则应用到本机,因此我们需要手动的启用。
对于有可视化界面的客户端,比如安卓的,就会有一个选项:Route Via ZeroTier。
对于Linux的命令行客户端,则需要这样配置:
1 | sudo zerotier-cli set 网络id allowGlobal=1 |
然后就可以ping通内网的其他机器了!