EasyTier是由 Rust 和 Tokio 驅動一個簡單、安全、去中心化的內網穿透 遠程 組網方案,開源項目。
優點
- ? 公網 IP 組網:支持利用共享的公網節點組網, 可以使用EasyTier公共Peers
- ? NAT穿透:支持基于 UDP 的 NAT 穿透,即使在復雜的網絡環境下也能建立穩定的連接
- ? 子網代理(點對網):節點可以將可訪問的網段作為代理暴露給 遠程 子網,允許其他節點通過該節點訪問這些子網
- ? 智能路由:根據流量智能選擇鏈路,減少延遲,提高吞吐量
- ? TCP 支持:在 UDP 受限的情況下,通過并發 TCP 鏈接提供可靠的數據傳輸,優化性能
- ? 高可用性:支持多路徑和在檢測到高丟包率或網絡錯誤時切換到健康路徑
- ? 安全:支持利用 WireGuard 加密通信,也支持 AES-GCM 加密保護中轉流量
項目情況
部署
這里以手動安裝和docker部署方式為例
手動安裝部署
EasyTier采用rust開發,交叉編譯成二進制文件,部署極其方便簡單
直接下載已經編譯好的文件,安裝即可,下面分幾步執行
EasyTier默認是不區分客戶端還是服務端,故本次部署即是服務端又是客戶端。一般情況下 開放監聽端口為服務端,不開放監聽端口為客戶端
Linux-x86_64
適用于Debian系列,其它架構系統類似。默認root終端執行。
下載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
,內容如下:
instance_name = "default"
# easytier組網的ip地址
ipv4 = "192.168.66.80"
dhcp = false
exit_nodes = []
# api地址,記得改成本地監聽
rpc_portal = "127.0.0.1:15888"
# 自定義 使用 32379 32380 端口作為監聽發現服務 默認監聽IPv4/IPv6, 服務端可以根據自己實際情況配置,可以全開,也可以為空不開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/",
]
# 組網憑證
[network_identity]
network_name = "xxxx"
network_secret = "xxxx"
# tcp://public.easytier.transform: translateY(11010 是自定義要連的其他節點, 如果是第一個節點,可以不用配置, 這里以官方的節點為例
[[peer]]
uri = "tcp://public.easytier.top:11010"
# 其他參數
[flags]
dev_name = "easytier0"
enable_ipv6 = true
另外當服務跑起來后,也可以使用easytier-cli node config
命令查看節點配置文件
編寫啟動守護文件并啟動
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
可以使用配置文件,也可以使用命令行參數方式,如果節點配置都一樣,推薦使用配置文件方式。
啟動服務
# 開機自啟并立即啟動
systemctl enable easytier --now
如果使用命令行參數,每次啟動后需要reload一下
systemctl daemon-reload
systemctl restart easytier
查詢服務是否正常
執行easytier-cli peer
, 由于使用的是公共節點,所以會有節點信息
如下是我自己的組網節點
使用docker部署
編寫docker-compose.yml
首先創建一個目錄(如easytier),然后在該目錄下創建docker-compose.yml文件,內容如下:
services:
easytier:
privileged:true
container_name:easytier
network_mode:host
volumes:
-easytier:/root
environment:
-TZ=Asia/Shanghai
# 方便國內部署,我會定期同步到騰訊云容器倉庫
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
同理,如果需要查看節點信息,可以使用docker exec -it easytier easytier-cli peer
命令
需要自行放行相關端口,如32379, 32380等
其他系統部署
Windows部署可以參考官方文檔[3]
Windows Scoop安裝
在PowerShell 執行下列代碼以安裝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 你的參數
# 編輯服務
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下需要管理員權限執行, 相關路徑也需要確定,不一定是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 編輯過