适用于 pfSense 的 EasyTier 插件

EasyTier 是一款开源、去中心化的异地组网工具,可以在不同网络环境下的设备之间建立加密的虚拟网络。它支持 NAT 穿透、节点中继、子网代理、WireGuard 门户、IPv4/IPv6、TCP/UDP/WS/WSS 等多种连接方式,适合家庭网络、远程办公和多地局域网互联。为方便在pfSense上使用EasyTier ,我编写了适用于 pfSense 的 EasyTier Web 管理插件,可以直接在 pfSense 后台编辑 TOML 配置、控制服务、查看节点状态和运行日志。

插件支持以下系统:

  • pfSense CE 2.8.1,FreeBSD 15
  • pfSense CE 2.9.0,FreeBSD 16
  • pfSense Plus 26.03/26.07,FreeBSD 16

插件功能

插件提供以下功能:

  • EasyTier 服务启动、停止和重启
  • 原生 TOML 配置文件编辑
  • 节点连接状态查看
  • 延迟、丢包率、收发流量和隧道类型显示
  • EasyTier 运行日志查看
  • 自动创建 EasyTier 运行时防火墙规则
  • 自动清理旧的 EasyTier 接口分配
  • 支持 FreeBSD 15 和 FreeBSD 16

插件采用动态接口处理方式,不会将 easytier0 写入 pfSense 的持久接口配置,从而避免系统重启后 WAN、LAN 接口丢失或需要重新分配的问题。

安装插件

1、加入社区仓库

登录 pfSense SSH 或控制台,进入 Shell 环境。

pfSense CE:

fetch -o /usr/local/etc/pkg/repos/opnwall.conf \https://opnwall.github.io/pfSense-repo/pfsense-ce-opnwall.conf
pkg update -f

pfSense Plus:

fetch -o /usr/local/etc/pkg/repos/opnwall.conf \https://opnwall.github.io/pfSense-repo/pfsense-plus-opnwall.conf
pkg update -f

如需在 pfSense 插件管理器中显示社区插件,可以继续执行:

fetch -qo - https://opnwall.github.io/pfSense-repo/enable-opnwall-gui.sh | sh

然后在 pfSense的插件列表找到 Easytier 进行安装,或者在终端执行以下命令进行安装:

pkg install pfSense-pkg-easytier

2、离线安装

访问 软件包仓库,下载pkg安装包,然后使用以下命令离线安装:

pkg add pfSense-pkg-easytier.pkg

安装完成后刷新浏览器,在 pfSense 顶部菜单中进入:VPN > EasyTier 进行操作。

配置 EasyTier

1、修改配置

进入VPN > EasyTier > 配置,安装时会生成一份默认配置,可以直接在页面上修改。

主要参数说明:

  • instance_name:EasyTier 实例名称。
  • hostname:节点名称,会显示在节点列表中。
  • ipv4:当前节点的 EasyTier 虚拟地址。
  • listeners:EasyTier 监听协议和端口。
  • rpc_portal:本地管理接口,建议仅监听 127.0.0.1。
  • peer:用于初始连接的 EasyTier 对等节点。
  • proxy_network:通过当前 pfSense 发布到 EasyTier 网络的本地网段。
  • network_name:EasyTier 网络名称。
  • network_secret:网络认证密钥,所有节点必须保持一致。
  • dev_name:虚拟网卡名称,默认使用 easytier0。
  • private_mode:阻止网络名称或密钥不同的节点使用当前节点中转。
  • proxy_forward_by_system:是否使用系统内核转发子网代理流量。

修改完成后,点击“保存并重启”,插件会保存配置并重新启动 EasyTier。

2、查看状态

导航到 VPN > EasyTier > 状态,查看EasyTier运行信息,并控制 EasyTier “启动”“停止”或“重启”。如下图所示:

3、查看节点

导航到 VPN > EasyTier > 节点,可以查看节点相关信息。连接状态为 p2p 表示节点之间已经建立直连;如果显示 relay,表示流量通过其他节点中继。如下图所示:

4、查看日志

导航到 VPN > EasyTier > 日志,默认显示 EasyTier 最近的运行日志,可以用于排查以下问题:

  • 对等节点连接失败
  • 网络名称或密钥不一致
  • 监听端口冲突
  • NAT 穿透失败
  • 配置文件格式错误
  • TUN 网卡创建失败
  • 子网代理无法访问

5、子网互访

假设 pfSense 后方的局域网为:

192.168.10.0/24

可以在 pfSense 的 EasyTier 配置中加入:

[[proxy_network]] 
cidr = "192.168.10.0/24"

另一端设备后方的局域网为:

192.168.101.0/24

则需要在另一端 EasyTier 节点上发布:

[[proxy_network]] 
cidr = "192.168.101.0/24"

配置完成后,两端局域网设备便可以通过 EasyTier 路由互相访问。可以使用以下方式进行测试:

ping 192.168.101.1 ping 192.168.101.15 traceroute 192.168.101.15

如果 EasyTier 节点地址可以访问,但节点后方的客户端无法访问,应重点检查:

  • 对端是否正确配置了 proxy_network
  • 对端系统是否开启 IPv4 转发
  • 客户端默认网关是否指向运行 EasyTier 的路由器
  • 两端局域网网段是否冲突
  • 对端防火墙是否允许来自 EasyTier 网络的流量
  • 是否存在错误的手工静态路由

规则设置

插件会在 easytier0 网卡出现后动态添加 IPv4 放行规则:

pass in quick on easytier0 inet from any to any

不需要在“接口 > 分配”中添加 EasyTier 网卡,也不需要手工创建 EASYTIER 接口规则。服务启动、停止和重启后,插件会自动重新加载 pfSense 防火墙配置。

注意事项

  • 不要在“接口 > 分配”中手工添加 easytier0。
  • EasyTier 网卡属于动态接口,应由插件和 EasyTier 程序管理。
  • 手工将动态 VPN 网卡保存为 pfSense 接口,可能造成系统重启后 WAN、LAN 接口识别异常。
  • 插件安装或升级时会自动清理旧的 easytier0 接口分配及相关规则。
  • 不需要通过 Shellcmd 插件添加启动命令。
  • 不要在公网开放 EasyTier RPC 管理端口。
  • 网络名称和密钥必须与其他 EasyTier 节点一致。
  • 发布子网前,应确认各站点局域网使用不同的地址段。
  • 修改 TOML 配置后,需要重新启动 EasyTier。
  • 建议修改默认示例中的节点地址、虚拟地址和网络密钥。

项目地址

pfSense 社区插件仓库:

https://github.com/Opnwall/pfSense-repo

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇