NetBird是一个基于WireGuard的开源项目,旨在简化构建VPN和软件定义网络(SDN)基础设施。它提供了简单的方式来创建跨多个节点的加密点对点连接,适合用于远程访问、数据加密和私有网络连接。
NetBird让用户无需手动配置WireGuard,就能通过图形界面或API来管理其VPN网络。NetBird支持自动化连接配置、故障恢复、以及管理网络中的节点。通过它,用户可以轻松地实现跨云环境或物理设备的加密通信。下面介绍在OPNsense上安装NetBird的方法。
前提条件
安装包使用的Web控制代码来自github,NetBird程序为自行编译,版本为0.36.3
防火墙WAN接口放行WireGuard的默认通信端口,如下图所示:
安装NetBird
下载附件并解压缩,上传到防火墙root目录,进入安装目录运行以下命令启动安装程序:
sh install.sh
安装过程如下图所示:
根据安装提示在浏览器输入下面圈红部分的地址,进行认证激活:
浏览器会显示以下确认页面:
点击确认后如下图所示:
在NetBird控制台,点击通过认证设备节点最右侧选项,单击禁用会话过期,让节点始终保持在线。
重启防火墙,导航到VPN>NetBird菜单,这里可以对NetBird进行一些简单的设置。
可以查看节点的连接状态。
添加路由策略
为了保证各个NetBird节点之间的互访,需要在NetBird控制台添加一条All到All的通行策略。
进入控制台,点击左侧功能导航栏,点击Polices,添加策略。
单击添加按钮,源和目标都选All,选中启用策略,单击继续。
访问控制策略,非商业用户不包含该功能,单击继续。
给策略输入一个名称和简单的描述信息,然后单击添加策略按钮。
最终添加策略如下图所示:
添加防火墙规则
在添加防火墙规则之前,先将NetBird生成的虚拟网卡wr0添加为接口。
转到接口>分配,添加wr0接口。
启用该接口。
接口静态IP地址输入NetBird上分配的ipv4地址,掩码为16。
转到防火墙>规则,在NetBird接口上,添加一条any to any的放行规则。
检查测试
在各个节点上ping远程对端节点地址,检查连通性。
总结
NetBird提供了一个简单、高效的方式来配置和管理VPN网络,尤其适用于需要多个设备和跨网络连接的场景。NetBird的更多高阶玩法,请参考NetBird官方手册。