通过ZEROTIER ONE组建虚拟局域网实现内网穿透、异地客户端组网(以群晖和openwrt为例)

最后更新:2023-07-18

ZeroTier 是一款非常简单易用的内网穿透工具,不需要配置,就能实现虚拟局域网的组建,让你可以在外也能连回家中、学校、办公室的电脑获取资料,数据。(相比frps等工具,适用范围更广也更强大)
ZeroTier 支持 Windows、macOS、Linux 三大主流平台,iOS、Android 两大移动平台,以及 QNAP(威连通)、Synology(群晖)、Western Digital MyCloud NAS(西部数据)三个 NAS 平台,还支持 OpenWrt 开源路由器项目。

一、使用 ZeroTier 基本操作

  1. 注册 ZeroTier,获得 Internal ID
  2. 创建私有局域网,获得 Network ID
  3. 安装客户端,加入 Network ID(或邀请 Internal ID 加入)
  4. 连接
因为有 ZeroTier 服务器的支持,所以对于网络是有限制的,免费版本对于我们一般来说足够了。

1.1 ZeroTier 后台控制介绍

注册就不说了,登录后,进入 Networks 页面,创建网络,然后进入网络设置。

输入网络名字,选择 Certificate (Private Network),其他默认即可,包括右侧的路由管理,就随他去吧。
不同客户端连接方式不同,不过都非常简单:
  1. 运行客户端
  2. 输入 Network ID
  3. 等待授权
所有新连接的用户都需要被创建者授权一次,依旧在上面那个后台页面,拉到下方 Members 区域,就能看到已连接用户列表了。
1.2 记得在 Auth? 那一栏里打勾,就完全了全部设置。

1.3 目前有些设备不支持IPv6,在settings里面不要勾选IPv6 Auto-Assign

二、在电脑上安装zerotier客户端

      回到ZeroTier网站顶端,点击最上面菜单第一项Download,进入下载页面,找到windows客户端下载,点击ZeroTier One.msi下载安装文件到本地,一路按默认设定安装即可。安装软件的过程可以看做往系统插了一张新网卡,并把网卡连了一根网线,此网线通往ZeroTier的专有网络,逻辑上独立于你当前局域网之外。

       安装好后,从菜单运行,不会出主程序窗口,而是在任务栏出现ZeroTier One的小图标,右键点击会出现弹出菜单,在此处点击Join Network...加入刚刚申请的网络。但是别急,此时客户端并未连上这个虚拟网络,需要进一步授权。在此管理页面勾选前面的复选框(auth?列)(见前述1.2),此时这个客户端就终于连上这个网络了。如果没有出现相应的客户端列表,则需要首先打开VPN等科学上网工具

三、在群晖上安装zerotier 客户端,参考这里

       由于群晖7.0版本对软件限制root权限的原因,只能通过docker安装zerotier
       首先通过群晖套件中心,安装并运行docker。
       通过SSH登录群晖,运行以下命令
sudo docker run   -d   --restart=always   --name zerotier   --device=/dev/net/tun   --net=host   --cap-add=NET_ADMIN   --cap-add=SYS_ADMIN   -v /volume1/homes/zerotier:/var/lib/zerotier-one   zerotier/zerotier-synology:latest
映射目录 /volume1/homes/zerotier是我在本地群晖上新建的,在运行上述命令前根据自己实际情况创建。
以下命令查看docker zerotier是否正确安装并运行
sudo docker ps -a
加入网络Network ID
sudo docker exec zerotier  zerotier-cli join ID
在zerotier网站授权并设置IP

以下命令查看是否成功加入网络
sudo docker exec zerotier zerotier-cli listnetworks
看到有OK字样就表示成功了
若出现ACCESS DENIED字样可能是权限问题
sudo chmod 755 /dev/net
sudo chmod 666 /dev/net/tun
但每次群晖重启后权限又要重新设置,比较麻烦。可以直接将上述命令写入文件/usr/local/etc/rc.d/tun.sh,每次群晖重启后自动设置权限。
修改前的/usr/local/etc/rc.d/tun.sh内容
#!/bin/sh -e 
insmod /lib/modules/tun.ko
将其修改成以下内容即可
#!/bin/sh -e 
insmod /lib/modules/tun.ko
chmod 755 /dev/net
chmod 666 /dev/net/tun
最后进行测试
确保PC端接入zerotier,访问zerotier网站配置的IP如192.168.168.101:5001,将是这个样子



四、在openwrt上安装zerotier客户端

    openwrt已有官方zerotier软件,可以这里下载安装,也可以自己编译进openwrt固件,参考这里。以下测试环境openwrt-23.05
    也可以SSH登录openwrt后台,运行以下命令安装
opkg update
opkg install zerotier
    在openwrt后台,编辑配置文件 /etc/config/zerotier ,修改成以下内容,将ID修改成自己的即可
config zerotier 'sample_config'
	option enabled '1'
	list join 'ID'
	option nat '1'
  重启openwrt,并在zerotier网站授权并设置IP
  再次登录后台,查看zerotier状态
zerotier-cli info
zerotier-cli listnetworks
  一切正常的话,网页登录openwrt,在"网络"-“接口”里新建接口


    在"网络"-"防火墙"里添加区域zone


       保存退出。

   确保PC端接入zerotier,访问zerotier网站配置的IP如192.168.168.102,将是这个样子










评论

热门博文

Xray安装配置VLESS-XTLS-Vision及VLESS-XTLS-uTLS-REALITY

在VPS上轻松搭建L2TP/IPSec图文教程(通吃各种架构的VPS,包括KVM,OpenVZ等)

V2Ray安装配置VMESS-TLS及VMESS-TLS-WS