通过网关路由到另一个子网 - 防火墙构建器

通过网关路由到另一个子网 - 防火墙构建器

该问题与此处发布的问题非常相似: 通过网关路由到另一个子网

我的问题是关于以下网络拓扑的正确路由/ iptable 设置,其中包括站点 A 和站点 B 之间的站点到站点 VPN。

网络架构

客户-A想要访问客户-B例如,一个网络服务器托管在客户-B。为简单起见,我只想关注站点 A。我们假设客户-BVPN 服务器-B作为其网关。

客户-A可以访问网络服务器客户-B, 如果客户-A用途VPN 服务器-A作为其网关。但是客户-A也希望通过网关访问互联网。因此,客户-A网关-A作为其默认网关。因此网关-A应将 192.168.1.0/24 的流量转发至VPN 服务器-A。我使用防火墙生成器来配置防火墙和路由规则。我在防火墙生成器中设置了以下内容。

防火墙生成器

客户-A可以 ping 通客户-B但无法建立 http(s) 连接。查看日志文件网关-A

Apr  3 21:22:35 gateway-A kernel: [ 5456.799769] RULE 1 -- ACCEPT IN=eth0 OUT=eth0 MAC=00:11:22:33:44:55:00:55:44:33:22:11:08:00 SRC=192.168.0.100 DST=192.168.1.100 LEN=52 TOS=0x02 PREC=0x00 TTL=127 ID=28583 DF PROTO=TCP SPT=53133 DPT=443 WINDOW=8192 RES=0x00 CWR ECE SYN URGP=0
Apr  3 21:22:35 gateway-A kernel: [ 5456.814869] RULE 3 -- DENY IN=eth0 OUT=eth0 MAC=00:11:22:33:44:55:00:55:44:33:22:11:08:00 SRC=192.168.0.100 DST=192.168.1.100 LEN=40 TOS=0x00 PREC=0x00 TTL=127 ID=28584 DF PROTO=TCP SPT=53133 DPT=443 WINDOW=260 RES=0x00 ACK URGP=0

问题似乎在于网关-A没有正确地将流量重定向到VPN 服务器-A。正如上面链接的帖子中的最后一条评论所说,应该检查防火墙。可能需要额外的 NAT,但我不明白为什么。访问 192.168.1.0/24 的传入请求网关-A应该重定向到VPN 服务器-A

答案1

您看到的防火墙条目是:

  • 初始 TCP SYN(握手步骤 1):允许。
  • 服务器 TCP SYN-ACK(握手步骤 2):丢失的?
  • 后续 TCP ACK(握手步骤 3):被阻止。

在我看来,这表明防火墙上的连接跟踪功能没有按预期工作。这表明要么存在路由问题(更多信息见下文),要么防火墙存在配置问题。我对您使用的防火墙或 VPN 没有任何信息/经验,因此很难提供更多详细信息。

路由问题:

在提供的图表中,从客户端 A 到客户端 B 的流量似乎直接通过互连网络路由(未加密)(因为客户端 A 的网关是网关 A),而从客户端 B 到客户端 A 的流量通过 VPN 路由(因为客户端 B 的网关是 vpn-server-B)。

由于 VPN 服务器 A 与客户端 A 位于同一网络上,因此通过 VPN 路由的任何数据包都将直接传送到客户端 A,而不是通过网关 A。

这意味着网关-A永远不会看到来自客户端 B 的 TCP SYN-ACK。因此,就网关 A 而言,A 和 B 之间的连接永远不会建立,并且该连接上从客户端 A 到客户端 B 的进一步流量将被阻止。

Ping 流量没有问题,因为它发出时未加密,返回时加密,但后续发送的数据包与第一个相同,因此它们被视为相同,而 TCP 连接甚至需要大量的双向通信才能建立。

我建议将 VPN 服务器与客户端放在不同的网络上(例如 192.168.100.0/24 和 192.168.101.0/24),并在网关服务器(网关 A 和网关 B)中创建显式路由,通过 VPN 路由远程网络的流量。这样您就不必特别配置客户端了。

相关内容