Vlan 之间的路由(Inter-Vlan Routing,这里简写为IVR)好象很简单,不过也有些窍门。比如一个常见的错误是使用802.1Q封装时,交换引擎与路由器之间的TRUNK两端的Native VLAN不匹配。如Catalyst 4006交换机与其路由模块WS-C4232_L3之间就使用802.1Q的TRUNK封装,在交换引擎上用set vlan 1 3/1设置trunk的Native Vlan,用show trunk命令查看;在L3模块上用enc dot1q n native来表示该VLAN是TRUNK的Native VLAN。
在TRUNK上Native VLAN的数据是无标记的(Untagged),所以即使没有在TRUNKING,Native Vlan上仍能正常通讯。show cdp nei detail可以检查Native VLAN不匹配的情况。没有非凡的需要,Native VLAN最好使用默认的VLAN 1。3500交换机上假如更改了TRUNK的Native VLAN,治理端口也要相应地更改,如VLAN2: interface VLAN 2 , ip address ... , management。
在外接路由器如2620做router-on-a-stick的时候,也有一点小窍门:首先要有FastEthernet端口; 其次标准的IP软件不支持TRUNK,只有IP Plus以上的才支持。最后假如您使用的IOS不支持encapsulation dot1q 1 native这个“native”要害字的话,将Native Vlan的网关地址配置在主端口上,形式如:
interface fastethernet 0/0
ip address 10.1.1.254 255.255.255.0
speed auto
duplex auto
!
interface fastethernet 0/0.2
encapsulation dot1q 2
ip address 10.1.2.254 255.255.255.0
假如支持“native”要害字,则是:
interface fastethernet 0/0
no ip address
speed auto
duplex auto
!
interface fastethernet 0/0.1
encapsulation dot1q 1 native
ip address 10.1.1.254 255.255.255.0
!
interface fastethernet 0/0.2
encapsulation dot1q 2
ip address 10.1.2.254 255.255.255.0
最近在7609路由器上观察到一个希奇的问题。7609由6509交换机改进而成,绝大多数硬件都跟6509一样,包括引擎,软件(CatOS+IOS),我想这个问题6500上也会有。现象是这样的,这台机器配了两个引擎,假如MSFC15配置如下:
interface vlan 1
ip address 10.1.1.254 255.255.255.0
!
interface vlan 2
ip address 10.1.2.254 255.255.255.0
而MSFC16只配置了VLAN2及默认路由:
interface vlan 2
ip address 10.1.2.253 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.1.2.254
则在VLAN 1内如地址为10.1.1.1的主机 ping不通 10.1.2.253,但能ping 通10.1.1.254及10.1.2.254。例外的是7609交换引擎在VLAN1内的治理地址,它能ping 通上述所有的地址。我想这个问题可能跟多层交换/CEF有关,哪位高手已经解决了这个问题?