ping 不同的 vlan 没有路由

网络工程 路由 局域网 第 3 层 数据包跟踪器
2022-02-03 18:41:36

我有一个带有两个 vlan 10 和 20 的第 3 层交换机。这是我在交换机上所做的唯一配置:

Switch(config)#vlan 10
Switch(config-vlan)#name IT
Switch(config-vlan)#vlan 20
Switch(config-vlan)#name TEST
Switch(config-vlan)#exit
Switch(config)#int f0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
Switch(config-if)#int f0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
Switch(config-if)#exit
Switch(config)#int vlan 10
Switch(config-if)#ip add 10.10.10.1 255.255.255.0
Switch(config-if)#int vlan 20
Switch(config-if)#ip add 10.20.20.1 255.255.255.0
Switch(config-if)#end

来自 f0/1 上 vlan 10 的 PC 和来自 f0/2 上 vlan 20 的 PC:

PC vlan 10:
IP: 10.10.10.99
Default Gateway: 10.10.10.1
Subnet: 255.255.255.0

PC vlan 20:
IP: 10.20.20.99
Default Gateway: 10.20.20.1
Subnet: 255.255.255.0

未启用 ip 路由:

Switch#show ip route
Default gateway is not set

Host               Gateway           Last Use    Total Uses  Interface
ICMP redirect cache is empty

这是我的问题。从 PC vlan 10 我可以 ping 交换机上的 int vlan 20,它有一个完全不同的子网。另外,从PC vlan 20,我可以ping vlan 10的默认网关。如果没有路由,这怎么可能?我觉得我所知道的关于网络的一切都在崩溃。

我在数据包跟踪器中做到了这一点。开关为 WS-C3560-24PS。

完整配置:

Current configuration : 1395 bytes
!
version 12.2
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Switch
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
spanning-tree mode pvst
!
!
!
!
!
!
interface FastEthernet0/1
 switchport access vlan 10
 switchport mode access
!
interface FastEthernet0/2
 switchport access vlan 20
 switchport mode access
!
interface FastEthernet0/3
!
interface FastEthernet0/4
!
interface FastEthernet0/5
!
interface FastEthernet0/6
!
interface FastEthernet0/7
!
interface FastEthernet0/8
!
interface FastEthernet0/9
!
interface FastEthernet0/10
!
interface FastEthernet0/11
!
interface FastEthernet0/12
!
interface FastEthernet0/13
!
interface FastEthernet0/14
!
interface FastEthernet0/15
!
interface FastEthernet0/16
!
interface FastEthernet0/17
!
interface FastEthernet0/18
!
interface FastEthernet0/19
!
interface FastEthernet0/20
!
interface FastEthernet0/21
!
interface FastEthernet0/22
!
interface FastEthernet0/23
!
interface FastEthernet0/24
!
interface GigabitEthernet0/1
!
interface GigabitEthernet0/2
!
interface Vlan1
 no ip address
 shutdown
!
interface Vlan10
 mac-address 00d0.bc5a.8101
 ip address 10.10.10.1 255.255.255.0
!
interface Vlan20
 mac-address 00d0.bc5a.8102
 ip address 10.20.20.1 255.255.255.0
!
ip classless
!
ip flow-export version 9
!
!
!
!
!
!
!
line con 0
!
line aux 0
!
line vty 0 4
 login
!
!
!
end
4个回答

在 Cisco 第 3 层交换机上,默认启用路由。添加命令

no ip routing

将其关闭。

这只是解决这个问题的一些想法——如果没有路由,数据包不能从一个子网跳到另一个子网——但是帧可以通过桥从 VLAN10 传输到 VLAN20,例如两个接入端口之间的电缆可以做到这一点。但是 PC 将 IP 广播发送到配置为 10.20.10.10/24 的端口的 10.20.20.255 是错误的,因为它应该根据其路由表将其发送到网关

因此,如果 PC 仅连接到 10.20.10.10/24 而您没有路由器 - PC 甚至不应该费心将数据放在网络上。因此,您似乎没有路由器,但您已经设置了网关,或者 PC 正在处理一个似乎没有路由的数据包。

因此,我会查看 PC 的配置以查看数据包的去向,然后查看该端口是什么 - 并尝试遵循帧将执行的操作

您的理解仍然是正确的 - 如果没有路由器,则无法从一个子网交换到另一个子网。但是,VLAN 不是子网。

不.. 没有“ip routing enable” 不同子网上的 Vlan 不能被路由,也不能通信。

默认情况下,同一 VLAN 上的主机可以相互通信。但不能在不同的 VLAN 主机上通信。为了使它们通信 VLAN 间路由需要启用,并且当 layer3 切换时“ip 例程”命令应该到位。

但在你的场景中。在没有 VLAN 间路由的情况下,您仍然可以访问不同的 VLAN 网关,这是异常行为。更改数据包跟踪器版本并尝试一次。

  • 您的交换机上配置了 10.10.10.1 和 10.20.20.1 IP 地址。
  • 位于 10.10.10.99 的 PC 知道使用 10.10.10.1 作为网关地址。

您从 PC 向 10.20.20.1 发送 ping 为 10.10.10.99

  • PC 将对网关地址进行 ARP 处理,以便能够发送发往 10.20.20.1 的数据包。
  • 交换机将回复 10.10.10.1 硬件地址,允许 PC 填充 ARP 表。
  • PC 将制作一个目标 IP 地址为 10.20.20.1 且目标 MAC 地址为交换机硬件地址 10.10.10.1 的数据包。
  • 交换机将接收数据包并将其识别为在其上配置的 IP 地址。

不需要路由,交换机将回复为 10.20.20.1 地址,因为它归交换机所有。