EasyTier 简介

EasyTier 是一款简单、安全、去中心化的内网穿透和异地组网工具,适合远程办公、异地访问、游戏加速等多种场景。无需公网 IP,无需复杂配置,轻松实现不同地点设备间的安全互联。

项目官网:EasyTier - 简单、安全、去中心化的异地组网方案

部署(Docker-Compose)

服务端配置(以1Panel面板示范)

1.创建存储卷

EasyTier服务端创建存储卷.png

2.在创建的存储卷中新建config.yaml并写入配置

EasyTier服务端存储卷跳转.png
EasyTier服务端存储卷创建配置文件并写入.png

服务端config.yaml文件示例

#服务端基础信息
hostname = "Test-Server"  #主机名,需唯一(自定义)
instance_name = "Test-Network"  #与网络名称相同即可(自定义)
instance_id = "17c21940-9705-4d5f-9467-44d264245a4f"    #UUID,需标准且唯一,用UUID生成器生成即可
ipv4 = "10.0.0.1/24"    #虚拟网络IP段,也是服务端在虚拟网络的IP
dhcp = false    #服务端关闭DHCP,使用固定IP地址

#服务端监听端口,需在防火墙放行
listeners = [
    "tcp://0.0.0.0:11010", #TCP监听端口
    "udp://0.0.0.0:11010",  #UDP监听端口
    "wg://0.0.0.0:11011",   #WireGuard监听端口
]
#RPC端口
rpc_portal = "0.0.0.0:0"

#网络标识,客户端需与服务端同步
[network_identity]
network_name = "My-Test-Network"    #网络名称(需自定义,请勿照搬)
network_secret = "you-secret"   #网络密钥(需自定义,请勿照搬)

[flags]
private_mode = true #开启私有化模式,仅允许与服务端网络标识相同的客户端使用此服务端中转或打洞

3.创建编排

EasyTier服务端编排.png

服务端Compose配置

services: 
  easytier-server:
    image: easytier/easytier:latest
    container_name: EasyTier-Server #容器名称,可自定义
    hostname: Test-Server #与配置文件中hostname一致
    restart: always #重启策略:一直重启
    network_mode: host
    cap_add:
      - NET_ADMIN
      - NET_RAW
    environment:
      - TZ=Asia/Shanghai
    devices:
      - /dev/net/tun:/dev/net/tun
    volumes:
      - EasyTier:/root  #挂载方式使用存储卷,可自定义
      - /etc/machine-id:/etc/machine-id:ro
    command: --config-file /root/config.yaml
volumes:
  EasyTier:
    name: EasyTier

填入Compose点击保存即可运行服务端,启动后观察日志确保服务端正常启动。

客户端配置(以Dpanel示范)

1.创建存储卷

EasyTier创建存储卷.png
EasyTier存储卷参数.png

2.在新建的存储卷中新建config.yaml文件并写入配置

EasyTier客户端存储卷跳转.png
EasyTier客户端跳转存储卷.png
EasyTier客户端创建配置文件并写入.png

客户端config.yaml示例文件

#客户端基础参数
hostname = "Test-client"    #主机名,需唯一(自定义)
instance_name = "Test-Network"  #与网络名称相同即可(自定义)
instance_id = "17c21940-9705-4d5f-9467-44d264245a4f"    #UUID,需标准且唯一,用UUID生成器生成即可
ipv4 = "10.0.0.2/24"   #客户端加入虚拟网络的IP地址,需与服务端在同IP段(开启DHCP把此行删除即可)
dhcp = false    #客户端关闭DHCP,需要开启DHCP将false替换为true
listeners = []

#网络标识,客户端需与服务端同步
[network_identity]
network_name = "My-Test-Network"   #网络名称(需与服务端相同)
network_secret = "you-secret"   #网络密钥(需与服务端相同)

[[peer]]
uri = "tcp://服务端IP:11010"    #将服务端IP替换为你服务端的公网IP

[[peer]]
uri = "udp://服务端IP:11010"    #将服务端IP替换为你服务端的公网IP

[[peer]]
uri = "wg://服务端IP:11011" #将服务端IP替换为你服务端的公网IP

[flags]
private_mode = true #开启私有化模式,仅允许与服务端网络标识相同的客户端使用此服务端中转或打洞

3.创建Compose任务

EasyTier客户端创建任务.png
EasyTier客户端填写任务参数.png
EasyTier客户端启动任务.png

启动后观察日志确保客户端启动成功。

GUI客户端配置(以Win客户端示范)

GUI客户端Win.png

进阶

1.使用GUI生成配置文件

官网提供的配置文件生成工具:EasyTier Dashboard

2.子网代理

1.命令行客户端示例

在客户端配置文件中添加下列参数即可

[[proxy_network]]
cidr = "192.168.114.0/24" #将192.168.114.0/24替换为需要代理的IP段,例如192.168.0.0/24

示例

#客户端基础参数
hostname = "Test-client"    #主机名,需唯一(自定义)
instance_name = "Test-Network"  #与网络名称相同即可(自定义)
instance_id = "17c21940-9705-4d5f-9467-44d264245a4f"    #UUID,需标准且唯一,用UUID生成器生成即可
ipv4 = "10.0.0.2/24"   #客户端加入虚拟网络的IP地址,需与服务端在同IP段(开启DHCP把此行删除即可)
dhcp = false    #客户端关闭DHCP,需要开启DHCP将false替换为true
listeners = []

#网络标识,客户端需与服务端同步
[network_identity]
network_name = "My-Test-Network"   #网络名称(需与服务端相同)
network_secret = "you-secret"   #网络密钥(需与服务端相同)

[[peer]]
uri = "tcp://服务端IP:11010"    #将服务端IP替换为你服务端的公网IP

[[peer]]
uri = "udp://服务端IP:11010"    #将服务端IP替换为你服务端的公网IP

[[peer]]
uri = "wg://服务端IP:11011" #将服务端IP替换为你服务端的公网IP

[[proxy_network]]
cidr = "192.168.114.0/24" #将192.168.114.0/24替换为需要代理的IP段,例如192.168.0.0/24

[flags]
private_mode = true #开启私有化模式,仅允许与服务端网络标识相同的客户端使用此服务端中转或打洞

2.GUI客户端示例

GUI客户端Win子网代理.png

参考

EasyTier - 简单、安全、去中心化的异地组网方案

EasyTier 私有虚拟网络搭建全流程 - 阿雷的小窝