EasyTier是由 Rust 和 Tokio 驅(qū)動一個簡單、安全、去中心化的內(nèi)網(wǎng)穿透 遠程 組網(wǎng)方案,開源項目。
優(yōu)點
- ? 去中心化:無需依賴中心化服務,節(jié)點平等且獨立
- ? 公網(wǎng) IP 組網(wǎng):支持利用共享的公網(wǎng)節(jié)點組網(wǎng), 可以使用EasyTier公共Peers
- ? NAT穿透:支持基于 UDP 的 NAT 穿透,即使在復雜的網(wǎng)絡環(huán)境下也能建立穩(wěn)定的連接
- ? 子網(wǎng)代理(點對網(wǎng)):節(jié)點可以將可訪問的網(wǎng)段作為代理暴露給 遠程 子網(wǎng),允許其他節(jié)點通過該節(jié)點訪問這些子網(wǎng)
- ? 智能路由:根據(jù)流量智能選擇鏈路,減少延遲,提高吞吐量
- ? TCP 支持:在 UDP 受限的情況下,通過并發(fā) TCP 鏈接提供可靠的數(shù)據(jù)傳輸,優(yōu)化性能
- ? 高可用性:支持多路徑和在檢測到高丟包率或網(wǎng)絡錯誤時切換到健康路徑
- ? 安全:支持利用 WireGuard 加密通信,也支持 AES-GCM 加密保護中轉(zhuǎn)流量
- ? IPV6 支持:支持利用 IPV6 組網(wǎng)
項目情況
部署
這里以手動安裝和docker部署方式為例
手動安裝部署
EasyTier采用rust開發(fā),交叉編譯成二進制文件,部署極其方便簡單
直接下載已經(jīng)編譯好的文件,安裝即可,下面分幾步執(zhí)行
EasyTier默認是不區(qū)分客戶端還是服務端,故本次部署即是服務端又是客戶端。一般情況下 開放監(jiān)聽端口為服務端,不開放監(jiān)聽端口為客戶端
Linux-x86_64
適用于Debian系列,其它架構(gòu)系統(tǒng)類似。默認root終端執(zhí)行。
下載EasyTier
mkdir -p /etc/et && cd /etc/et
wget wget https://github.com/EasyTier/EasyTier/releases/download/v2.1.1/easytier-linux-x86_64-v2.1.1.zip
# 上面沒法下載,可以使用下面的鏈接下載
wget https://gh.dev.438250.xyz/https://github.com/EasyTier/EasyTier/releases/download/v2.1.1/easytier-linux-x86_64-v2.1.1.zip
解壓
unzip easytier-linux-x86_64-v2.1.1.zip
cp -a easytier-linux-x86_64/* .
rm -rf easytier-linux-x86_64 easytier-linux-x86_64-v2.1.1.zip
chmod +x ./*
mv ./easytier-* /usr/bin/
編寫配置文件
默認路徑為/etc/et/config.toml
,內(nèi)容如下:
instance_name = "default"
# easytier組網(wǎng)的ip地址
ipv4 = "192.168.66.80"
dhcp = false
exit_nodes = []
# api地址,記得改成本地監(jiān)聽
rpc_portal = "127.0.0.1:15888"
# 自定義 使用 32379 32380 端口作為監(jiān)聽發(fā)現(xiàn)服務 默認監(jiān)聽IPv4/IPv6, 服務端可以根據(jù)自己實際情況配置,可以全開,也可以為空不開listeners = [],客戶端可以不開
listeners = [
"tcp://0.0.0.0:32379",
"udp://0.0.0.0:32379",
"udp://[::]:32379",
"tcp://[::]:32379",
"wss://0.0.0.0:32380/",
"wss://[::]:32380/",
]
# 組網(wǎng)憑證
[network_identity]
network_name = "xxxx"
network_secret = "xxxx"
# tcp://public.easytier.transform: translateY(11010 是自定義要連的其他節(jié)點, 如果是第一個節(jié)點,可以不用配置, 這里以官方的節(jié)點為例
[[peer]]
uri = "tcp://public.easytier.top:11010"
# 其他參數(shù)
[flags]
dev_name = "easytier0"
enable_ipv6 = true
另外當服務跑起來后,也可以使用easytier-cli node config
命令查看節(jié)點配置文件
編寫啟動守護文件并啟動
cat > /etc/systemd/system/easytier.service <<EOF
[Unit]
Description=EasyTier
After=network.target
[Service]
Type=simple
WorkingDirectory=/etc/et
# ExecStart=/usr/bin/easytier-core -i 192.168.66.80 --network-name ysicing --network-secret ysicing -e tcp://public.easytier.transform: translateY(11010 --dev-name easytier0 --rpc-portal 127.0.0.1:15888 --no-listener
ExecStart=/usr/bin/easytier-core -c /etc/et/config.toml
Restart=always
RestartSec=10
User=root
Group=root
[Install]
WantedBy=multi-user.target
EOF
可以使用配置文件,也可以使用命令行參數(shù)方式,如果節(jié)點配置都一樣,推薦使用配置文件方式。
啟動服務
# 開機自啟并立即啟動
systemctl enable easytier --now
如果使用命令行參數(shù),每次啟動后需要reload一下
systemctl daemon-reload
systemctl restart easytier
查詢服務是否正常
執(zhí)行easytier-cli peer
, 由于使用的是公共節(jié)點,所以會有節(jié)點信息
?
如下是我自己的組網(wǎng)節(jié)點

使用docker部署
編寫docker-compose.yml
首先創(chuàng)建一個目錄(如easytier),然后在該目錄下創(chuàng)建docker-compose.yml文件,內(nèi)容如下:
services:
easytier:
privileged:true
container_name:easytier
network_mode:host
volumes:
-easytier:/root
environment:
-TZ=Asia/Shanghai
# 方便國內(nèi)部署,我會定期同步到騰訊云容器倉庫
image:ccr.ccs.tencentyun.com/k7scn/easytier:latest
# 憑證需要保持一致
command:-i192.168.66.8--network-nameysicing--network-secretysicing-ltcp://0.0.0.0:32379-etcp://public.easytier.transform: translateY(11010--dev-nameeasytier0--rpc-portal127.0.0.1:15888# --vpn-portal wg://0.0.0.0:32380/192.168.77.0/24
restart:always
volumes:
easytier:
driver: local
啟動服務
docker compose pull
docker compose up -d
同理,如果需要查看節(jié)點信息,可以使用docker exec -it easytier easytier-cli peer
命令
需要自行放行相關(guān)端口,如32379, 32380等
其他系統(tǒng)部署
Windows部署可以參考官方文檔[3]
Windows Scoop安裝
在PowerShell 執(zhí)行下列代碼以安裝Scoop
irm get.scoop.sh | iex
scoop install git
scoop install nssm
# 添加軟件源
scoop bucket add moec https://github.com/laoxong/ScoopBucket
scoop install easytier
# 以服務的方式啟動,也可以直接啟動測試
nssm.exe install easytier_service C:\Scoop\apps\easytier\current\easytier-core.exe 你的參數(shù)
# 編輯服務
nssm edit easytier_service
示例: nssm.exe install easytier_service C:\Scoop\apps\easytier\current\easytier-core.exe -i 192.168.66.81 -e tcp://public.easytier.transform: translateY(11010 --dev-name easytier0 --network-name xxxx --network-secret xxxx
注意:Windows下需要管理員權(quán)限執(zhí)行, 相關(guān)路徑也需要確定,不一定是C:\Scoop\
,可能是當前用戶目錄下的scoop
目錄
打開services.msc 找到easytier_service,修改為延遲啟動

其他
僅供參考,不對其安全性負責
引用鏈接
[1]
EasyTier/EasyTier:https://github.com/EasyTier/EasyTier/releases
[2]
官方文檔:https://easytier.cn/guide/introduction.html
[3]
官方文檔:https://easytier.cn/guide/network/install-as-a-windows-service.html
[4]
EasyTier 配置管理腳本 :https://github.com/CGG888/EasyTier/blob/main/script%2FREADME.md
[5]
EasyTier 管理器:https://github.com/xlc520/easytier-manager
[6]
EasyTier 公共服務器:https://easytier.gd.nkbpal.cn/status/easytier
閱讀原文:原文鏈接
該文章在 2025/1/10 9:18:04 編輯過