适用于 pfSense 的 ZeroTier 插件

ZeroTier 是一个建立在加密安全全球对等网络之上的分布式网络虚拟化平台。它提供了接近企业级 SDN 交换机的高级网络虚拟化与管理能力,可跨越局域网与广域网,将各种设备与应用安全地连接在一起。

目前,pfSense 官方尚未提供 ZeroTier 插件。借助 ChatGPT 辅助开发,编写了适用于 pfSense 的 ZeroTier Web 管理插件,并在 pfSense Plus 26.03.1 (freeBSD 16)和 pfSesne CE 2.8.1 (freeBSD15)环境中测试通过。

安装插件

下载附件后,将文件解压并上传至防火墙的 /root 目录,运行以下命令进行安装:

pkg add pfSense-pkg-zerotier-1.16.2.pkg

下图为在 pfSense CE 上的安装过程。

启用服务

登录 pfSense Web 管理界面,转到 VPN>ZeroTier VPN,勾选 Enable Zerotier Client(启用 Zerotier 客户端) 选项后保存配置。

加入网络

进入 VPN>ZeroTier VPN,切换到“网络(Networks)”选项卡,点击右侧“加入(Join)”按钮。输入需要加入的 ZeroTier Network ID 后保存即可。

因为还没授权,处于拒绝访问的状态。

添加授权

打开浏览器访问 ZeroTier 控制台,在成员(Members)列表中,会看到一个等待授权的新节点。

点击对应节点左侧的编辑图标:

  • 勾选 Authorized
  • 输入节点名称
  • 指定IP地址
  • 点击Save

保存后,右上角显示已授权。返回 VPN>ZeroTier VPN,网络选项卡,网络状态已显示OK。

管理路由

在 ZeroTier 控制台的“路由管理(Managed Routes)”中,添加指向 pfSense 防火墙局域网的路由:

  • Destination(目标网络):填写 pfSense 的 LAN 网段
  • Via(下一跳):填写 pfSense 分配到的 ZeroTier 节点地址

即可允许远程节点访问 pfSense 后方局域网。

查看节点

进入 VPN>ZeroTier VPN,在端点选项卡中,可以查看当前 ZeroTier 网络中各节点的连接状态与详细信息。

添加规则

为了确保 pfSense 后方客户端能够访问远程 ZeroTier 网络,需要在LAN接口上添加一条 LAN NET to ANY的规则,或者根据实际需求,仅放行到 ZeroTier 网段的访问规则。如下图所示。

高级设置

配置中的 local.conf 选项,可以给 ZeroTier 节点添加本地运行参数,更精准控制节点的运行。如禁止 ZeroTier 使用内网地址进行直连,固定监听端口,禁用 NAT-PMP / UPnP 自动端口映射,禁用备用端口与 TCP 回退中继等。通常用于多 WAN / 防火墙环境,希望强制走公网路径,避免错误的 LAN 直连,严格限制打洞行为等,来提高安全可控性。

具体参数可参考OPNsense上的Zerotier的设置

卸载插件

在shell环境下,运行以下命令卸载:

pkg remove pfSense-pkg-zerotier

测试网络

配置完成后,可通过ping 对端设备、traceroute 检查路由、测试 NAS/SSH/RDP 等服务测试各节点之间的网络连通情况,以确认 ZeroTier 网络是否正常工作。

注意事项

  • 不要在接口>分配菜单尝试分配 ZeroTier 接口,否则可能导致防火墙重启后网络配置被重置
  • 安装包已自带开机自启脚本,不需要再通过 shellcmd 插件添加 ZeroTier 开机启动命令,否则可能导致 pfSense 在启动过程中卡死,无法正常完成引导。

项目地址

pfSense-pkg-zerotier

评论

  1. cj
    4 年前
    2022-12-01 21:46:53

    感谢您的教程,很有帮助!

  2. wshf
    3 年前
    2023-3-24 8:07:14

    zerotier-1.10.3.txz文件下载不了,https://pkg.freebsd.org/FreeBSD:13:amd64/latest/All/这个链接不存在

发送评论 编辑评论


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