我有两个子网
- 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