NetBird 是一个基于WireGuard的开源项目,旨在简化构建 VPN 和软件定义网络(SDN)基础设施。它提供了简单的方式来创建跨多个节点的加密点对点连接,适合用于远程访问、数据加密和私有网络连接。
NetBird 让用户无需手动配置 WireGuard,就能通过图形界面或 API 来管理其 VPN 网络。NetBird 支持自动化连接配置、故障恢复、以及管理网络中的节点。通过NetBird,用户可以轻松地实现跨云环境或物理设备的加密通信。下面介绍在 pfSense 上配置 NetBird 的方法。
测试平台:pfSense CE 2.8.1
1. 注册账号
1.1 注册
1.2 创建设置密钥
点击左侧的设置密钥菜单,再点击右侧的创建设置密钥按钮。
创建一个新的设置密钥,输入描述说明,将使用限制和到期时间改为无限,然后点击底部的创建设置密钥按钮。
复制生成的设置密钥备用。
2. 安装NetBird
本文使用的 NetBird for pfSense 插件由 NetBird 开发,该插件只供测试者使用,已提交 pfSense 审查。截止此文撰写时,尚未在 pfSense 插件管理器中提供。
访问NetBird for pfSense 发布页面,下载netbird.pkg和 pfSense-pkg-NetBird.pkg 两个文件, 通过finalshell 等工具上传到 pfSense,运行以下命令安装:
pkg add -f netbird.pkg pkg add -f pfSense-pkg-NetBird.pkg
3. 配置NetBird
3.1 启用NetBird
稍等片刻,会显示成功连接信息。
3.2 添加接口
转到接口>分配 ,将 wt0设备添加为 netbird 接口。
启用接口,IP地址无需设置。
3.3 添加规则
转到防火墙>规则策略,在 NetBird 接口,添加一条 any to any 规则。
3.4 出站设置
默认情况下,pfSense 使用自动出站NAT,随机化源端口。这可能导致 NetBird 的NAT遍历出现问题。为了确保可靠的直连,必须配置静态端口映射。
转到防火墙>NAT>出站,将出站改为混合出站模式,并添加以下手动规则:
- 接口:WAN
- TCP/IP 版本:IPv4
- 协议:UDP
- 源地址:NetBird主机的IP地址
- 目标:any
- NAT地址:WAN 地址
- 选中静态端口选项
- 描述:NetBird Static Port
- 点击保存并应用更改然后 。
如下图所示
4. 网络路由
若要访问防火墙内部网络,还需要添加网络路由。
4.1 添加路由
进入 NetBird 控制台,点击左侧的网络路由,然后点击添加路由。
输入要访问的网络范围,输入 pfSense 防火墙子网,路由节点选择 pfSense。
分布组和访问控制组根据需要进行选择,这里选全部。
给路由添加一个网络标识符和描述说明。
附加部分,选中下面的两个选项,并确认添加路由。
4.2 添加访问策略
在添加完路由后,会弹出添加访问控制策略的提示,根据提示进行操作
源和目标选全部,然后启用该策略。
至此,在 pfSense 上配置 NetBird 的过程全部完成。
5. 检查测试
在各个节点上 ping 远程对端节点地址和内网地址,检查连通性。















