通过在pfSense防火墙上搭建OpenVPN服务器,可以让我们安全地连接到家庭网络或办公网络,访问网络里的的本地计算机,甚至使用本地的互联网连接。下面介绍配置OpenVPN服务器的过程。
如需要进一步交流防火墙方面的经验,可以加入QQ群:286850453。也欢迎关注微信公公号”pfSense防火墙”,方便及时接收推送的第一手文章。
第 1 步 – 创建一个NO-IP帐户
如果是静态IP或已经安装了其他动态域名服务,可以跳过本步骤。转到NO-IP为自己的防火墙创建一个主机名。
单击注册后,填写必填字段并创建帐户。免费帐户要求每 30 天确认一次主机名。通过电子邮件激活帐户,确认后使用帐户登录 NO-IP 并根据提示创建用户名。
在NO-IP的仪表板中导航到Dynamic DNS -> No-IP Hostnames,可以看到你的IP 地址和 DynDNS名称。如果使用其他 IP,请相应地调整条目。查询自己的公网IP,请访问此网站。
好的,现在我们有了一个 DynDNS 帐户,接下来我们可以在 pfSense 中进行设置。
第 2 步 – 在 pfSense 中设置 DynDNS
在 pfSense 中,导航到服务>DDNS,单击添加。填写必填字段,如下图所示。
监视接口选WAN。主机名是No-IP 上设置的主机名,本例中是 ceos3c.hopto.org 。输入用户名和密码。输入描述说明,然后单击保存。
完成此操作后,会看到绿色的缓存 IP,这意味着 IP地址已经更新。
完成了动态域名的设置后,继续在pfSense上安装OpenVPN 客户端导出包。
第 3 步 – 安装客户端导出包
为了方便后面下载OpenVPN安装包,我们需要先安装客户端导出插件。导航到系统>插件管理>可用插件,然后搜索OpenVPN。单击openvpn-client-export插件边上的” Install “进行安装。
第 4 步 – 使用OpenVPN向导在pfSense上配置OpenVPN
转到VPN >OpenVPN并单击向导开始配置过程。
服务器类型
服务器类型选择本地用户访问。
创建一个新的证书颁发机构,并输入描述性名称。单击添加新CA继续。
创建服务器证书
和上面一样,输入一个描述性的名称,然后参照下面的截图填写。
服务器设置
确保选择下面截图中的所有内容。
1、常规设置
2、加密设置
3、隧道设置
这里的设置非常重要。隧道网络不能与本地已使用的任何网络相同。如果本地网络的地址范围为192.168.10.0/24,可以选择192.168.11.0/24 作为隧道网络。连接VPN后,客户端的IP将为192.168.11.X。
输入本地网络的地址。如果不想让客户端在连接到 VPN 时访问本地网络,请将此字段留空。如果想通过VPN 访问本地网络中的资源,例如NAS ,请在此处填写本地网络IP范围。
注意:如果希望通过VPN服务器访问互联网,则还必须选中重定向网关选项。
4、客户端设置
这里要修改一下DNS 服务器。可以将本地pfSense作为DNS 服务器推送到连接的客户端,以便解析内部网络名称。当然,也可以输入公共DNS地址。
5、防火墙规则
确保选中两个复选框来创建OpenVPN防火墙的访问规则。
6、完成设置
最后,单击完成,完成pfSense OpenVPN服务器的配置。
第 5 步 – 创建VPN用户
导航到系统/用户管理并单击 添加一个新用户。
输入用户名和密码,然后确保选中“单击创建用户证书”。填写所有内容,如下图所示。确保选择之前创建的证书颁发机构。
第 6 步 – pfSense OpenVPN 客户端导出
导航到 VPN>OpenVPN > Client Export。选择之前设置的 DynDNS 名称。
然后向下滚动,找到我们刚刚在上一步中创建的VPN 用户,然后选择要下载的相应安装包。对于Windows 10,请选择Current Windows Installer 64-bit。
第 7 步 – 在 Windows 上安装 OpenVPN 并连接
在外部客户端上运行安装程序,所有内容保持默认即可。如果提示安装TAP网络驱动程序,请安提示操作。
要连接VPN,只要运行OpenVPN GUI ,一个带有储物柜的小监视器图标就会出现在任务栏中。
右键单击它并选择 Connect。输入VPN 用户名和密码。单击确定进行连接。如果连接成功,小监视器图标就会变为绿色。
如果正确执行了每个步骤,现在应该已连接并能够访问内部网络的资源了。
故障排除
如果遇到访问或连接问题,首先要检查以下内容:
- 检查OpenVPN 服务是否正在运行,导航到状态>服务,查看服务状态。
- 检查创建的防火墙规则,包括 WAN 和 OpenVPN 规则
- 检查是否在OpenVPN配置的隧道和本地网络上输入了正确的子网掩码 (192.168.1.0/24)。注意最后必须是 .0/24,而不是 .1/24 或类似的网络。
- 检查状态>系统日志下的系统日志,来查找连接失败的相关提示。
你好,请问下pfsense上的openvpn需要设置通过vpn需要访问的网段信息吗?
我看你的文档,理解为用户通过客户端拨号后,可能是通过pfsense上的路由访问内网资源和公网资源
输入本地网络范围就可以正常访问。