拓扑与规划
Node A: Linux 小主机 (Ubuntu 24.04) → 10.144.0.1
Node B: Windows 游戏机 → 10.144.0.2
Node C: OpenWrt 路由器 → 10.144.0.3
网络名: home-net
子网: 10.144.0.0/16 子网规划(用 子网冲突检查器 验证过无冲突)
| 节点 | VPN IP | 局域网 IP | 角色 |
|---|---|---|---|
| A - Linux | 10.144.0.1 | 192.168.1.50 | 种子节点 |
| B - Win | 10.144.0.2 | 192.168.1.100 | 普通节点 |
| C - OpenWrt | 10.144.0.3 | 192.168.1.1 | 网关+中继 |
Node A:Linux 配置
# /etc/easytier/config.toml
network_name = "home-net"
peer_name = "linux-node"
subnet = "10.144.0.0/16"
node_ip = "10.144.0.1"
listen_port = 11010
encryption = "aes-gcm"
password = "your-strong-password-here"
# 对端列表
[[peers]]
ip = "10.144.0.2"
port = 11010
[[peers]]
ip = "10.144.0.3"
port = 11010
# Web API 仅绑回环
[web_api]
enabled = false
bind = "127.0.0.1"
port = 11211 启动:
sudo systemctl enable --now easytier
sudo systemctl status easytier
# 看日志
journalctl -u easytier -f Node B:Windows 配置
下载 EasyTier GUI 安装包,安装后:
- 打开 EasyTier GUI → Normal Mode
- 网络名填
home-net - 本节点 IP 填
10.144.0.2 - 对端填
10.144.0.1:11010 - 密码填和 Linux 一样的
- 不要勾选"启用 Web 控制台"(安全)
- 点连接
Node C:OpenWrt 配置
OpenWrt 装 easytier 包:
opkg update
opkg install easytier 配置 /etc/config/easytier:
config easytier 'main'
option enabled '1'
option network_name 'home-net'
option peer_name 'openwrt-gw'
option subnet '10.144.0.0/16'
option node_ip '10.144.0.3'
option listen_port '11010'
option encryption 'aes-gcm'
option password 'your-strong-password-here'
option peer_list '10.144.0.1:11010,10.144.0.2:11010' 防火墙放行(关键!):
# /etc/firewall.user
iptables -I INPUT -p udp --dport 11010 -j ACCEPT
iptables -I FORWARD -i tun0 -j ACCEPT
iptables -I FORWARD -o tun0 -j ACCEPT 验证连通
在 Linux 上:
ping 10.144.0.2 # → Win
ping 10.144.0.3 # → OpenWrt
# 从 Win 也能 ping 通 Linux 和 OpenWrt 踩坑记录
- 坑 1:OpenWrt 防火墙默认拦 FORWARD,必须加 tun0 放行规则
- 坑 2:Windows 防火墙默认拦入站 ICMP,需手动开"文件和打印机共享(回显请求)"
- 坑 3:三个节点密码必须完全一致,否则 peer 列表里显示但连不上
- 坑 4:子网不能和家里 192.168.1.0/24 冲突(已用检查器验证)
- 坑 5:OpenWrt 的 easytier 包版本要和 Linux/Win 对齐,差一个大版本可能协议不兼容
进阶:让 OpenWrt 当网关,全家设备自动走 VPN
在 OpenWrt 上加静态路由 + NAT:
# 让 LAN 设备访问 10.144.0.0/16 走 tun0
ip route add 10.144.0.0/16 dev tun0
# NAT 出
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE 这样家里手机/电视连 WiFi 就能直接访问 Linux 上的服务,无需每台设备安装 EasyTier。