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 编辑过