异地组网easytier

-
2025-09-25

docker部署:

docker-compose:

version: "3.8"
services:
  et-web:
    image: easytier/easytier:v2.3.2
    container_name: et-web
    entrypoint: ["/sbin/tini","--","easytier-web-embed"]
    # Web & API 仅回环访问;Config Server 对外(客户端要连)
    ports:
      - "127.0.0.1:11211:11211/tcp"   # API & Web(新版本同端口;旧版兼容见下行)
      - "127.0.0.1:8081:8081/tcp"     # Web UI(部分部署常用)
      - "22020:22020/udp"             # Config Server
    volumes:
      - ./easytier_data:/easytier_data
      - /etc/machine-id:/etc/machine-id:ro # 保证 machine-id 稳定
    restart: unless-stopped

  et-core:  # 私有中继/骨干
    image: easytier/easytier:v2.3.2
    container_name: et-core
    command: [
      "--network-name","${ET_NET}",
      "--network-secret","${ET_SECRET}",
      "--config-server","udp://${PUBLIC_IP}:22020/${ET_USER}",
      "--private-mode","true",
      "--relay-network-whitelist","${ET_NET}",
      "--listeners","11010"    # 默认监听;也可换端口
    ]
    # 仅当你希望它对等端能主动连入时再映射端口;否则可去掉以下四行
    ports:
      - "11010:11010/udp"
      - "11010:11010/tcp"
      - "11011:11011/udp"  # 若启用 WG/WS 会用到
      - "11011:11011/tcp"
    volumes:
      - /etc/machine-id:/etc/machine-id:ro
    depends_on: [et-web]
    restart: unless-stopped

相关配置:

ET_NET=mynet
ET_SECRET=请换成超长随机口令
ET_USER=你的用户名
PUBLIC_IP=你的服务器公网IP

使用:

通过 SSH 转发访问 Web 控制台

使用客户端shell,例如windows的powershell

ssh -L 8081:127.0.0.1:8081 -L 11211:127.0.0.1:11211 <你的服务器用户>@<服务器IP>

防火墙建议

sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw allow 22020/udp          # 客户端配置同步必需
# 如暴露中继监听:放行 11010/udp,tcp(和 11011 如需 WG/WS)
sudo ufw allow 11010/udp
sudo ufw allow 11010/tcp
# 若你客户端来源固定,也可以将 22020/udp 限定来源网段

 SSH 转发后,web访问http://127.0.0.1:18111/,进入webui界面,点击注册账号经行注册

注册之后,点击右侧齿轮添加节点tcp://<公网ip>:11010/<网络名>,其余和配置文件内容一致

客户端添加,windowds客户端图形化添加和服务端一致

Linux下载对应二进制文件解压缩后

 ./easytier-core --config-file conf.toml
 配置文件如下:
instance_name = "<name>" #随便写
instance_id = "a3ea4b11-3a9b-439c-8f6d-74e5031cce46" #随便写,唯一性,不写应该也会随机生成
dhcp = true
listeners = [
    "tcp://0.0.0.0:11010",
    "udp://0.0.0.0:11010",
    "wg://0.0.0.0:11011",
]
rpc_portal = "0.0.0.0:0"

[network_identity]
network_name = "<name>" #服务端.env对应的名字
network_secret = "<screen>"
 #服务端.env对应的密码

[[peer]]
uri = "tcp://<公网ip>:11010/<name>" #公网ip和服务端定义的名字,理论上这个名字不写也可以

[[proxy_network]]
cidr = "192.168.0.0/16"   #转发内网网段

[flags]

Linux客户端,下载二进制文件之后

# 临时运行(用于测试)
sudo easytier-core \
  --config-server udp://103.82.54.223:22020/msl \
  --network-name msl \
  --network-secret qwertyyy \
  --dhcp 
# -n 172.31.0.0/16 转发内网

注册为服务文件

[Unit]
Description=EasyTier Core
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/easytier-core --config-server udp://103.82.54.223:22020/msl --network-name msl --network-secret qwertyyy --dhcp
Restart=on-failure
User=root

[Install]
WantedBy=multi-user.target

windows图形化转发内网只需要在子网代理CIDR部分添加转发的内网网段即可


目录