IP 路由两个子网

IP 路由两个子网

我有两个子网

  • A:192.168.2.0/24。在 A 内,我们有防火墙和互联网连接。
  • 地址:172.16.12.0/24。

它们通过交换机相互连接,并且两个子网都配置为 VLAN。因此,交换机在两个子网内都有一个 IP 地址。

  • 在 A 中我有 192.168.2.226
  • 在 B 中是 172.16.12.175

现在,如果我按如下方式配置 A 中的机器,一切都正常运行:

  • sudo ip route 通过 192.168.2.226 添加 172.16.12.0/24

和 B 中的机器通过

  • sudo ip route 通过 172.16.12.175 添加 192.168.2.0/24

B 上的主机现在可以访问 A 上的主机(以及互联网主机)。

现在我想删除 A 上主机上的手动静态路由。相反,我想通过防火墙中的规则添加从 192 到 172 的路由,这样 A 上的主机就不需要进一步配置了。为此,我添加了一个“IPv4-Unicast-Route”,目标为 172.16.12.0/24,网关为 192.168.2.226。现在,A 上的主机可以访问 B:

> traceroute 172.16.12.4 /// running on 192.168.2.84
traceroute to 172.16.12.4 (172.16.12.4), 30 hops max, 60 byte packets
 1  _gateway (192.168.2.254)  0.199 ms  0.219 ms  0.243 ms
 2  192.168.2.226 (192.168.2.226)  1.579 ms  1.995 ms  2.429 ms
 3  172.16.12.4 (172.16.12.4)  1.064 ms  1.044 ms  1.026 ms

但是 B 上的主机无法访问 A 上的主机:

> traceroute 192.168.2.84 //// running on 172.16.12.4
traceroute to 192.168.2.84 (192.168.2.84), 30 hops max, 60 byte packets
 1  _gateway (172.16.12.175)  8.750 ms  9.058 ms  9.410 ms
 2  _gateway (172.16.12.175)  3.811 ms !H  4.551 ms !H  5.006 ms !H

(B 上的主机仍可通过活动的手动 IP 路由访问 8.8.8.8 等互联网主机,或访问 A 上的主机(sudo ip route add 172.16.12.0/24 via 192.168.2.226))

这可能是什么原因?我在防火墙配置方面遗漏了什么?我尝试添加防火墙规则,允许 172 个主机访问 192 个主机,但没有什么作用。

编辑:我要补充一点,防火墙的 IP 地址是 192.168.2.254。从第一个 traceroute 中可以看出,它确实正确地路由到了 192.168.2.226。

Netgear 交换机路由如添加的图像中定义netear 交换机路由

答案1

如果子网 A 中的主机收到来自子网 B 中主机的请求,但没有返回子网 B 的路由,它将无法发送响应。在这种情况下,子网 A 中的主机将尝试将响应发送到其默认网关。如果默认网关没有到子网 B 的路由,响应将被丢弃,子网 B 中的主机将永远不会收到响应。

答案2

我们的防火墙主板的以下 URL 描述了该问题及其解决方案。https://community.sophos.com/sophos-xg-firewall/f/discussions/100540/strange-behavior-xg-forwarding-to-internal-lan-second-router

您遇到了非对称路由。请尝试使用以下命令禁用连接跟踪和检查:

设置高级防火墙旁路状态防火墙配置添加源网络 xxxx 源网络掩码 255.255.255.0 目标网络 yyyy 目标网络掩码 255.255.255.0

设置高级防火墙旁路状态防火墙配置添加源网络 yyyy 源网络掩码 255.255.255.0 目标网络 xxxx 目标网络掩码 255.255.255.0

相关内容