1. 背景
原来使用 npc 穿透加 RDP 连接云电脑,画面本身很流畅,但遇到两个问题:
- RDP 隔一段时间会断连。
- 从本地复制大文件到云电脑速度慢,而且容易中断。
后来改用 EasyTier 组建虚拟局域网。因为云电脑的 NAT 比较严格,本地电脑的 NAT 相对宽松,所以最终采用一台 200M 低延迟公网服务器作为 EasyTier 共享节点。
目标是:
- 本地电脑和云电脑优先尝试 P2P 直连。
- P2P 失败时自动走公网服务器中继。
- RDP 使用 EasyTier 虚拟 IP 连接。
2. 最终架构
公网服务器
EasyTier 共享节点 / 中继节点
TCP/UDP 11010
|
-------------------------------------
| |
本地电脑 云电脑
10.188.188.20 10.188.188.10
| |
--------- 优先 P2P,失败走中继 -------服务器只作为共享节点,不分配虚拟 IP。真正的虚拟网段给本地电脑、云电脑和其他设备使用。
3. 服务器准备
服务器安全组和系统防火墙放行:
TCP 11010
UDP 110104. 安装 EasyTier
curl -fsSL "https://github.com/EasyTier/EasyTier/blob/main/script/install.sh?raw=true" | sudo bash -s install检查版本:
easytier-core --version
easytier-cli --version5. 服务器共享节点配置
服务器节点参数示例:
服务器共享节点网络名:aichuguang
服务器共享节点密码:SERVER_SECRET
允许中继的私有网络名:aichuguang-rdp-net
监听端口:11010说明:
- aichuguang 是服务器共享节点自己的网络名。
- SERVER_SECRET 是服务器共享节点自己的密码。
- xi-rdp-net 是本地电脑和云电脑实际加入的私有网络名,相当于白名单,只有这个网络名才允许服务器中转
- 客户端不需要填写服务器的 aichuguang 密码,只需要填写自己的私有网络名和私有网络密码。
前台测试启动:
sudo easytier-core \
--network-name aichuguang \
--network-secret "SERVER_SECRET" \
--relay-network-whitelist "aichuguang-rdp-net" \
-l tcp://0.0.0.0:11010 \
-l udp://0.0.0.0:11010 \
--multi-thread \
--multi-thread-count 4如果出现 Address in use,说明端口已被占用,可以查看:
ss -lntup | grep 11010
ps -ef | grep easytier | grep -v grep6. systemd 持久化
先确认 easytier-core 的真实路径:
command -v easytier-core
readlink -f "$(command -v easytier-core)"例如路径是:
/opt/easytier/easytier-core创建 systemd 服务,将 SERVER_SECRET 替换成真实密码:
systemctl stop easytier 2>/dev/null
systemctl reset-failed easytier 2>/dev/null
cat > /etc/systemd/system/easytier.service <<'EOF'
[Unit]
Description=EasyTier Public Relay Node
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
ExecStart=/opt/easytier/easytier-core --network-name aichuguang --network-secret "SERVER_SECRET" --relay-network-whitelist "aichuguang-rdp-net" -l tcp://0.0.0.0:11010 -l udp://0.0.0.0:11010 --multi-thread --multi-thread-count 4
Restart=always
RestartSec=3
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
EOF启动并设置开机自启:
systemctl daemon-reload
systemctl enable --now easytier
systemctl status easytier --no-pager -l查看日志:
journalctl -u easytier -n 80 --no-pager -l
journalctl -u easytier -f确认端口监听:
ss -lntup | grep 110107. 客户端配置
客户端包括本地电脑、云电脑和后续加入的其他设备。这些设备都加入同一个私有网络:
网络名:aichuguang-rdp-net
网络密码:PRIVATE_NET_SECRET
共享节点:tcp://服务器公网IP:11010
共享节点:udp://服务器公网IP:11010云电脑配置示例:
虚拟 IPv4:10.188.188.10/24
主机名:cloud-pc
网络名:aichuguang-rdp-net
网络密码:PRIVATE_NET_SECRET
节点:tcp://服务器公网IP:11010
节点:udp://服务器公网IP:11010本地电脑配置示例:
虚拟 IPv4:10.188.188.20/24
主机名:local-pc
网络名:xi-rdp-net
网络密码:PRIVATE_NET_SECRET
节点:tcp://服务器公网IP:11010
节点:udp://服务器公网IP:11010命令行写法示例:
.\easytier-core.exe -i 10.188.188.20 --network-name aichuguang-rdp-net --network-secret "PRIVATE_NET_SECRET" -p tcp://服务器公网IP:11010 -p udp://服务器公网IP:11010 --hostname local-pc --latency-first8. 验证组网状态
查看节点、对端和路由:
easytier-cli node
easytier-cli peer
easytier-cli route重点看这些字段:
| 显示 | 含义 |
|---|---|
| p2p | 已经直连,最好 |
| relay | 通过服务器中继,可用但多一跳 |
| tcp | TCP 链路,通常更稳 |
| udp | UDP 链路,通常延迟更低 |
| 0% | 当前无丢包 |
| Symmetric | 对称型 NAT,P2P 难度较高 |
| Port Restricted | 端口受限 NAT,P2P 成功率通常比 Symmetric 好 |
如果看到类似:
10.188.188.10 cloud-pc p2p udp 11ms 0%说明本地电脑和云电脑已经 P2P 打洞成功。

这就很舒服了!