关于为什么我们从具有多个网关的特定系统和其他网关获得答案的问题


0

我不确定如何标题这个问题,所以如果你有什么想法就把它给我。我打算把它放在serverfault上,但我已经被modos重定向了。这个部门的许多专业人士都无法回答这个问题,所以我希望在这里得到答案。 在我的半专业网络设置中,我现在困扰了几天。 这是它的基本图表: simplified setup

所以我将尝试对此非常简单。 有问题的服务器将是一个ubuntu服务器VM。 路由器A,B和笔记本电脑可以互相ping通,但路由器A和笔记本电脑将无法ping通地址192.168.5.31上的服务器。它可以通过192.168.3.4。 问题仍然存在于vm @ 192.168.3.1中的网关设置或没有任何默认网关。

该问题不会出现在NAS上,例如QNAP或synology,它将在该网络中的任何位置的2个地址处提供。

当然,路由器A有一条描述如何到达192.168.5.0/25的路由,因此每个路由器都知道如何到达每个VLAN。一切都通过交换机和到达或主机或路由器,交换机上没有vlan路由。

那么网关的原理是否有限制?有些事情,如果从子网外部的IP接收到辅助NIC上的数据包,则无法应答?
对不起,如果缺乏关键信息,或者我缺乏精确的标题或其他事情的想法,我愿意接受建议。我真的不知道如何提问和缺乏想象力的关键字,并没有在我的CISCO培训计划中找到任何关于这一点。


在服务器上运行tcpdump以查看它是否获得ping请求,以及它是否回复,以及回复的样子可能会很有趣。
Spiff

您是说管理程序是192.168.3.4而来宾VM是192.168.5.31?您是否将虚拟机管理程序配置为ip forward?如果管理程序是Linux,则可以使用配置转发 serverfault.com/a/140626 --edit:iptables部分描述了端口转发,但如果您没有限制性IP表规则,则cat proc sys和echo 1 proc sys部分是简单的ip转发。
Tim G

不,不,我们不是在讨论虚拟机管理程序,我们正在讨论有2个网卡的虚拟机本身。 iptables在这里没有问题,因为它是接受政策。如果您有类似的设置,您也可以轻松地进行测试。我将在今天晚些时候尝试tcpdump。
vigilian

Answers:


1

使用IP / netmasks,这是预期的结果:

你的笔记本电脑知道在哪里找到 192.168.2.0-127

你的服务器知道在哪里找到 192.168.3.0-127192.168.5.0-127

路由器A知道在哪里找到 192.168.1.0-127192.168.3.0-127

路由器B知道在哪里找到 192.168.2.0-127192.168.5.0-127

所以从上面来看,预期的行为是服务器的IP地址 192.168.5.31 只能从路由器B到达。而且,为了整个工作,服务器必须使用路由器B的 192.168.5.1 作为回复所有传入流量的网关 192.168.5.31。否则,使用默认网关 192.168.3.1,服务器将收到一个 ping 从笔记本电脑( 192.168.2.30 ) 上 192.168.5.31 通过路由器B, 将通过路由器A回答( 192.168.3.1 ),如果这是它的默认网关,或者根本不回答没有默认网关。如果请求通过路由器B路由并且服务器通过路由器A回复,笔记本电脑将忽略该数据包。作为一般规则,回复 必须 按照请求的反向路径。

策略路由 在这样的设置中,它可能会非常方便。您必须在服务器上设置规则,以便在有传入流量时 192.168.5.31 回复通过路由器B和当有传入流量时 192.168.3.4 回复通过路由器A路由。


oooow okey所以既然它可能使用了另一个网关,那么接收器会忽略该数据包?但是你在这里谈论路由器,所以即使在内部它们也会过滤一些数据包?在您的解释方式中,我更倾向于认为笔记本电脑会拒绝数据包以响应不同的路径?为什么然后它与NAS合作?因为它是一个更复杂的系统,有几个网关或类似的东西?
vigilian

也许我有点倾斜。服务器“知道”关于ip范围192.168.3.0-127和192.168.5.0-127,并且具有默认网关192.168.3.1。 Laptop(192.168.2.30)将ICMP数据包发送到192.168.5.31。服务器不知道在哪里可以找到192.168.2.30,因此它通过默认网关从地址192.168.3.4发送响应。笔记本电脑看到来自陌生人的ICMP响应,它忽略了它。我不能说为什么它适用于NAS,除非我看到它的配置。
gmelis

上述NAS是基于FreeBSD的产品吗?
gmelis

所以它更像是忽略它的笔记本电脑,它更有意义。我会用tcpdump看到它吗?实际上对于NAS来说,QNAP和synology是相同的结果。所以,既然你已经开悟了我的行为,我猜它有一些“私人IP”的双重网关
vigilian

是的,使用tcpdump可以看到数据包,例如“tcpdump -i eth0 -n icmp和host 192.168.2.30”。你提到的NAS都是基于FreeBSD的,根据我对pfSense(FreeBSD)的经验,它不需要额外的配置来通过正确的接口和/或IP地址进行回复。 pf做它的魔力,一切都像魅力一样。使用Linux也可以实现此行为,但您需要应用策略路由。
gmelis
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.