Egy érdekes hibát kaptam egyik olvasómtól, amit nem egészen értett. Én néhány perc alatt rájöttem a megoldásra, de esetleg hasznos lehet a feladat, nem feltétlenül könnyű az ilyen jellegű hibákat megtalálni.
A topológia a következő:
Szituáció: mivel VTP domain “A” lebontásra kerül, ezért SW7-et át kell tenni VTP domain “B”-be. De mivel ez csak később történik meg, az adminisztrátor (megelőzve VTP “B” domain esetleges későbbi VLAN törlését [kliens felülírhatja a servert, ha magasabb a revision number]), átrakta SW7-et transparent módba. És ekkor kezdődtek a problémák.
A VLAN-ok SW1-SW2-n végződnek (nem egy modern design), fókuszáljunk most tehát erre a topológiára, és hagyjuk ki a routingot és a hálózat többi részét. R1, R2 ésR3 különböző VLAN-okban vannak, és a core rétegből pingelhetőnek kell lenniük, hiszen ott végződnek a VLAN-ok. Először is nézzük a konfigurációkat (ha Te is felépíted a rajznak megfelelően a topológiát, mehet a copy-paste, ha szeretnéd megtalálni a hibát és/vagy követni a leírást).
SW1 conf t vlan 2-4 int e0/0 sw trunk en d switchport mode trunk no shut int e1/0 sw trunk en d switchport mode trunk no shut int e1/1 sw trunk en d switchport mode trunk no shut int vl1 no shut ip add 10.1.1.2 255.255.255.0 stand 1 ip 10.1.1.1 stand 1 prio 110 int vl2 ip add 192.168.2.2 255.255.255.0 standby 2 ip 192.168.2.1 standby 2 priority 110 int vl3 ip add 192.168.3.2 255.255.255.0 standby 3 ip 192.168.3.1 standby 3 priority 110 int vl4 ip add 192.168.4.2 255.255.255.0 standby 4 ip 192.168.4.1 standby 4 priority 110 vtp domain C vtp mode server vlan 1-4 root primary end SW2 conf t vlan 2-4 int e0/0 sw trunk en d switchport mode trunk no shut int e1/0 sw trunk en d switchport mode trunk no shut int e1/1 sw trunk en d switchport mode trunk no shut int vl1 no shut ip add 10.1.1.3 255.255.255.0 stand 1 ip 10.1.1.1 stand 1 prio 100 int vl2 ip add 192.168.2.3 255.255.255.0 standby 2 ip 192.168.2.1 standby 2 priority 100 int vl3 ip add 192.168.3.3 255.255.255.0 standby 3 ip 192.168.3.1 standby 3 priority 100 int vl4 ip add 192.168.4.3 255.255.255.0 standby 4 ip 192.168.4.1 standby 4 priority 100 vtp domain C vtp mode server end SW3 conf t vlan 2-4 int e0/0 sw trunk en d switchport mode trunk no shut int e0/2 sw trunk en d switchport mode trunk no shut int e1/0 sw trunk en d switchport mode trunk no shut int vl1 ip add 10.1.1.13 255.255.255.0 no shut vtp domain B vtp mode server vtp pruning ip default-gateway 10.1.1.1 end SW4 conf t vlan 2-4 int e0/0 sw trunk en d switchport mode trunk no shut int e0/2 sw trunk en d switchport mode trunk no shut int e1/0 sw trunk en d switchport mode trunk no shut int vl1 ip add 10.1.1.14 255.255.255.0 no shut vtp domain B vtp mode server ip default-gateway 10.1.1.1 end SW5 conf t vlan 2-4 int e1/0 sw trunk en d switchport mode trunk no shut int e0/0 sw trunk en d switchport mode trunk no shut int vl1 ip add 10.1.1.15 255.255.255.0 no shut vtp domain B vtp mode server vtp pruning ip default-gateway 10.1.1.1 end SW6 conf t vlan 2-4 int e1/0 sw trunk en d switchport mode trunk no shut int e0/0 sw trunk en d switchport mode trunk no shut int vl1 ip add 10.1.1.16 255.255.255.0 no shut vtp domain B vtp mode server ip default-gateway 10.1.1.1 end SW7 conf t vlan 2-4 int e1/0 sw trunk en d switchport mode trunk no shut int e0/3 sw trunk en d switchport mode trunk no shut int e0/0 sw acc vl 2 no shut int e0/1 sw acc vl 3 no shut int e0/2 sw acc vl 4 no shut int vl1 ip add 10.1.1.17 255.255.255.0 no shut vtp domain A vtp mode client ip default-gateway 10.1.1.1 end R1 conf t int e0/0 ip add 192.168.2.10 255.255.255.0 no shut ip route 0.0.0.0 0.0.0.0 192.168.2.1 end R2 conf t int e0/0 ip add 192.168.3.10 255.255.255.0 no shut ip route 0.0.0.0 0.0.0.0 192.168.3.1 end R3 conf t int e0/0 ip add 192.168.4.10 255.255.255.0 no shut ip route 0.0.0.0 0.0.0.0 192.168.4.1 end
Nézzük először, mikor még minden működött.
Minden switch pingelhető az SVI interface-én:
SW1#ping 10.1.1.255 rep 1 Type escape sequence to abort. Sending 1, 100-byte ICMP Echos to 10.1.1.255, timeout is 2 seconds: Reply to request 0 from 10.1.1.15, 2 ms Reply to request 0 from 10.1.1.16, 4 ms Reply to request 0 from 10.1.1.3, 4 ms Reply to request 0 from 10.1.1.14, 3 ms Reply to request 0 from 10.1.1.17, 3 ms Reply to request 0 from 10.1.1.13, 2 ms SW1#
Ugyanez igaz a 3 routerre is:
SW1#ping 192.168.2.10 rep 1 Type escape sequence to abort. Sending 1, 100-byte ICMP Echos to 192.168.2.10, timeout is 2 seconds: ! Success rate is 100 percent (1/1), round-trip min/avg/max = 2/2/2 ms SW1#ping 192.168.3.10 rep 1 Type escape sequence to abort. Sending 1, 100-byte ICMP Echos to 192.168.3.10, timeout is 2 seconds: ! Success rate is 100 percent (1/1), round-trip min/avg/max = 2/2/2 ms SW1#ping 192.168.4.10 rep 1 Type escape sequence to abort. Sending 1, 100-byte ICMP Echos to 192.168.4.10, timeout is 2 seconds: ! Success rate is 100 percent (1/1), round-trip min/avg/max = 2/2/2 ms SW1#
A migráció előkészítéseként tehát SW7-et áttettük transparent módba.
SW7#conf t Enter configuration commands, one per line. End with CNTL/Z. SW7(config)#vtp mode transparen Setting device to VTP Transparent mode for VLANS. SW7(config)#end SW7#
És most már nem megy a kommunikáció.
SW1#ping 192.168.4.10 rep 10 Type escape sequence to abort. Sending 10, 100-byte ICMP Echos to 192.168.4.10, timeout is 2 seconds: .......... Success rate is 0 percent (0/10) SW1#
Nézzük, mi lehet a gond. És itt jön képbe az, hogy igazán érti -e az ember a technológiákat. Gondoljuk végig, mi okozhatja a hibát.
Layer2-es hiba elhárításánál a legjobb barátunk mindig a STP kimenet. Ebből sok dolgot egyből ki lehet szúrni. SW7-en és SW3-n is megnézzük, VLAN2-re minden rendben van -e.
SW7#sh span vl 2 VLAN0002 Spanning tree enabled protocol ieee Root ID Priority 24578 Address aabb.cc00.0100 Cost 200 Port 5 (Ethernet1/0) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32770 (priority 32768 sys-id-ext 2) Address aabb.cc00.0700 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Et0/0 Desg FWD 100 128.1 Shr Et0/3 Altn BLK 100 128.4 Shr Et1/0 Root FWD 100 128.5 Shr SW7#
SW3#sh span vl 2 VLAN0002 Spanning tree enabled protocol ieee Root ID Priority 24578 Address aabb.cc00.0100 Cost 100 Port 33 (Ethernet1/0) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32770 (priority 32768 sys-id-ext 2) Address aabb.cc00.0300 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Et0/0 Desg FWD 100 128.1 Shr Et0/2 Desg FWD 100 128.3 Shr Et1/0 Root FWD 100 128.33 Shr SW3#
Ez eddig jónak tűnik. Tehát STP hiba kilőve (hacsak nem IOS bug, de nem az lesz :)). Érdemes még megnézni a trunk állapotot SW3-n, hogy megbizonyosodjunk arról, hogy tényleg jók vagyunk -e Layer2-ben.
SW3#sh int trunk Port Mode Encapsulation Status Native vlan Et0/0 on 802.1q trunking 1 Et0/2 on 802.1q trunking 1 Et1/0 on 802.1q trunking 1 Port Vlans allowed on trunk Et0/0 1-4094 Et0/2 1-4094 Et1/0 1-4094 Port Vlans allowed and active in management domain Et0/0 1-4 Et0/2 1-4 Et1/0 1-4 Port Vlans in spanning tree forwarding state and not pruned Et0/0 1 Et0/2 1 Et1/0 1-4 SW3#
És itt bizony meg is van a hiba. Látjuk, hogy SW1 felé VLAN 1-4-ig trunk-ben van a port, E0/0 (SW7 felé) viszont csak a VLAN1 él. Hmmmmm…..
Olvassuk el figyelmesen a kimenetet:
" Vlans in spanning tree forwarding state and not pruned"
STP forwardingot megnéztük, pipa. And not pruned… Hmm… VTP pruning?
SW3#sh vtp status | i Pruning
VTP Pruning Mode : Enabled
SW3#
Azaz a VTP pruning letiltja SW7 felé a kommunikációt. Miért?
Ne feledjük, SW7 már Transparent módban van. Azaz a VTP üzeneteket csak továbbítja, de nem dolgozza fel, nem válaszol rájuk. Ez igaz a VTP pruning üzenetekre is.
A debug SW7-en megmutatja nekünk, hogy a switch csak relay funkciót tölt be, hiszen Transparent módban van:
SW7#debug sw-vlan vtp packets *Jan 25 22:02:31.702: VTP LOG RUNTIME: Relaying packet received on trunk Et1/0 - in TRANSPARENT MODE (nc = false)
SW3-n látjuk, hogy E0/2 timeout-ra fut, nem kap választ a VTP üzenetre, illetve azt is, hogy E1/0-n VTP domain “C” üzenet érkezett, ezért azt nem prune-lja, hiszen látja, hogy egy másik VTP domain van odakapcsolva:
SW3#debug sw-vlan vtp pruning *Jan 25 22:04:31.441: VTP LOG RUNTIME: Dropping packet received on trunk Et1/0 - not in domain C VTP PRUNING DEBUG: trunk Et0/2 timeout VTP PRUNING DEBUG: trunk Et0/0 timeout VTP PRUNING DEBUG: trunk Et0/0 rx Join, len=166 (domain A)
Ezért Prune-li a VLAN-okat (VLAN1 ugye “Prune in-eligible”)
Többféle megoldás lehet. VTP pruning kikapcsolása, vagy az adott VLAN-ok eltávolítása a Pruning listából. Nézzük utóbbit (és ugyanez kell SW4 E0/2-n is persze, mert ha az SW7-SW3 link leesik, ugyanebbe a folyóba lépünk még egyszer):
SW3(config-if)#switchport trunk pruning vlan remove 2-4 SW3(config-if)#end SW3#VTP PRUNING INFO: change A pruning eligibility VTP PRUNING DEBUG: vlan 2 pruning eligibility change: 20->0 VTP PRUNING INFO: TEt0/0,V2: st Pruned ,event Inelig=>new st NoPrune VTP PRUNING INFO: TEt0/2,V2: st Pruned ,event Inelig=>new st NoPrune VTP PRUNING DEBUG: vlan 3 pruning eligibility change: 10->0 VTP PRUNING INFO: TEt0/0,V3: st Pruned ,event Inelig=>new st NoPrune VTP PRUNING INFO: TEt0/2,V3: st Pruned ,event Inelig=>new st NoPrune VTP PRUNING DEBUG: vlan 4 pruning eligibility change: 8->0 VTP PRUNING INFO: TEt0/0,V4: st Pruned ,event Inelig=>new st NoPrune VTP PRUNING INFO: TEt0/2,V4: st Pruned ,event Inelig=>new st NoPrune SW3#
Azaz látjuk, hogy E0/2 felé az új állapot “NoPrune”.
Nézzük meg most a trunk állapotokat SW3-n:
SW3#sh int trunk Port Mode Encapsulation Status Native vlan Et0/0 on 802.1q trunking 1 Et0/2 on 802.1q trunking 1 Et1/0 on 802.1q trunking 1 Port Vlans allowed on trunk Et0/0 1-4094 Et0/2 1-4094 Et1/0 1-4094 Port Vlans allowed and active in management domain Et0/0 1-4 Et0/2 1-4 Et1/0 1-4 Port Vlans in spanning tree forwarding state and not pruned Et0/0 1 Et0/2 1-4 Et1/0 1-4 SW3#
Na ez az, mindjárt jobb a helyzet! Ezt kell látnunk
És megindult a kommunikáció is:
SW1#ping 192.168.2.10 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.2.10, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/5 ms SW1#
Tanulság:
- Ne használj VTP-t, ha mégis, akkor VTPv3-t (bár ez ebből a szempontból lényegtelen)
- Ne használj VTP pruning-ot, csak a baj van vele
- Ha Transparent switch van a hálózatban, kiemelten figyelj a Layer2-re.
- Layer2 hibát nagyon nehéz kibogozni, a két legjobb parancs ilyen esetre a
show spanning-tree vlan X
és a
show int trunk
Illetve ha van lehetőség, csinálj SVI-t a közbenső switcheken, hogy szűkíthesd a hiba határát.
Remélem volt olyan olvasó, akinek hasznos volt.