虽然在OPNsense中,可以通过插件安装的方式实现对WireGuard的支持,但pfSense官方插件列表并不包含WireGuard。在github上有热心的网友制作了供pfSense使用的WireGuard插件,并且构建了第一个初始版本pfSense-pkg-wireguard-1.0.0.txz,经过作者试用,稳定性可以保证。具体使用方法如下:
构建
构建过程与其他FreeBSD和pfSense软件包相同。你需要设置FreeBSD构建环境,并在上面安装和构建wireguard和wireguard。可以查看pfSense软件包开发文档以获取更多信息。
安装
该软件包取决于FreeBSD的wireguard和wireguard-go端口。首先要确保与你使用的pfSense相同的FreeBSD版本。选择在该FreeBSD版本下载或构建这些软件包,然后在安装该软件包之前使用pkg手动进行安装。根据你所使用的的pfSense版本,在FreeBSD 11存储库或FreeBSD 12存储库中查找wireguard和wireguard-go的最新软件包链接。
例如:pkg add https://pkg.freebsd.org/FreeBSD:11:amd64/latest/All/wireguard-go-0.0.20200320.txz
pkg add https://pkg.freebsd.org/FreeBSD:11:amd64/latest/All/wireguard-1.0.20200513.txz
# pkg add https://pkg.freebsd.org/FreeBSD:11:amd64/latest/All/bash-5.0.17.txz # if dependency is missing
pkg add https://github.com/Ashus/pfSense-pkg-wireguard/releases/download/v1.0.1/pfSense-pkg-wireguard-1.0.1-freebsd11-amd64.txz
配置
配置接口和任意数量的对端。然后转到“分配接口”页面,为tunwg0创建一个新接口。重命名并启用它,在这个过程中,不要进行任何其他设置。设置好接口后,就可以将VPN的端口(如
51000
)转发到接口的IP,并像其他任何接口一样为其分配防火墙规则。如果需要更多接口,可以将tunwg1.conf或更多具有递增接口号的文件添加到/usr /local/etc/wireguard /目录。当前还无法通过GUI界面进行编辑,注意每次添加更多接口时,都需要重新安装该软件包并重新启用wireguard服务。每次重新启用服务时,都会再次从文件中检测所有VPN隧道,确保它们可以在重新启动后持续存在,也可以一次从GUI中重新加载。有关配置WireGuard的帮助,请阅读官方文档。
以下为配置实例图片:
WireGuard 接口设置
对端设置
对端列表
系统服务列表
WireGuard连接状态
有关WireGuard插件的详细使用及问题解决办法,请参阅netgate论坛上关于该插件的讨论,或参阅pfSense-pkg-wireguard安装教程。