收起左侧

Easytier(内网穿透)从入门到精通

5
回复
1497
查看
[ 复制链接 ]

1

主题

14

回帖

0

牛值

江湖小虾

2025-8-10 20:50:14 显示全部楼层 阅读模式
# Easytier 完全自建指南:从零搭建你的私人“全球局域网”


你是否曾想过,无论身在何处,都能像在家里一样,安全、快速地访问你的 NAS、远程桌面、或家庭网络里的任何设备?Easytier,一个使用 Rust 语言编写的、简单高效的 P2P VPN 组网工具,就能帮你实现这个愿望。

本教程将手把手带你完成从零开始搭建 Easytier **,并将 Windows 电脑、NAS (或其他 Linux 服务器)、OpenWrt 软路由、甚至安卓手机全部连接进来,组建一个属于你自己的、不受任何第三方限制的“全球局域网”。

本教程的核心模式:手动配置文件模式 (Peer to Peer)。
 这种模式下,所有配置由我们自己掌握,不依赖任何第三方 Web 服务,稳定、可靠且隐私性最高。

## 目录

1. 准备工作:你需要什么?
1. 第一部分:核心服务器搭建 (在云服务器上)
1. 第二部分:Windows 客户端连接
1. 第三部分:NAS / Linux 服务器客户端连接
1. 第四部分:OpenWrt 软路由客户端连接 (打通全家网络)
1. 第五部分:安卓 (Android) 客户端连接
1. 常见问题与优化 (FAQ)

准备工作:你需要什么?

  1. 一台拥有公网 IP 的云服务器 (VPS): 这是我们网络的心脏和中转站。最低配置(1核1G内存)即可。本教程以 Debian/Ubuntu 系统为例。
  2. 需要组网的设备:
    • 一台 Windows 电脑
    • 一台 NAS 或其他 Linux 设备 (如 PVE 虚拟机、飞牛OS 等)
    • 一台 OpenWrt 软路由
    • 一部安卓手机
  3. 基础的命令行操作能力: 我们会用到 SSH 和一些简单的 Linux 命令。
  4. 耐心和细心: 跟着步骤一步步来,注意细节,你一定能成功!
  5. 可以关注我的个人网站,学习更多知识。

第一部分:核心服务器搭建 (在云服务器上)

服务器不仅负责帮助各个节点“互相认识”(P2P 打洞),也是在 P2P 失败时的最终中转站 (Relay)。

1. 登录服务器并下载 Easytier

通过 SSH 登录你的云服务器。

# 更新软件源并安装必要工具
sudo apt-get update
sudo apt-get install -y wget unzip

# 进入临时目录
cd /tmp

# 从 GitHub 下载最新的 Easytier ZIP 包 (请到官网确认最新版本,替换v2.4.1)
wget https://github.com/EasyTier/EasyTier/releases/download/v2.4.1/easytier-linux-x86_64-v2.4.1.zip

# 解压
unzip easytier-linux-x86_64-v2.4.1.zip
# 进入解压后的目录
cd easytier-linux-x86_64

# 复制文件
sudo cp easytier-core /usr/local/bin/
sudo cp easytier-cli /usr/local/bin/

# 赋予执行权限
sudo chmod +x /usr/local/bin/easytier-core
sudo chmod +x /usr/local/bin/easytier-cli‍```

### **3. 创建服务器配置文件**

这是最关键的一步,我们将定义我们的私有网络。

‍```bash
# 创建配置目录
sudo mkdir -p /etc/et

# 使用编辑器创建配置文件
sudo nano /etc/et/config.toml

将以下完整内容复制粘贴到编辑器中:


部分一:Easytier 服务器配置 (config.toml)

# =======================================================
# Easytier Server Configuration (config.toml)
# =======================================================

# 实例名,方便识别
instance_name = "MyCloudServer"

# 服务器的虚拟IP地址,通常设为网络的第一个地址
ipv4 = "10.0.0.1"

# dhcp 服务端,为客户端分配IP地址
dhcp = true

# ⚠️【重点】服务器必须监听端口,才能被客户端找到!
# 如果端口10010已被占用,你可以换成其他任意未被使用的端口
listeners = [
  "tcp://0.0.0.0:10010",
  "udp://0.0.0.0:10010"
]

# --- 网络身份认证 ---
# 这是你整个网络的“钥匙”,所有设备必须一致!
[network_identity]
# ⚠️【重点】请将 "your_network_name" 替换为您自己的网络名称,例如 "my_vpn_network"
network_name = "your_network_name" 

# ⚠️【重点】请将 "YourStrongPassword" 替换为您自己的复杂强密码!
# 这是网络安全的关键,请务必设置得足够复杂!
network_secret = "YourStrongPassword" 

# --- 其他配置,保持默认即可 ---
[flags]
latency_first = true

保存并退出 (Ctrl+X, Y, Enter)。


部分二:防火墙设置与服务启动

4. 设置防火墙

这是最常见的失败点! 必须确保云服务器的防火墙放行了我们配置的监听端口。

  • 云服务商安全组: 登录你的云服务商控制台(阿里云、腾讯云等),找到你的服务器实例,在“安全组”或“防火墙”规则中,添加入站规则:
    • 协议: TCP, 端口: 10010, 源: 0.0.0.0/0 (允许所有IP访问)
    • 协议: UDP, 端口: 10010, 源: 0.0.0.0/0 (允许所有IP访问)
  • 服务器内部防火墙 (如 ufw):
    sudo ufw allow 10010/tcp
    sudo ufw allow 10010/udp
    sudo ufw reload
    

5. 创建并启动服务

为了让 Easytier 在后台稳定运行并开机自启,我们为它创建一个 systemd 服务。

# 创建服务文件
sudo nano /etc/systemd/system/easytier.service

粘贴以下内容:

[Unit]
Description=Easytier Service
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/easytier-core -c /etc/et/config.toml
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

启动服务:

# 重载、启动、并设置开机自启
sudo systemctl daemon-reload
sudo systemctl start easytier
sudo systemctl enable easytier

# 检查服务状态
sudo systemctl status easytier

看到绿色的 active (running) 就代表你的核心服务器已经成功运行了!


第二部分:Windows 客户端连接

  1. 下载并安装:

    • 访问 Easytier 的 GitHub Releases 页面
    • 下载最新的 easytier-gui-....x64-setup.exe 安装程序并安装。
  2. 配置连接:

    • 打开 Easytier GUI 程序。
    • 点击 “+ 添加新网络”。
    • 网络方式: 选择 手动。
    • 网络名称: ⚠️【重点】 填写您在服务器上设置的 network_name,例如 "your_network_name"。
    • 网络密码: ⚠️【重点】 填写您在服务器上设置的 network_secret,例如 "YourStrongPassword"。
    • 服务器/对等节点: 在文本框中输入你服务器的地址,然后点击下拉框中的条目来添加:
      tcp://你的公网服务器IP:10010 (请替换为你的实际IP和端口)
    • 虚拟IPv4地址: 保持默认勾选 DHCP。
    • 点击 “运行网络”。
  3. 验证:
    切换到 “运行中” 标签页,你应该能看到节点列表,并且与服务器的连接状态为 p2p。
    easy1.png

    easy2.png


第三部分:NAS / Linux 服务器客户端连接

这个过程和搭建服务器非常相似,只是配置文件不同。适用于任何基于 Debian/Ubuntu 的系统,如 NAS、PVE 虚拟机、飞牛OS 等。

  1. 安装程序:

    • 参考 第一部分 的 1、2 步,完成 easytier-core 和 easytier-cli 的下载、解压和安装。
  2. 创建客户端配置文件:

    sudo nano /etc/et/config.toml
    

    粘贴以下客户端专用的配置:

    # Easytier Linux Client Configuration
    
    # 为这台设备起一个容易识别的名字
    instance_name = "MyNAS"  # 例如:MyNAS, PVE-VM1, FlyOS-Office
    
    # ⚠️【重点】为每个客户端生成一个独一无二的ID,避免冲突。
    # 可以使用 'uuidgen' 命令生成一个,例如:instance_id = "a1b2c3d4-e5f6-7890-1234-fedcba987654"
    instance_id = "" # 请在这里填写生成的UUID
    
    # 客户端使用DHCP自动获取虚拟IP
    dhcp = true
    
    # ⚠️【重点】客户端可以不监听端口,以应对严格的防火墙。
    # 但如果想获得最佳的P2P效果,可以取消注释并做端口转发(推荐)
    # listeners = ["udp://0.0.0.0:23010"] # 端口号请自行选择一个未被占用的
    listeners = []
    
    # --- 网络身份认证 ---
    [network_identity]
    network_name = "your_network_name" # ⚠️【重点】必须和服务器完全一致!
    network_secret = "YourStrongPassword" # ⚠️【重点】必须和服务器完全一致!
    
    # --- 服务器节点 ---
    [[peer]]
    uri = "tcp://你的公网服务器IP:10010" # ⚠️【重点】必须和服务器完全一致!
    
  3. 创建并启动服务:

    • 参考 第一部分 的第 5 步,创建完全相同的 easytier.service 文件,然后启动并设置开机自启。
  4. 验证:

    • 在客户端执行 ip a,应该能看到一个 et0 网卡和 10.0.0.x 的IP。
    • 执行 ping 10.0.0.1 应该能通。
    • 在你的 Windows 客户端上,应该能看到这个新设备上线。

第四部分:OpenWrt 软路由客户端连接

将 OpenWrt 接入,可以让你整个局域网的设备都无缝访问虚拟网络。

  1. 确认架构并下载 IPK:
    • SSH 登录 OpenWrt,执行 opkg print-architecture 查看你的设备架构(如 aarch64_cortex-a53)。
    • 去 Easytier 的 GitHub Releases 页面 下载架构匹配的 easytier_....ipk (核心程序) 和通用的 luci-app-easytier_....ipk (LuCI 插件)。
  2. 安装:
    • 将两个 .ipk 文件上传到 OpenWrt 的 /tmp 目录。
    • 执行 opkg install /tmp/*.ipk 进行安装。
  3. 通过 LuCI 界面配置:
    • 登录 OpenWrt 网页后台,进入 “服务” -> “Easytier”。
    • 启用: 勾选。
    • 启动方式: 选择 配置文件。
    • 配置文件文本框: 将 第三部分 中我们为 Linux 客户端准备的 toml 配置内容,完整地复制粘贴到这个文本框里。
    • 点击 “保存并应用”。
  4. 配置防火墙 (可选但推荐):
    • 为了让你局域网的电脑能访问虚拟网络,需要设置防火墙。
    • 网络 -> 接口 -> 添加新接口...: 名称 EASYTIER, 协议 不配置, 设备 et0。
    • 网络 -> 防火墙 -> 添加: 名称 easytier_fw, 覆盖网络 EASYTIER, 允许转发到 lan, 允许从 lan 转发。
    • 保存并应用。
      easy3.png

第五部分:安卓 (Android) 客户端连接

Easytier 目前没有官方的 Google Play 版本,你需要从 GitHub 下载 apk 文件手动安装。

  1. 下载并安装:
    • 访问 Easytier 的 GitHub Releases 页面
    • 找到 easytier-gui-....apk 文件并下载到你的手机上进行安装。
    • ⚠️【重点】 安卓系统可能会警告此应用来源未知,你需要允许安装。
  2. 配置:
    • 安卓版的配置界面和 Windows GUI 完全一样。
    • 参考 第二部分 的第 2 步 进行配置即可。
    • 网络方式: 手动
    • 网络名称: ⚠️【重点】 填写您在服务器上设置的 network_name,例如 "your_network_name"。
    • 网络密码: ⚠️【重点】 填写您在服务器上设置的 network_secret,例如 "YourStrongPassword"。
    • 服务器地址: tcp://你的公网服务器IP:10010 (请替换为你的实际IP和端口)
    • 点击 “运行网络”。
  3. 授予权限:
    • 安卓系统会弹出请求建立 VPN 连接的权限,请选择 “允许”。
    • 为了保证后台稳定连接,建议在应用的电池优化设置中,将其设置为 “无限制” 或 “允许后台运行”。

常见问题与优化 (FAQ)

  • Q: 为什么我的设备连接状态是relay (中继) 而不是p2p?
    • A: 这是最常见的问题,意味着 P2P 打洞失败。主要原因是客户端所在的网络 NAT 类型过于严格(如对称型 NAT)或防火墙阻止了 UDP 通信。
    • 解决方案:
      1. 开启路由器 UPnP: 登录你客户端所在网络的路由器,开启 UPnP 功能。
      2. 手动端口转发: 在客户端配置文件中设置一个固定的监听端口 listeners = ["udp://0.0.0.0:端口号"] (请自行选择未被占用的端口),然后在路由器上为该设备的局域网 IP 做一个 UDP 端口转发。
  • Q: 速度很慢怎么办?
    • A: 首先确保连接是 p2p。如果是 p2p 还慢,瓶颈在于你物理网络的上行带宽。虚拟网络的速度不可能超过文件发送方的上传速度。
  • Q: 如何确认我的配置是否正确?
    • A: 在任何 Linux 客户端上,手动执行 _usr/local/bin/easytier-core -c /etc/et/config.toml_,如果程序没有立刻报错退出,而是开始打印日志,说明配置文件格式和内容是正确的。
  • Q: 我可以不用公网服务器吗?
    • A: 理论上可以,但你需要有一个节点拥有公网 IP 或能通过端口转发被公网访问,并作为所有其他节点的 peer。云服务器是最稳定、最简单的方案。

至此,你已经拥有了一个完全由自己掌控的、跨越地理限制的私有网络。现在,开始享受随时随地访问你所有设备的自由吧!

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

10

主题

106

回帖

0

牛值

初出茅庐

2025-8-11 09:34:26 显示全部楼层

你好!OPENWRT安装你说的两个IPK是下哪两个?我的也是A53架构,我只看到这个app-universal-release.apk,easytier-linux-aarch64-v2.3.2.zip这个包里也没有ipk包

我给你个链接,openwrt可以自己编译的,作者项目那边有介绍。https://github.com/EasyTier/luci-app-easytier 也可以用我编译好的,飞牛分享【luci-app-easytier】,点击链接下载文件,App打开可转存到NAS:https://  详情 回复
2025-8-11 15:39

1

主题

14

回帖

0

牛值

江湖小虾

2025-8-11 15:39:18 楼主 显示全部楼层
阿提拉 发表于 2025-8-11 09:34
你好!OPENWRT安装你说的两个IPK是下哪两个?我的也是A53架构,我只看到这个app-universal-release.apk,ea ...

我给你个链接,openwrt可以自己编译的,作者项目那边有介绍。https://github.com/EasyTier/luci-app-easytier
也可以用我编译好的,飞牛分享【luci-app-easytier】,点击链接下载文件,App打开可转存到NAS:https://s.fnnas.net/s/edcf39cda7b644fd93,密码:9527

10

主题

106

回帖

0

牛值

初出茅庐

2025-8-12 09:45:24 显示全部楼层
城东旧事 发表于 2025-8-11 15:39
我给你个链接,openwrt可以自己编译的,作者项目那边有介绍。https://github.com/EasyTier/luci-app-easy ...

好的,十分感谢!

1

主题

4

回帖

0

牛值

江湖小虾

没有公网服务器的话,可以直接安装在各个节点的客户端上吗?然后使各个节点可以互联

1

主题

8

回帖

0

牛值

江湖小虾

楼主有心了,但还有个问题希望你能详细说明一下,easytier-web的安装和应用好像没有说,另外,飞牛现在也把这个集成到应用中心了,怎么用却没有说明。希望楼主能继续完善,谢谢了

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则