pfSense2.5正式版增加了对WireGuard VPN的支持,可以通过设置WireGuard VPN,使用手机端远程访问防火墙。下面介绍设置过程。
本教程网络:防火墙接口地址:192.168.1.1,LAN网络:192.168.1.0/24,WAN接口地址:172.16.16.1
一、创建VPN隧道
- 导航到防火墙>VPN菜单,单击Wireguard
- 单击添加隧道
- 选中启用
- 给隧道添加描述说明
- 指定你的VPN网络的地址。该地址不能与你的主要LAN子网重叠。该地址将是防火墙上用于路由目的接口地址。在本例中使用10.0.0.1/24
- 在接口密钥右侧,单击生成密钥
- 将公钥复制到文本文件中,以供后面使用。本例接口公钥为:$ PUBKEYFIREWALL =
- 点击保存
二、创建防火墙规则
- 单击防火墙,然后转到”规则策略”菜单
- 在“WAN”选项卡下,单击“添加”来添加一个规则
- 将“动作”设置为“通过”,将“接口”设置为WAN,地址族设置为IPv4
- 将协议设置为UDP
- 将“源”设置为“任意”
- 将目标设置为“ WAN地址”
- 将“目标端口范围”设置为“自定义”,端口范围从51820设置为51820
- 点击保存
- 返回”规则策略”菜单,然后转到WG0选项卡
- 点击添加
- 将动作设置为“通过”,接口设置为WG0,地址族设置为IPv4
- 将协议设置为任意
- 将源设置为“WG0 net”
- 将“目标”设置为“任意”(或你希望对等方能够连接到的任何目标,在本例中,我将其用于所有Internet通信。如果只需要访问网络,则可以将其设置为更小的目标范围)
- 点击保存
- 点击页面顶部的“应用更改”
三、手机端设置
- 在iPhone上,转到Wireguard应用(需要注册国外苹果账号才能下载),点击加号按钮,然后选择“从头开始创建”
- 在“名称”字段,输入pfSense或或任何你想调用的连接
- 点击生成密钥对
- 保存公钥以备后用,本例中为:$ PUBKEYPHONE =
- “地址”填写10.0.0.2/24
- 将监听端口和MTU留空
- 根据需要指定DNS服务器
- 向下滚动到对端
- 公共密钥请输入$ PUBKEYFIREWALL =(防火墙上生成的公共密钥)
- “预共享密钥”留空
- “端点”是你的防火墙的WAN接口地址和设置的端口号,本例为:172.16.16.1:51820
- “允许的IP”是尝试访问的IP地址。如果只想访问网络,则只输入192.168.1.0/24即可。如果要通过VPN路由所有Internet流量,请输入0.0.0.0/0
- 点击右上角的保存
- 允许该应用更改你的VPN配置
四:建立端点(pfSense)
- 回到VPN和Wireguard
- 单击WG0旁边的编辑
- 点击添加远程端点
- “描述”字段输入iPhone或任何你想调用的名称
- 将端点、端点端口和保持活动状态留空
- “公钥”输入在IPhone中生成的公钥:$ PUBKEYPHONE =
- “允许的IP”是要路由的IP。在本例中,由于没有其他设备,因此输入10.0.0.2/32
- 单击更新
- 点击保存
五、连接VPN
现在在iPhone上打开Wireguard应用程序,然后点击pfSense网络上的滑块进行连接。转到设置和查看日志,可以查看该应用程序相关信息。Wireguard的工作方式与其他VPN略有不同,除非有流量传输,否则它实际上不会做任何事情。一旦看到流量流向其“允许的IP”子网中的IP,它才尝试进行握手连接。
六、其他注意事项
- 如果你希望VPN不在网络上时就可以连接,则可以进入Wireguard应用程序,编辑隧道,然后选中按需激活。
- 预共享密钥是可选项,可以提高网络的安全性。
以下为视频教程: