pfSense使用WireGuard进行多站点VPN连接配置示例

本文摘要pfSense WireGuard 的作者 Christian McDonald 在 Netgate Docs 上更新了一篇文章,介绍了在 pfSense 上多站点之间使用 WireGuard VPN 隧道的方法,现在翻译出来,方便大家配置的时候参考。本示例配置信息项目说明设计目标站点到多站点,每个隧道一个对等点,每个隧道多个对等点隧道子网172.16.0.0/301、总部: 广域网 IP 地址1...

pfSense WireGuard 的作者 Christian McDonaldNetgate Docs 上更新了一篇文章,介绍了在 pfSense 上多站点之间使用 WireGuard VPN 隧道的方法,现在翻译出来,方便大家配置的时候参考。

pfSense WireGuard多站点VPN连接网络拓扑图

本示例配置信息

项目说明
设计目标站点到多站点,每个隧道一个对等点,每个隧道多个对等点
隧道子网172.16.0.0/30

1、总部:

广域网 IP 地址198.51.100.10
隧道地址172.16.0.1/30
监听端口51820

2、远程办公室 A:

广域网 IP 地址198.51.100.100
隧道地址172.16.0.2/30
监听端口51820
LAN 子网10.0.100.0/24

3、远程办公室 B:

广域网 IP 地址198.51.100.200
隧道地址172.16.0.3/30
监听端口51820
LAN 子网10.0.200.0/24

WireGuard 配置

在三个 pfSense 防火墙上,分别导航到 VPN > WireGuard > 设置,选中启用,接口组成员选择仅未分配的隧道,如下图所示。

WireGuard通用设置页面

提示: 当允许来自任意远程网络的入站连接时,只在分配的 WireGuard 接口选项卡上使用规则来确保正确的返回路由。

注意: 分配的 WireGuard 接口选项卡上的规则得到 reply-to,可以确保进入特定分配的 WireGuard 接口的流量使用同一接口。否则,返回流量将使用默认网关。

隧道配置

在三个站点上分别创建 WireGuard 隧道:导航到 VPN > WireGuard > 隧道,单击 添加隧道,使用网络拓扑图上的信息填写选项,并注明每个站点的变化。选中启用,并填写不同的描述信息。监听接口选默认 51820 即可,接口密码点右侧的生成按钮创建。注意记录每个防火墙的公钥信息并备注。下面是总部的设置信息,其他的两个办公室参照设置。

总部WireGuard隧道配置页面

设置完成以后,点击保存,才能在后面添加远程端点。

远程端点配置

导航到 VPN > WireGuard > 隧道,找到刚才添加的 WireGuard 隧道,单击隧道行的末尾编辑图标,打开隧道编辑页面,在页面底部,点击添加对端:

1、总部设置

添加两个远程办公室端点。

办公室 A 设置信息如下图所示,这里的公钥填写在办公室 A 上生成的。

总部添加办公室A端点配置

办公室 B 设置信息如下图所示,这里的公钥填写在办公室 B 上生成的。

总部添加办公室B端点配置

2、远程办公室 A 设置

在远程办公室 A,找到刚才添加的 WireGuard 隧道,单击隧道行的末尾编辑图标,打开隧道编辑页面,在页面底部,点击添加总部的端点信息,注意这里的公钥填总部上生成的,允许 IP 填上远程办公室 B 的子网。

远程办公室A端点配置

3、远程办公室 B 设置

在远程办公室 B,找到刚才添加的 WireGuard 隧道,单击隧道行的末尾编辑图标,打开隧道编辑页面,在页面底部,点击添加总部的端点信息,注意这里的公钥也是填总部上生成的,允许 IP 填上远程办公室 A 的子网。

远程办公室B端点配置

分配接口

这些步骤必须在三个站点上同时完成。

首先,修复默认网关,确保不会自动选择 WireGuard:导航到 系统 > 路由,将默认网关 IPv4 设置为特定网关(例如 WANGW)或组,如果此 VPN 也将承载 IPv6 流量,请以类似方式设置默认网关 IPv6,保存后并应用更改。如下图所示:

默认网关设置页面

接下来,分配 WireGuard 使用的接口:

  • 导航到 接口 > 分配
  • 在可用网络端口列表中选择类似于 tun_wg 的接口
  • 单击 + 图标,将接口分配为新的 OPT 接口(如 OPT1)
  • 导航到接口配置页面,接口 > OPTx
  • 启用接口
  • 输入描述信息,如 VPN_HQ(例如 VPN_SITEAVPN_SITEB
  • 使用之前确定的信息填写选项,并注明每个站点的变化:

1、总部设置 (VPN_HQ)

  • IPv4 配置类型:Static IPv4
  • IPv4 地址:172.16.0.1/30

2、远程办公室 A 设置 (VPN_SITEA)

  • IPv4 配置类型:Static IPv4
  • IPv4 地址:172.16.0.2/30

3、远程办公室 B 设置 (VPN_SITEB)

  • IPv4 配置类型:Static IPv4
  • IPv4 地址:172.16.0.3/30

点击保存并应用更改。

添加防火墙规则

首先,在三个防火墙的 WAN 选项卡上中添加一条规则,放行 51820 端口,以允许流量到达 WireGuard。

需要注意的是,对等体之间流动的流量受相关 WireGuard 接口上的防火墙规则的约束。

导航到 防火墙 > 规则策略,WAN 选项卡,单击向上的箭头图标,在列表顶部创建一个新的防火墙规则。如下图所示:

WAN防火墙规则创建页面

填写完成后如下图所示:

WAN防火墙规则填写完成

注意: 源通常设置为 any,但填写对方防火墙的 IP 地址会更安全。

接下来,在三个防火墙上添加一条规则以允许在 WireGuard 隧道内传递流量。

导航到 防火墙 > 规则策略,单击分配的 WireGuard 接口,单击向上的箭头图标,在列表顶部创建一个新的防火墙规则,如下图所示。

WireGuard接口防火墙规则

注意: 该规则允许站点之间的所有流量,这显然不是安全的做法。你可以根据需要使用权限更少的规则进行限制。

添加路由

在三个站点上添加允许互访的静态路由。第一步先添加网关。导航到 系统 > 路由管理 > 网关,在三个站点上分别添加下面的网关。

1、总部设置 1

  • 接口:tun_wg
  • 地址族:IPv4
  • 名称:WG_SITEA_GW4
  • 网关:172.16.0.2

2、总部设置 2

  • 接口:tun_wg
  • 地址族:IPv4
  • 名称:WG_SITEB_GW4
  • 网关:172.16.0.3

3、远程办公室 A/B

  • 接口:tun_wg
  • 地址族:IPv4
  • 名称:WG_HQ_GW4
  • 网关:172.16.0.1

下面添加静态路由。导航到 系统 > 路由管理,为以下网络添加静态路由,完成跨 VPN 路由访问。导航到 系统 > 路由 > 静态路由,添加静态路由。使用之前确定的信息填写选项,并注明每个站点的变化。

1、总部设置 1

  • 目标网络:10.0.100.0/24(远程办公室 A LAN 段)
  • 网关:WG_SITEA_GW4

2、总部设置 2

  • 目标网络:10.0.200.0/24(远程办公室 B LAN 段)
  • 网关:WG_SITEB_GW4

3、远程办公室 A 设置

  • 目标网络:10.0.200.0/24(远程办公室 B LAN 段)
  • 网关:WG_HQ_GW4

4、远程办公室 B 设置

  • 目标网络:10.0.100.0/24(远程办公室 A LAN 段)
  • 网关:WG_HQ_GW4

经过上述设置,三个站点之间内部子网就可以互相进行访问了。

觉得内容不错?我要

评论 暂无评论
暂无评论,快来抢沙发吧~