WireGuard是一种比OpenVPN等工具更快、更简单、更精简的VPN工具。OpenVPN存在的历史悠久,配置成熟,而WireGuard是一种更新、更快的VPN 协议。
在本教程中,我们将深入介绍在pfSense上搭建远程访问WireGuard服务器,手机客户端远程访问服务器,并通过防火墙路由出站的过程。
虽然WireGuard本身没有“客户端”和“服务器”的概念,但在这种部署方式下,防火墙无法发起与远程对等点的连接。在本文当中,防火墙就充当“服务器”,远程端点称为“客户端”。
本教程所使用的防火墙软件版本为pfSense plus 24.08-DEVELOPMENT。
所需信息
在开始WireGuard VPN配置之前,必须确定以下基本信息:
配置隧道
导航到系统>插件管理,在可用插件处搜索”wireguard”并安装。
转到VPN > WireGuard > 隧道选项卡,单击添加隧道。使用前面确定的信息填写选项。
端口使用51820,点击生成按钮生成新的接口密钥,并将公钥复制到记事本,以便在手机客户端上使用。
接口地址输入192.168.5.1,掩码选择24。
完成后保存隧道,并应用更改。
启用隧道
转到VPN > WireGuard >设置选项卡,选中启用并保存。
添加端点
导航至VPN > WireGuard >端点选项卡,单击添加端点。使用前面确定的信息填写选项。
选中前面建立的tun_wg0隧道,输入一个描述名称,选中动态端点,给keep Alive设置一个值,点击生成预共享密钥,允许IP输入192.168.5.2/32。
注意:端点的公钥必须在手机客户端上生成。打开手机的WireGuard程序,新建一个WireGuard配置,点击生成密钥对,生成一个公钥/私钥。将生成的公钥复制到上面的公钥栏当中。
添加接口
转到“接口 > 分配”。选择“tun_wg0”接口。单击“添加”按钮,将该接口添加到接口列表中。
转到“接口 > [OPTx]”页面。选中“启用”和“防止接口删除”复选框,输入描述,IPv4静态地址输入192.168.5.1,掩码24,然后单击保存。
添加规则
放行端口
允许访问网络
WireGuard VPN配置为允许来自客户端设备(例如手机)的外部连接,如果不创建任何防火墙规则,客户端将无法访问网络上的任何内容。如果想让规则保持简单,我们可以在WG接口上创建一个“允许所有”规则,如下图所示:
同时,在内置WireGuard接口上也添加同样的规则。
客户端配置
pfSense转到“VPN > WireGuard > 状态”页面,也可以查看已连接的信息。
按照博主教程,已经完成多地点对点WIREGUARD部署,非常棒,但是现在发现连接WINDOWS的共享速度很慢,其他远程桌面啥的正常,是不是因为是UDP协议的原因?还是MTU没设置好?
更新下,WIREGUARD site2site的实验心得,第一必须要有一台公网IP的PFSENSE,开通51820端口(自定义也行)建议购买云服务器,用群主的镜像直接导入云服务器中,如果有公网IP可以忽略。
第二,两地网络在wireguard界面里面要写放通的网段,如果你有多个网段,全部要写进去,还要写wireguard的接口网段
第三,要建立wireguard的接口
第四,防火墙策略wireguard接口要放通all2all
第五,需要建立对端wireguard的网关
第六,需要写对端的静态路由表,网关指向对端的WIREGUARD网关
这样你又多个网段都能互通,如果有多个SITE 重复上面操作就行。云服务器作为中间件,直接可以打通多个内网,网络传输速度取决于云服务器带宽
总结的非常好!