将 IPSec VPN 设置到另一个 Pfsense Box 后面的节点

网络工程 网络安全 感知
2021-07-13 04:48:28

我有一个 pfsense 框(称为 BOX1),它有 LAN 和一个连接到互联网的 WAN,用于创建到客户端的 VPN 连接:它有 pfsense 版本 2.0.2-RELEASE (i386)

我有另一个带有 Internet 连接的 pfsense 框(称为此 BOX2)。在它后面是几个局域网(LANx):这个有pfsense version 2.1-RELEASE (i386)

BOX1和BOX2之间还有点对点连接

BOX2 使用 BOX1 作为其默认网关。

这意味着 BOX1 是其自身 LAN 的默认网关,也是 BOX2 和 BOX2 背后网络的默认网关。

BOX2的internet一般只在BOX1的WAN不可达时使用。

BOX1 有一个站点到站点 VPN,客户端使用该 VPN 连接到位于 BOX1 后面 LAN 中的 IP 192.168.2.5(称为 SRV1)。

使用 BOX2 上的 WAN,我想为客户端设置一个备份 VPN,以便他们可以通过连接 BOX2 和 BOX1 的点对点连接到 SRV1。客户端的计算机在 IP 上:172.16.2.10

基本上,如果支持 PfSense BOX1 上的 VPN 的 WAN 关闭,我希望客户端自己切换到 VPN2,它将通过点对点链接连接到 BOX1,从而找到位于 BOX1 后面的 SRV1。

你能指导我如何进行这种设置吗?

http://postimg.org/image/95ha0l0x1/

到目前为止,我已经尝试过但没有成功。在 BOX2 上,出现错误:

Jan 30 10:32:04 racoon:[未知网关/动态]:错误:此类策略已存在。无论如何替换它:172.16.2.10/24[0] 10.10.11.3/32[0] proto=any dir=in

Jan 30 10:32:04 racoon: [未知网关/动态]: DEBUG: db :0x28501288: 172.16.2.10/24[0] 10.10.11.3/32[0] proto=any dir=in

Jan 30 10:32:04 racoon: [未知网关/动态]: DEBUG: sub:0xbfbfe724: 172.16.2.10/24[0] 10.10.11.3/32[0] proto=any dir=in

1 月 30 日 10:32:04 racoon:调试:得到 pfkey X_SPDADD 消息

1 月 30 日 10:32:04 浣熊:调试:pk_recv:重试 [0] recv()

Jan 30 10:32:04 racoon:[未知网关/动态]:错误:此类策略已存在。无论如何替换它:192.168.2.5/32[0] 172.16.2.10/24[0] proto=any dir=out

1 月 30 日 10:32:04 racoon: [未知网关/动态]: DEBUG: db :0x28501508: 192.168.2.5/32[0] 172.16.2.10/24[0] proto=any dir=out

1 月 30 日 10:32:04 racoon:[未知网关/动态]:调试:sub:0xbfbfe724:192.168.2.5/32[0] 172.16.2.10/24[0] proto=any dir=out

Jan 30 10:32:04 racoon: [未知网关/动态]: DEBUG: db :0x28501288: 172.16.2.10/24[0] 10.10.11.3/32[0] proto=any dir=in

1 月 30 日 10:32:04 racoon:[未知网关/动态]:调试:sub:0xbfbfe724:192.168.2.5/32[0] 172.16.2.10/24[0] proto=any dir=out

1 月 30 日 10:32:04 racoon:调试:得到 pfkey X_SPDADD 消息

1 月 30 日 10:32:04 浣熊:调试:pk_recv:重试 [0] recv()

1 月 30 日 10:32:04 racoon:信息:不支持的 PF_KEY 消息注册

1 月 30 日 10:32:04 racoon:调试:收到 pfkey REGISTER 消息

1 月 30 日 10:32:04 浣熊:调试:pk_recv:重试 [0] recv()

1 月 30 日 10:32:04 浣熊:调试:getsainfo 参数:loc='192.168.2.5' rmt='172.16.2.10/24' peer='NULL' client='NULL' id=1

Jan 30 10:32:04 racoon:调试:没有检查压缩算法;不支持在 sadb 消息中。

1 月 30 日 10:32:04 浣熊:调试:hmac(modp1536)

1 月 30 日 10:32:04 racoon:调试:读取配置文件 /var/etc/ipsec/racoon.conf

1 月 30 日 10:32:04 浣熊:调试:pk_recv:重试2 recv()

1 月 30 日 10:32:04 浣熊:调试:pk_recv:重试1 recv()

1 月 30 日 10:32:04 浣熊:调试:pk_recv:重试 [0] recv()

Jan 30 10:32:04 racoon: [未知网关/动态]: DEBUG: db :0x28501288: 172.16.2.10/24[0] 10.10.11.3/32[0] proto=any dir=in

1 月 30 日 10:32:04 racoon:[未知网关/动态]:调试:sub:0xbfbfe704:192.168.2.5/32[0] 172.16.2.10/24[0] proto=any dir=out

1 月 30 日 10:32:04 racoon:调试:得到 pfkey X_SPDDUMP 消息

1 月 30 日 10:32:04 浣熊:调试:pk_recv:重试 [0] recv()

1 月 30 日 10:32:04 racoon:调试:得到 pfkey X_SPDDUMP 消息

1 月 30 日 10:32:04 浣熊:调试:pk_recv:重试 [0] recv()

1 月 30 日 10:32:04 racoon:信息:不支持的 PF_KEY 消息注册

1 月 30 日 10:32:04 racoon:调试:收到 pfkey REGISTER 消息

1 月 30 日 10:32:04 浣熊:调试:pk_recv:重试 [0] recv()

我已经在 pfsense 论坛上发布了这个问题,但不久之后我记得我是一名活跃的 SE 成员,所以我来寻找网络论坛。希望不要违反任何规则

1个回答

看来您使用的是 NAT 而不是 BOX1 和 BOX2 之间的路由。BOX2 需要知道如何到达 BOX1 后面的网络。您可以配置静态路由,也可以在两个路由器之间运行路由协议。

路由器通过三种方式学习路由:

  1. 路由器本质上知道直接连接的网络
  2. 通过手动配置静态
  3. 动态地通过路由协议

静态路由配置不能扩展,但在这么小的网络中可能不是问题。您不应在网络内部使用 NAT,而应仅在公共 Internet 的接口上使用。在您的网络内,只需使用路由,但您需要以某种方式让 BOX1 知道 BOX2 后面的任何网络,反之亦然。您可以在每个路由器上配置静态路由来执行此操作,但您需要关闭点对点链路上的 NAT。