部署逻辑
这个软件其实主打的是去中心化,但是如果从 netbird 或者 tailscale 迁移过来,就很不习惯。所以写一个教程按照中心化的使用逻辑去部署。
按中心化的使用逻辑,需要先部署一个中枢,用来管理所有节点,所有节点也要连接到这个机器上。
如果你部署 Headscale,那本质上就是一个 Web 控制台 + DERP 中继服务器;如果你部署 Netbird,那本质上就是 Web 控制台 + coturn 中继服务器。只不过你部署的时候是丢到一个 Compose 里一起跑的。
Easytier 也类似,只不过你需要分开部署。下面的步骤中,“管理后台配置”一节对应的就是 Web 控制台。“中继服务器配置”对应的就是 DERP 或是 coturn 的配置。
管理后台配置
说明
- 管理后台用的 easytier-web-embed 这个二进制文件启动
- 管理后台运行时启动了三个服务:config-server、api-server 和 web-server
- config-server 是你节点需要连接的,类似于你用
tailscale up的--login-server参数,或是netbird up的--management-url - api-server 就是官方这个 Dashboard 的后端
- web-server 就是官方这个 Dashboard 的前端
- 自建前后端 就等于 Netbird、Tailscale 那个 Web 管理页面,可以管理设备,设置子网路由
具体步骤
- 下载 GitHub Release 里的压缩包,里面有一个 easytier-web-embed
- 执行
sudo chmod +x easytier-web-embed使其可被执行后,执行./easytier-web-embed --help后可以看到参数说明,你可以修改 config-server、 api-server 和 web-server 各自的端口默认直接运行
./easytier-web-embed即可,后续测试没问题后再部署成服务 - 部署完后需要对 api-server 和 web-server 进行反代 https 加密,套上你自己的域名。这两个默认端口一样,可以只做一个反代规则,公用一个域名
- 至此,你部署出来了三个服务
服务 说明 端口 协议 api-server 后面前端需要连接的 默认 11211,tcp,反代后那就是你自己 https 的端口 tcp web-server 前端 dashboard 默认 11211,tcp,反代后那就是你自己 https 的端口 tcp config-server 后续节点需要链接的,需要你服务器防火墙单独开放这个端口 默认 22020,udp udp - 打开反代的域名,就可以看到官方同款的 Dashboard 了,API Host 那里由于前面把两个服务反代成同一个域名,所以还写同域名即可

- 注册并登陆,就能看到控制台了

添加中继设备
配置步骤
- 在你想要作为中继服务器上启动 easytier 并连接上刚才部署的 config-server。config-server 斜杠后面是用户名,假设你 config-server IP 是 1.2.3.4,用户名是 abc,那就执行以下命令
1./easytier-core --config-server udp://1.2.3.4:22020/abc
没有问题的话会提示连接成功

- 默认端口是 11010,记得开放端口,修改的话参考官方文档
- 去到 Dashboard 那边,这里就能看到设备了。点设备右边的齿轮

- 点 Create

- 填写信息

下面的高级设置中,网络白名单同样是填上你的网络名称,这样其他设备就无法使用这台设备做为中转了
自定义路由打开,然后下面留空,因为他默认会接受其他所有设备的子网路由,所以这里建议打开但是什么都不填,后续可以自己再加

- 加完后,这里选择刚才创建的网络

- 加完后就可以看到这里是本机

添加其他设备
- 启动命令和中转服务器是一样的
1./easytier-core --config-server udp://1.2.3.4:22020/abc
- 然后在 Dashboard 里就可以看到另一个机器了,点击它右边的齿轮

- 这边无法直接选择刚才的网络,还是要点右边的 Create 手动添加一下

- 填写一样的网络名称、网络密码和公共服务器,IP 地址换一个同网段的另一个 IP 即可

注意: 网络方式 那里不要选手动,不然即便填了一样的网络名称和密码,两个机器之间互相也是看不到的
网络白名单和自定义路由也是一样

- 加完后,这里选择刚才创建的网络

- 可以看到两个设备之间可以通信了

至此,完成了等效于 Netbird 或是 Tailscale 的添加两个设备的步骤
使用 docker 部署
注册 easytier-web-embed
运行下面的命令启动
|
1 |
docker run -d --entrypoint easytier-web-embed -v /yourpath/data:/app -p 11211:11211 -p 22020:22020/udp easytier/easytier:latest |
主要就是重新指定了 entrypoint,使用 easytier-web-embed 启动
-v 路径映射根据自己的情况修改,/app 不要改,这个可以在 docker hub 上看到他默认的 workdir

注册 easytier-core
参考官方文档 https://easytier.cn/guide/installation.html 修改这里的启动参数即可
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
services: watchtower: # 用于自动更新easytier镜像,若不需要请删除这部分 image: containrrr/watchtower container_name: watchtower restart: unless-stopped environment: - TZ=Asia/Shanghai - WATCHTOWER_NO_STARTUP_MESSAGE volumes: - /var/run/docker.sock:/var/run/docker.sock command: --interval 3600 --cleanup --label-enable easytier: image: easytier/easytier:latest # 国内用户可以使用 m.daocloud.io/docker.io/easytier/easytier:latest hostname: easytier container_name: easytier labels: com.centurylinklabs.watchtower.enable: 'true' restart: unless-stopped network_mode: host cap_add: - NET_ADMIN - NET_RAW environment: - TZ=Asia/Shanghai devices: - /dev/net/tun:/dev/net/tun volumes: - /etc/easytier:/root - /etc/machine-id:/etc/machine-id:ro # 映射宿主机机器码 command: -d --network-name <用户> --network-secret <密码> -p tcp://<您的公网IP>:11010 |
如果大家觉得麻烦的,还可以使用一键脚本部署,参考地址:https://www.88531.cn/45308.html
创作不易,用心坚持,请喝一怀爱心咖啡!继续坚持创作~~















