在pfSense中配置OpenVPN实现远程访问
在外部访问pfSense防火墙的最佳方式是通过VPN连接来访问。在pfSense中,可供使用的VPN方式有IPsec VPN、OpenVPN以及在2.50版本以后添加的WireGuard VPN。本文介绍使用OpenVPN远程连接pfSense防火墙的方法,使用的软件版本为pfSense 2.52。
本文要实现的目标:
- 远程访问pfSense防火墙
- 访问远程LAN资源
- 通过远程网关访问互联网
由于新版本的改变,有些设置与老版本有所差别,注意区分。
本文的网络环境:
- LAN接口IP地址:192.168.101.254/24
- WAN接口:静态公网IP
- OpenVPN的隧道网络:10.10.1.0/24
第一步:添加本地证书颁发机构
导航到系统 > 证书管理 > CAs,单击右下的添加按钮,添加一个内部证书颁发机构:

完成后如下图所示:

第二步:添加服务器证书
导航到系统 > 证书管理 > 证书,单击右侧的添加,添加一个服务器证书。证书来源选创建内部证书,证书颁发机构选上一步创建的testvpn,证书类型选服务器证书。

完成后如下图所示:

第三步:添加用户和客户端证书
导航到系统 > 用户管理,单击右侧的添加按钮,添加一个新用户。

在证书位置,选中单击创建用户证书,创建一个用户证书。证书颁发机构选上面建立的testvpn。

完成后单击保存。
第四步:安装插件
导航到系统 > 插件管理 > 可用插件,找到openvpn-client-export插件进行安装。
安装完成后如下图所示:

第五步:配置OpenVPN服务器
导航到VPN > OpenVPN,单击右侧的添加按钮,添加新VPN服务器。在常规设置部分,服务器模式选远程访问SSL/TLS+用户认证,协议选UDP,设备模式默认,接口选你的WAN接口,本示例有多WAN,选WAN1接口,本地端口选默认。

在加密设置部分,证书颁发机构选前面添加的testvpn,服务器证书选中前面建立的证书,其他参数保留默认,也可以根据需要进行设置。

在隧道设置部分,输入隧道的网络,因为要访问远程LAN资源并通过远程网关访问互联网,必须选中重定向IPv4网关。如果只是访问远程的LAN资源,不需要通过远程网关访问互联网,则不需要勾选,但需要输入IPv4本地网络选项:192.168.101.254/24。

在客户端设置部分,选中动态IP,因为客户端的IP地址会发生变化。在DNS部分,为客户端指定DNS默认域和DNS服务器地址。


高级配置部分默认即可。

完成后点击保存,如下图所示。

第六步:导出配置
导航到VPN > OpenVPN > Client Export,填写相关的选项。远程访问访问服务器选我们前面创建的,主机名解析选接口IP地址,其他选项根据需要设置。

保存为默认设置以后,下载VPN客户端配置文件,也可以下载VPN客户端。但个人更建议去官方网站下载,各种平台基本都涵盖了。

VPN配置文件为红框中选中的链接。如果缺少客户端或配置文件,则可能是由于OpenVPN服务器实例与客户端证书之间的CA不匹配,或者没有添加客户端证书。
第七步:配置防火墙规则
配置防火墙规则,允许访问OpenVPN使用的UDP端口1194,这一步如果是采用向导模式设置的OpenVPN服务器,则在最后一步的选项中勾选上就不用再进行设置。
导航到防火墙 > 规则策略,单击OpenVPN服务器所使用的WAN接口,添加以下通行规则:协议UDP,源any,目标WAN接口地址,端口1194。

再单击OpenVPN接口选项卡,添加一条any to any的允许通行规则。

第八步:安装并运行客户端
安装客户端程序,导入VPN配置文件。拖放文件,或单击底部的浏览都可以导入。

打开连接按钮:

连接后的状态:

第九步:测试
- 在客户端电脑上ping OpenVPN服务器地址或防火墙LAN接口地址,检查是否能通。

- 打开公网IP查询网站,检查上网所使用的公网IP是否为远程公网IP。
- 测速成绩与WireGuard VPN相比,差距较大。测试网络为300M上下行带宽。

觉得内容不错?我要