一台计算机通过 VLAN 间路由连接到多个 VLAN

网络工程 VLAN
2021-07-05 15:18:39

假设我有两个 VLAN,10.0.1.x并且192.168.1.x. 这 2 个 VLAN 启用了 VLAN 间路由。

电脑A192.168.1.x用IP连接192.168.1.2

计算机B:连接到两者。10.0.1.3192.168.1.3

当我192.168.1.3A ping,没关系。但是如果我 ping 10.0.1.3,它就会失败。

但是,如果我关闭192.168.1.3计算机B接口,则可以10.0.1.3A 访问

为什么呢?我能做些什么来解决这种情况?是否涉及路由表问题?

2个回答

这是完全正常的。

当您 ping 时,10.0.1.3您会发出一个源地址和目标地址为的 ICMP回显请求数据包,并期望收到源地址/目标地址的响应192.168.1.210.0.1.310.0.1.3192.168.1.2

当计算机B响应时,它向 发送响应192.168.1.2由于它在同一个网络中有一个接口,有它的 IP 192.168.1.3,它通过这个接口发送响应,所以 ICMP回显回复消息是用源地址192.168.1.3/目标地址发送的192.168.1.2

计算机A确实收到了响应,但它不是预期的源地址,因此它不会将其与初始回显请求相关联。

现在,如果您关闭接口192.168.1.3,响应将通过具有正确 IP 地址的另一个接口发送。

至于如何解决这种情况,这完全取决于您为什么要让计算机B多宿主(IE连接到多个网络)。大多数情况下最好避免这种设置。

例如,一种方法是对10.0.1.X192.168.1.x寻址的地址进行NAT

您可能会受到反向路径过滤的影响。基本上电脑的,因为它不是从预期IP数据包丢弃传入ICMP信息包192.168.1.2的对10.0.1.3接口。

它期待192.168.1.0/24来自192.168.1.3接口子网流量