最近网上看到这个组网工具,由于车机无ipv6 ,家里是ipv6 ,但有一台阿里云公网ipv4 服务器,以前用taiscale 和 zerotier 貌似没组成p2p, 这个easytier看起来部署还更简单,于是尝试下。
首先在阿里云服务器上安装,我这里尝试脚本一键安装因为网络墙问题没成功,所以换种方式。我的阿里云服务器ubuntu无gui,所以这里下载的cli ,是zip提供的easytier-linux-x86_64-v2.4.5.zip, 解压后上传到服务器,我这里上传到了/home目录
然后
./easytier-core --version
官方有有一键注册服务,但我使用的是systemd

将服务安装为 Linux Systemd 服务
创建新的服务文件 /etc/systemd/system/easytier.service,并根据需要修改 ExecStart 后面的命令行参数。
官方是这样的

但我这里可能由于之前跑了一键安装脚本,这个目录下是easytier@.service

我的内容如下
[Unit] Description=EasyTier Service Wants=network.target After=network.target network.service StartLimitIntervalSec=0 [Service] Type=simple WorkingDirectory=/opt/easytier ExecStart=/opt/easytier/easytier-core -c /opt/easytier/config/default.conf Restart=always RestartSec=1s [Install] WantedBy=multi-user.target
启用服务
systemctl enable easytier.service #我这里是easytier@default ,下面同理
启动和停止
systemctl start easytier.service systemctl stop easytier.service
/opt/easytier/config/default.conf 内容
instance_name = "default" dhcp = true listeners = [ "tcp://0.0.0.0:11010", "udp://0.0.0.0:11010", "wg://0.0.0.0:11011", "ws://0.0.0.0:11011/", "wss://0.0.0.0:11012/", ] exit_nodes = [] rpc_portal = "0.0.0.0:0" [[peer]] uri = "tcp://kecq.com:11010" [network_identity] network_name = "xxxxxx" network_secret = "xxxxxx" [flags] default_protocol = "udp" dev_name = "aliyun" # 这个好像没用 enable_encryption = true enable_ipv6 = true mtu = 1380 latency_first = false enable_exit_node = false no_tun = false use_smoltcp = false foreign_network_whitelist = "*" disable_p2p = false p2p_only = false relay_all_peer_rpc = false disable_tcp_hole_punching = false disable_udp_hole_punching = false host_name = "aliyun-chengdu" # 这个好像也不起作用 改成hostname 也不行?
此时服务器就部署好了,记得在阿里云官网打开防火墙。
家里ubuntu 也按照上面同理。但不知为何执行文件路径在/opt/easytier
/opt/easytier/config/default.conf 文件内容
instance_name = "default" dhcp = true listeners = [ "tcp://0.0.0.0:11010", "udp://0.0.0.0:11010", "wg://0.0.0.0:11011", "ws://0.0.0.0:11011/", "wss://0.0.0.0:11012/", ] exit_nodes = [] rpc_portal = "0.0.0.0:0" [[peer]] uri = "tcp://kecq.com:11010" #阿里云地址 [network_identity] network_name = "xxxxxx" #填写上面阿里云服务器一样的 network_secret = "xxxxx" #填写上面阿里云服务器一样的 [flags] default_protocol = "tcp" dev_name = "ubuntu-12900h" enable_encryption = true enable_ipv6 = true mtu = 1380 latency_first = false enable_exit_node = false no_tun = false use_smoltcp = false foreign_network_whitelist = "*" disable_p2p = false p2p_only = false relay_all_peer_rpc = false disable_tcp_hole_punching = false disable_udp_hole_punching = false
/etc/systemd/system/easytier@.service 文件内容
[Unit] Description=EasyTier Service Wants=network.target After=network.target network.service StartLimitIntervalSec=0 [Service] Type=simple WorkingDirectory=/opt/easytier ExecStart=/opt/easytier/easytier-core -c /opt/easytier/config/%i.conf -n 192.168.31.0/24 --enable-quic-proxy --use-smoltcp --hostname ubuntu12900h Restart=always RestartSec=1s [Install] WantedBy=multi-user.target
ExecStart 后面我加了一些参数。
然后就是注意打开下防火墙。
当然也可以在家里windows虚拟机上部署,家里ubuntu和windows 只需要部署一个就可以了,windows参照官网,可以直接使用gui的
然后说说在外面访问,我家里的成都电信宽带被拉入了限速Ip , 我其实并没有大流量上传也没跑pcdn ,这个后面准备投诉
在外面用手机流量直接防护家里Ipv6 ,上传是被限制的,而且我发现居然外面网家里直接用ipv6上传也是被限制的(用iperf3)....
然后尝试了ws 和wss协议,发现wss 被限制,ws貌似没有限制
如何强制使用ws协议,public server 貌似用tcp并不影响

是家里windows或ubuntu 启动时强制加上 -l ws:11011
.\easytier-core -d --network-name easytier-kecq --network-secret fangfang -p wss://kecq.com:11012 -n 192.168.31.0/24 --enable-quic-proxy --hostname winserver2025 -l ws:11011
并且外面客户端高级设置监听urls也只选ws

但发现外面用车机ipv4 的话p2p不容易打通,打通后会降级成udp
但外面手机卡ipv6 是可以打通,此时走ws协议,然后用分配的虚拟ip 跑iperf3 -c 家里局域网ip -R 测试发现速度正常,相比来说ipv6 反而被限制。
至此如果使用车机ipv4,实在没搞定家里宽带限速问题,不折腾了。
另外用阿里云iperf3打流,发现阿里云下载带宽也没像上传带宽那样限制死3M ,至少能跑到70mbps 的。
2026.5.13
easytier web控制台
按官方的
./easytier-web-embed \ --api-server-port 11211 \ --api-host "http://127.0.0.1:11211" \ --config-server-port 22020 \ --config-server-protocol udp
然后在阿里云防火墙打开11211
然后浏览器访问kecq.com:11211
会发现验证码打不开

点击Register注册一个账户,若刷新不出验证码则说明你--api-host设置有误

因为是用kecq.com 访问的,所以界面中api host 中应该改为http://kecq.com:11211
这里UI 就搭建好了,但实际上结束ssh 后就没有了,所以还需要加到systemctl服务中
创建 systemd 服务单元文件
vi /etc/systemd/system/easytier-web-embed.service
写入以下内容
[Unit] Description=easytier-web-embed Service After=network.target [Service] Type=simple ExecStart=/opt/easytier/easytier-web-embed User=root Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
加载服务
systemctl daemon-reload systemctl enable easytier-web-embed --now
可以使用下面的命令查看服务状态和日志
systemctl status easytier-web-embed journalctl -u easytier-web-embed -f
这里UI 就部署好了,上面ExecStart=/opt/easytier/easytier-web-embed 也没加参数就默认
然后就需要启动easytier-core 了,这里好像看起来应该是与命令行或服务启动的easytier-core冲突,这里的意思是接入UI,接下来在web上启动,选其一即可,因为在服务开启的状态下
启动下面命令貌似会报11010 端口已使用,所以停止掉easytier服务后用下面命令加入UI ,然后UI启动应该就可以,嗯,实践了下果然是这样
./easytier-core -w udp://127.0.0.1:22020/<你在自建web控制台上的用户名>
另外试了在easytier@.service 文件启动参数中加 -w udp://127.0.0.1:22020 貌似会报错
nginx 代理web ui
添加配置
vi /etc/nginx/conf.d/easytier-web.conf
内容如下
# HTTP 服务器块,用于重定向到 HTTPS
server {
listen 80;
server_name easytier.kecq.com; # 替换为你的域名
# 强制将所有 HTTP 请求重定向到 HTTPS
return 301 https://$host$request_uri;
}
# HTTPS 服务器块
server {
listen 443 ssl;
server_name easytier.kecq.com; # 替换为你的域名
# SSL 证书配置
ssl_certificate /etc/letsencrypt/xxxxxx/xxxxxx.pem;
ssl_certificate_key /etc/letsencrypt/xxxxxxx/privkey.pem;
# SSL 协议和加密套件配置(建议配置)
ssl_protocols TLSv1.2 TLSv1.3; # 使用安全的协议版本
ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384; # 使用强密码套件
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# 反向代理配置
location / {
# 代理到本地的 11211 端口
proxy_pass http://localhost:11211;
# 设置传递给后端服务器的请求头信息
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# 可选:配置超时时间
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
}
}然后
nginx -s reload
发现能访问网页,但登录不了,换了api host也不行,先不管它,可以直接用kecq.com:11211
然后/etc/systemd/system/easytier@.service
修改下
ExecStart=/opt/easytier/easytier-core --config-server udp://127.0.0.1:22020/上面ui注册的用户名
然后在web ui创建网络

在然后发现家里和阿里云通信使用默认tcp限速,只需要在家里启动的时候选 ws://kecq.com:11011 ,可以在阿里云上用 Iperf3 -c xxxxx -R 验证下
另一个发现是外面车机wifi surface连接后,使用192.168.31.x 没有直接使用 10.126.126.x 快,也可以外面用 Iperf3 -c xxxxx -R 验证下
所以访问家里windows还需要在windows上再部署一个easytier ,用10.126.126.x 访问jellyfin 使用1.5Mpbs 可以勉强流畅看电影,成都电信真辣鸡
珂珂的个人博客 - 一个程序猿的个人网站