diff --git a/zeroTier/zerotier异地组网.md b/zeroTier/zerotier异地组网.md new file mode 100644 index 0000000..decb6ed --- /dev/null +++ b/zeroTier/zerotier异地组网.md @@ -0,0 +1,184 @@ +## ZeroTier 异地组网 + + + +异地组网 路由器类型 不同的类型组网方式不一样 这里介绍硬路由组网方式 + +- 路由器是硬路由 不能装插件 + +- 路由器是软路由 + + + + + +### 前置准备工作 + +- 需要一台在局域网里正常运行的linux主机 +- 一个能 添加静态路由的 硬路由 +- 一个 zeroTier账号 + + + + + + + +### 硬路由准备 + +##### 设置linux 主机mac地址绑定 + +防止断电重启后linux 主机地址发生变化 我这里绑定的 `192.168.123.119` + + + +##### 添加静态路由 + +如图所示,路由地址 为 zerotier的网段 这里我们设置为 `192.168.191.0/24` 网关为 linux 主机地址 + +![image-20230604184212724](http://pic.61dz.com/pic/image-20230604184212724.png) + + + + + +### ZeroTier + +##### 准备工作 + +- 登录 ZeroTier 控制台创建一个网络 网络类型私有 得到网络id + +- 设置 zerotier的网段为 上述静态路由的地址 `192.168.191.0/24` +- [添加路由](#添加路由跳转) + + + +##### 安装 zerotier + +在之前准备的内网linux上 安装 zerotier,脚本适用于 centos ,debian + +```bash +curl -s https://install.zerotier.com/ | sudo bash +``` + +##### 加入网络 + +```bash +zerotier-cli join id +``` + + + +##### 授权节点、固定Ip + +在zerotier控制台找到 Members 节点 ,找到加入网络的linux 主机 + +在AUTH 选项下打勾,禁止自动分配IP, 将节点IP 设置一个固定的值。 + +![image-20230604183335193](http://pic.61dz.com/pic/image-20230604183335193.png) + + + +##### 添加路由跳转 + +在高级选项中添加路由 + +第一个框是 你硬路由的局域网,我这里是 `192.168.123.0/24` + +第二个框是 网关 填写上一步设置的ip ,我这里是 `192.168.191.2` + + + +![image-20230604183612373](http://pic.61dz.com/pic/image-20230604183612373.png) + +完成这两步后 + + + +##### 附:zerotier 基本命令 + +```bash +Usage: zerotier-cli [-switches] [] + + +switches: +-h - 显示此帮助 +-v - 显示版本 +-j - 显示完整原始 JSON 输出 +-D - ZeroTier 主目录路径,用于参数自动检测 +-p - HTTP 端口 (默认: 自动) +-T - 认证令牌 (默认: 自动) + +可用的命令: +info - 显示状态信息 +listpeers - 列出所有对等节点 +peers - 列出所有对等节点(更美观) +listnetworks - 列出所有网络 +join - 加入网络 +leave - 离开网络 +set - 设置网络配置 +get - 获取网络配置 +listmoons - 列出 moons (联邦根集) +orbit - 通过任何成员根加入 moon +deorbit - 离开 moon +dump - 调试设置转储以供支持 +``` + + + + + +### LINUX 设置 + +这里使用的debian 系统 Debian系统使用的 ufw 防火墙 + + + +##### 获取 网卡名字 + +记录 zerotier 网卡名字 `ztyqbub6jp ` + +``` +ip addre +``` + + + +##### 开启nat 转发 + +```bash +echo "net/ipv4/ip_forward=1" >> /etc/ufw/sysctl.conf +``` + +##### 接收转发数据 + +打开UFW配置文件`/etc/default/ufw`。找到`DEFAULT_FORWARD_POLICY`键,然后将值从`DROP`更改为`ACCEPT`。 + +```bash +sudo vim /etc/default/ufw +DEFAULT_FORWARD_POLICY="ACCEPT" +``` + +##### 设置ip伪装 + +在`nat`表中设置`POSTROUTING`链的默认策略和伪装规则。 + +打开`/etc/ufw/before.rules`文件。追加以下几行到文件. + +```bash +sudo vim /etc/ufw/before.rules +#NAT table rules 启用nat 表 +*nat +# 允许POSTROUTING 链 +:POSTROUTING ACCEPT [0:0] + +# 转发eth0接口的数据包,请将eth0更改为 +-A POSTROUTING -o ztyqbub6jp -j MASQUERADE + +# don't delete the 'COMMIT' line or these rules won't be processed +COMMIT +``` + + + +最后,通过命令`sudo ufw reload`加载规则。 \ No newline at end of file