EasyTier自建服务器组网教程

之前有使用过 ZeroTier 进行校园网内网环境下设备穿透组网,但是发现并不是那么好用,自建服务器效果也不太好,官方服务器慢的要死。偶然的机会,听朋友介绍了 EasyTier ,试了一下确实不错,写一篇博客记录一下折腾过程。
官方文档算比较完善了,看看自己也能搭建成功,如果你只是单纯想要自建一个服务器并且配置电脑进行连接组建虚拟局域网,不使用其他的功能,那就可以参考这篇教程。

下载 EasyTier

直接在官方的文档界面就可以下载,而且提供了Github加速,非常贴心。
直接wget梭哈:

cd /opt/
wget https://ghfast.top/https://github.com/EasyTier/EasyTier/releases/download/v2.4.2/easytier-linux-x86_64-v2.4.2.zip
unzip easytier-linux-x86_64-v2.4.2.zip 
rm easytier-linux-x86_64-v2.4.2.zip 
cd easytier-linux-x86_64/

配置 EasyTier 启动参数

注意,请在root权限下运行 EasyTier ,因为创建 TUN 设备需要root权限。

服务端配置

在服务器端,开放11010端口的TCPUDP防火墙连接许可。
然后启动服务端:

./easytier-core --private-mode true --network-name nekopara-uk --network-secret 3bbca7ed-a114-4821-b61f-f3b214af97da -i 10.6.6.1

参数解释:

  • --private-mode:启用私有模式
  • --network-name:网络名称(可以理解为客户端连接时的用户名)
  • --network-secret:连接的密钥,建议使用uuidgen命令生成UUID作为密码。
  • -i:服务端IP地址网段,这里指定了10.6.6.1,那服务器给连接的节点分配的就是10.6.6.2-10.6.6.255这个个IP段。

至此,服务端已经配置完毕,是不是很简单?
启动后服务端会打印toml格式配置文件文本,可以复制出来方便后面指定配置文件启动:

NekoHost:/data/easytier-linux-x86_64# ./easytier-core --private-mode true --network-name nekopara-uk --network-secret 3bbca7ed-a114-4821-b61f-f3b214af97da -i 10.6.6.1
Starting easytier from cli with config:
############### TOML ###############

ipv4 = "10.6.6.1"
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/",
]
rpc_portal = "0.0.0.0:0"
tcp_whitelist = []
udp_whitelist = []

[network_identity]
network_name = "nekopara-uk"
network_secret = "3bbca7ed-a114-4821-b61f-f3b214af97da"

[flags]
private_mode = true

-----------------------------------
2025-08-24 14:14:12: [82a75e04-d647-4538-a9a4-54edabe9f469] new listener added. listener: tcp://0.0.0.0:11010
2025-08-24 14:14:12: [82a75e04-d647-4538-a9a4-54edabe9f469] new listener added. listener: tcp://[::]:11010
2025-08-24 14:14:12: [82a75e04-d647-4538-a9a4-54edabe9f469] new listener added. listener: udp://0.0.0.0:11010
2025-08-24 14:14:12: [82a75e04-d647-4538-a9a4-54edabe9f469] new listener added. listener: udp://[::]:11010
2025-08-24 14:14:12: [82a75e04-d647-4538-a9a4-54edabe9f469] new listener added. listener: wg://0.0.0.0:11011
2025-08-24 14:14:12: [82a75e04-d647-4538-a9a4-54edabe9f469] new listener added. listener: wg://[::]:11011
2025-08-24 14:14:12: [82a75e04-d647-4538-a9a4-54edabe9f469] new listener added. listener: ws://0.0.0.0:11011/
2025-08-24 14:14:12: [82a75e04-d647-4538-a9a4-54edabe9f469] new listener added. listener: ws://[::]:11011/
2025-08-24 14:14:12: [82a75e04-d647-4538-a9a4-54edabe9f469] new listener added. listener: wss://[::]:11012/
2025-08-24 14:14:12: [82a75e04-d647-4538-a9a4-54edabe9f469] new listener added. listener: wss://0.0.0.0:11012/
2025-08-24 14:14:12: [82a75e04-d647-4538-a9a4-54edabe9f469] tun device ready. dev: tun0

例如复制并保存为config.toml文件:

ipv4 = "10.6.6.1"
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/",
]
rpc_portal = "0.0.0.0:0"
tcp_whitelist = []
udp_whitelist = []

[network_identity]
network_name = "nekopara-uk"
network_secret = "3bbca7ed-a114-4821-b61f-f3b214af97da"

[flags]
private_mode = true

以后就可以这样子启动了:

./easytier-core -c config.toml

客户端配置

EasyTier,启动!

easytier-core --network-name nekopara-uk --network-secret 3bbca7ed-a114-4821-b61f-f3b214af97da -d -p tcp://100.100.100.100:11010

参数解释:

  • --network-name:网络名称,要和之前设置的相同
  • --network-secret:连接的密钥,要和之前设置的相同
  • -d:开启 DHCP 模式,自动分配 IP
  • -p:服务器的公网地址和端口

和前面的相同,启动后会生成并打印toml格式配置文件:

[root@P104-Cluster easytier-linux-x86_64]# ./easytier-core --network-name nekopara-uk --network-secret 3bbca7ed-a114-4821-b61f-f3b214af97da -d -p tcp://120.27.128.8:11010
Starting easytier from cli with config:
############### TOML ###############

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/",
]
rpc_portal = "0.0.0.0:0"
tcp_whitelist = []
udp_whitelist = []

[network_identity]
network_name = "nekopara-uk"
network_secret = "3bbca7ed-a114-4821-b61f-f3b214af97da"

[[peer]]
uri = "tcp://100.100.100.100:11010"

[flags]

-----------------------------------
2025-08-24 14:28:16: [81e60061-d0bc-4043-907b-02cb1bb21a65] new listener added. listener: tcp://[::]:11010
2025-08-24 14:28:16: [81e60061-d0bc-4043-907b-02cb1bb21a65] new listener added. listener: tcp://0.0.0.0:11010
2025-08-24 14:28:16: [81e60061-d0bc-4043-907b-02cb1bb21a65] new listener added. listener: udp://[::]:11010
2025-08-24 14:28:16: [81e60061-d0bc-4043-907b-02cb1bb21a65] new listener added. listener: udp://0.0.0.0:11010
2025-08-24 14:28:16: [81e60061-d0bc-4043-907b-02cb1bb21a65] new listener added. listener: wg://0.0.0.0:11011
2025-08-24 14:28:16: [81e60061-d0bc-4043-907b-02cb1bb21a65] new listener added. listener: wg://[::]:11011
2025-08-24 14:28:16: [81e60061-d0bc-4043-907b-02cb1bb21a65] new listener added. listener: ws://0.0.0.0:11011/
2025-08-24 14:28:16: [81e60061-d0bc-4043-907b-02cb1bb21a65] new listener added. listener: wss://0.0.0.0:11012/
2025-08-24 14:28:16: [81e60061-d0bc-4043-907b-02cb1bb21a65] new listener added. listener: wss://[::]:11012/
2025-08-24 14:28:16: [81e60061-d0bc-4043-907b-02cb1bb21a65] new listener added. listener: ws://[::]:11011/

保存为config.toml方便下次使用:

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/",
]
rpc_portal = "0.0.0.0:0"
tcp_whitelist = []
udp_whitelist = []

[network_identity]
network_name = "nekopara-uk"
network_secret = "3bbca7ed-a114-4821-b61f-f3b214af97da"

[[peer]]
uri = "tcp://100.100.100.100:11010"

[flags]

以后就可以这样子启动了:

./easytier-core -c config.toml

查看组网情况

运行以下命令:

./easytier-cli peer

即可看到连接的节点信息:

NekoHost:/data/easytier-linux-x86_64# ./easytier-cli peer
┌─────────────┬──────────────┬───────┬────────┬───────────┬──────────┬──────────┬──────────────┬────────────────┬────────────┬────────────────┐
│ ipv4        │ hostname     │ cost  │ lat_ms │ loss_rate │ rx_bytes │ tx_bytes │ tunnel_proto │ nat_type       │ id         │ version        │
├─────────────┼──────────────┼───────┼────────┼───────────┼──────────┼──────────┼──────────────┼────────────────┼────────────┼────────────────┤
│ 10.6.6.1/24 │ NekoHost     │ Local │ -      │ -         │ -        │ -        │ -            │ PortRestricted │ 1724147676 │ 2.4.2-1eec27b5 │
├─────────────┼──────────────┼───────┼────────┼───────────┼──────────┼──────────┼──────────────┼────────────────┼────────────┼────────────────┤
│ 10.6.6.2/24 │ P104-Cluster │ p2p   │ 45.366 │ 0.000     │ 2.27 kB  │ 2.35 kB  │ tcp          │ Symmetric      │ 2330562893 │ 2.4.2-1eec27b5 │
└─────────────┴──────────────┴───────┴────────┴───────────┴──────────┴──────────┴──────────────┴────────────────┴────────────┴────────────────┘

设置开机自启动

如果是云服务器这种能保证一直开机的,之间安装个tmux挂着就行了。但是对于内网环境且有时候可能会因为各种原因关机的设备,自动启动就很重要了。下面是设置方法:
将下面的 systemd 配置文件保存到:/etc/systemd/system/easytier.service

nano /etc/systemd/system/easytier.service

配置文件:

[Unit]
Description=EasyTier Service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/opt/easytier-linux-x86_64/easytier-core --network-name nekopara-uk --network-secret 3bbca7ed-a114-4821-b61f-f3b214af97da -d -p tcp://100.100.100.100:11010

[Install]
WantedBy=multi-user.target

启动参数那里记得做出相应的修改。
重新加载systemd配置文件,设置为开机启动并且立即启动:

systemctl daemon-reload
systemctl enable --now easytier

至此,配置完成。