前言
内网穿透研究。
一、资源准备
1.1 简介
ZeroTier 是全球的智能可编程以太网交换机。它允许所有联网设备、虚拟机、容器和应用程序进行通信,就好像它们都位于同一物理数据中心或云区域一样。
1.2 构建网络
- 注册:在官网进行注册,本文直接通过 Google 账户进行登录.
- 创建网络:登陆后点击网页中央的
Create A Network
按钮构建网络,默认为私有网络,需要手动确定成员.
- 设置网络:在下方的虚拟局域网列表中找到刚创建的网络,修改名称,在
IPv4 Auto-Assign
中修改局域网网段,防止和真实地址冲突.
- 记录
Network ID
,以供后续部署使用.
二、部署
2.1 服务器端部署
1 2 3 4 5 6 7 8 9
| curl -s https://install.zerotier.com/ | sudo bash
sudo systemctl start zerotier-one.service sudo systemctl enable zerotier-one.service
sudo zerotier-cli join abfd31bd47a5b0bd Your-Network-ID
|
2.2 用户端部署
- 下载并安装 Zerotier windows 客户端
- 在托盘中右键 Zerotier 图标,
join network
,输入 Network ID.
- 在官网个人页面中允许添加并给定 IP 地址.
2.3 moon 节点添加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| cd /var/lib/zerotier-one/ touch moon.json sudo chmod 777 moon.json sudo zerotier-idtool initmoon identity.public > moon.json vi moon.json sudo zerotier-idtool genmoon moon.json sudo chmod 644 moon.json
sudo ufw allow 9993/udp
sudo mkdir moons.d sudo mv xxxxxxxx.moon moons.d/ sudo service zerotier-one restart scp -r moons.d username@serverZerotierIP:/home/username
|
1 2 3 4 5 6
| sudo mv moons.d /var/lib/zerotier-one/ sudo service zerotier-one restart
sudo zerotier-cli listpeers
|
2.4 (参考)内网单机代理
- 通过
ip addr
获取联网的物理网卡地址 PHY_IFACE 和 zerotier 的虚拟网卡地址 ZT_IFACE.
1 2 3 4 5 6 7 8
| PHY_IFACE=; ZT_IFACE=
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 apt install iptables-persistent sudo bash -c iptables-save > /etc/iptables/rules.v4
|
参考