Skip to content

公告!

近期接到群友反馈,发现有其它网站复制抄袭本站文案内容,请大家注意甄别,避免上当受骗。

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

EasyTier 好不好用,你试试就知道了!

自建的公共服务器地址

tcp://easytier-us.slarker.me:11010

使用须知:

  • 公共服务器的意义主要在于让你尽可能打洞成功。
  • 如果打洞成功(比如客户端显示 p2p 连接),访问会直连,不走服务器。
  • 如果打洞失败,访问流量会通过服务器中转。
  • 目前公共服务器没有限速,是否限速后续看具体情况而定。
  • 公共服务器允许多个用户同时使用,只要每个用户的网络名称不冲突即可,不同网络中的设备无法互相访问。
  • 你自己的虚拟网络中的各个设备使用的网络名称,网络密码必须一致,虚拟网络 IP 不能冲突。

自建服务器(可选)

如果你需要自建服务器,可以直接在 具有公网 IP 的 VPS 服务器上通过 compose 启动一个 docker。

yml
services:
  easytier:
    image: easytier/easytier:latest
    container_name: easytier-seed
    restart: always
    network_mode: host  # 强烈建议使用 host 模式以获得最佳 P2P 性能和端口兼容性
    cap_add:
      - NET_ADMIN
      - NET_RAW
    volumes:
      - ./config:/etc/easytier
      - /etc/machine-id:/etc/machine-id:ro # 映射机器 ID 保证 ID 唯一
    command: 
      - -l 
      - tcp://0.0.0.0:11010
      - -l 
      - udp://0.0.0.0:11010
      - --hostname 
      - hostname # 修改 hostname 为你的设备名称

记得在防火墙中放行 11010 端口 tcp/udp

设置 NAS 端

我的内网是:192.168.2.0/24 网段,使用 easytier 组成的虚拟网络为:192.168.1.0/24。用下面的 compose 配置启动一个 docker。

yml
services:
  easytier:
    image: m.daocloud.io/docker.io/easytier/easytier:latest
    hostname: easytier
    container_name: easytier
    restart: always
    network_mode: host
    cap_add:
      - NET_ADMIN
      - NET_RAW
    environment:
      - TZ=Asia/Shanghai
    devices:
      - /dev/net/tun:/dev/net/tun
    volumes:
      - ./config:/root
      - /etc/machine-id:/etc/machine-id:ro # 映射宿主机机器码
    command: -i 192.168.1.2 --network-name slark-network --network-secret password -e tcp://easytier-us.slarker.me:11010 -l 11010 --hostname=fnOS  --proxy-networks 192.168.2.0/24

下面来解释下需要修改的参数:

  • 192.168.1.2:该设备(这里指 fnOS)在虚拟网络中的 IP 地址。推荐给每个设备都分配一个固定 IP 地址,然后在飞牛防火墙中仅允许虚拟网络中的可信设备访问 fnOS。
  • slark-network:虚拟网络名称,尽量设置的复杂一点,避免和别人的网络产生冲突。
  • password:虚拟网络的密码。
  • tcp://easytier-us.slarker.me:11010:公共服务器的地址。
  • fnOS:该设备在网络中显示的主机名称。
  • 192.168.2.0/24:代理网络,将 192.168.2.0/24 网段映射到虚拟网络,虚拟网络中的设备都可以通过 fnOS 这台设备访问内网中的所有设备。如果只需要映射飞牛 IP,可以写:192.168.2.2/32(这里飞牛在内网中的 IP 为:192.168.2.2)。如果不需要,可以去掉该参数(--proxy-networks)。

安全措施(重要!)

  • 使用强密钥: 不要使用默认的 test 或简单的单词作为 --network-secret。 措施:生成一个长且随机的字符串(推荐使用 密码管理器 生成 32 位以上的随机字符)。 原理:EasyTier 的流量是经过加密的(通常基于 WireGuard 协议族或 AES/Chacha20),只有持有正确密钥的节点才能解密流量并加入网络。密钥泄露等于网络裸奔。
  • 定期轮换密钥: 如果网络中有人员离职或设备遗失,必须立即更改所有节点的密钥。
  • 谨慎暴露子网: 除非必要,谨慎映射整个子网(--proxy-networks)。尽量只映射特定主机的 IP(比如只映射飞牛:192.168.2.2/32)。

客户端

EasyTier 支持 Windows,Linux,macOS,Android,目前 iOS 版本正在内测(即将上线),客户端可以到 这里 下载。

以 Android 为例,具体设置如下:

除此之外,也可以在高级设置中填写 主机名,以便在虚拟网络中更好的区分设备。配置修改完成后,点击 运行网络,只要在 App 上能看到虚拟网络中的其他设备,就表示成功了。

PS:如果需要协助部署、设置 EasyTier,也可以加微信:islarker提供付费支持。