pfSense-相同子网的站点到站点IPSec VPN

配置过站点到站点VPN连接的人都知道,如果两个站点具有相同的子网,则永远不会将流量发送到VPN。原因很简单:如果客户端想要与同一网络上的目标地址通信,则不会将数据包发送到默认网关,而是直接发送到本地网络。永远不会到达远程网络中的原始目标。
VPN与NAT

但是这种情况有解决方案。其中之一是NAT(网络地址转换)。NAT将一个或多个IP地址转换为一个或多个IP地址。由于双方本地发送数据包会出现问题,因此必须在VPN的两端引入NAT。

NAT中完整网络示例(见上图)

站点1将隐藏192.168.0.0/24网络后面的192.168.0.0/24本地网络。
站点2将隐藏192.168.0.0/24网络后面的192.168.0.0/24本地网络。

每当来自LAN的IPSec VPN请求出现时,防火墙转换源IP。 当数据包到达VPN时,目标地址会发生变化。 这是站点1的情况,就好像站点2具有网络192.168.2.0。 在站点2时相应地反转。

当然,需要相应地调整通信。例如,站点2上的Web服务器实际上具有IP地址192.168.0.60,只能通过192.168.2.60访问。

网络拓扑图如下所示。

  1. 设备192.168.0.50(S1)寻址192.168.2.60。
  2. 站点1的防火墙转换源IP
  3. 站点2的防火墙转换目标IP
  4. 设备192.168.0.60(S2)接收数据包。

在pfSense下设置

要在pfSense中设置NAT,必须在Phase2隧道中激活NAT / BINAT功能。

站点1

站点2

必须注意网络掩码应保持一致。它无法从/ 16网络转换为/ 24网络。

经过以上设置,VPN两端就可以正常互访了。

原文地址