STP 트러블슈팅
STP는 기본적으로 루프 없는 토폴로지를 잘 만들지만, 설정 오류로 인해 예상치 못한 동작이 발생할 수 있습니다. 이 강의에서는 일반적인 STP 문제 시나리오와 해결 방법을 다룹니다.
핵심 요약
- STP 코스트가 수동으로 변경되면 잘못된 루트 포트가 선택될 수 있음
no spanning-tree vlan X명령으로 STP가 비활성화되면 루프 발생- BPDU 필터가 활성화되면 스위치 간 BPDU가 차단되어 루프 발생
- 인터페이스에 VLAN이 활성화되지 않으면 STP가 해당 인터페이스에서 동작하지 않음
토폴로지 (Topology)
3대의 스위치(SW1=루트 브리지, SW2, SW3)가 각 쌍 사이에 이중 링크로 연결된 구성입니다.
1. 잘못된 루트 포트 (Incorrect Root Port)
증상
SW3에서 E0/13 (10Mbit)이 루트 포트로 선택되었습니다. 정상적이라면 Fa0/14 (100Mbit)가 루트 포트가 되어야 합니다.
원인 분석
show spanning-tree 확인 결과, 두 인터페이스 모두 코스트가 19로 동일하게 표시됩니다.
SW3# show spanning-tree
Interface Role Sts Cost
---------------- ---- --- ----
E0/13 Root FWD 19
Fa0/14 Altn BLK 19E0/13은 10Mbit 인터페이스이므로 기본 코스트가 100이어야 하지만, 누군가 수동으로 코스트를 19로 변경한 것입니다.
SW3# show run interface e0/13
interface Ethernet0/13
spanning-tree cost 19해결 방법
수동 설정된 코스트를 제거합니다.
SW3(config)# interface e0/13
SW3(config-if)# no spanning-tree cost 19해결 후 결과
E0/13의 코스트가 기본값 100으로 복원되고, Fa0/14 (코스트 19)가 루트 포트로 올바르게 선택됩니다.
Interface Role Sts Cost
---------------- ---- --- ----
E0/13 Altn BLK 100
Fa0/14 Root FWD 19교훈: 루트 포트로 사용할 인터페이스가 루트 브리지까지 가장 낮은 코스트를 가지는지 확인하세요.
2. 스패닝 트리 비활성화 (Spanning Tree Disabled)
증상
SW3에서 VLAN 10에 대한 STP가 동작하지 않습니다.
SW3# show spanning-tree vlan 10
Spanning tree instance(s) for VLAN 10 does not exist.
원인 분석
인터페이스 상태를 확인하면 모두 UP 상태이고, 트렁크도 정상이며, VLAN 10이 모든 인터페이스에 활성화되어 있습니다.
STP가 동작하지 않는 두 가지 가능한 원인:
- VLAN 10에 대한 활성 인터페이스가 없음
- STP가 비활성화됨
해결 방법
STP를 다시 활성화합니다.
SW3(config)# spanning-tree vlan 10흔한 실수
인터페이스 설정 모드에서 no spanning-tree vlan 10을 입력하면, 스위치가 이를 글로벌 명령으로 해석하여 해당 VLAN의 STP가 완전히 비활성화됩니다.
SW3(config)# interface fa0/13
SW3(config-if)# no spanning-tree vlan 10
! ↑ 스위치가 글로벌 명령으로 해석 → STP 전체 비활성화!교훈: STP가 활성화되어 있는지 확인하세요.
show spanning-tree vlan X명령으로 동작 여부를 확인할 수 있습니다.
3. BPDU 차단 (BPDUs Blocked)
증상
네트워크 성능 저하가 발생하고, 루프가 감지되었습니다.
원인 분석
SW2와 SW3 모두 Fa0/16이 Designated 포트로 표시됩니다. 같은 링크의 양쪽 모두 Designated이면 루프가 발생합니다!
SW2# show spanning-tree
Interface Role Sts
---------------- ---- ---
Fa0/16 Desg FWD ← SW2도 Designated
Fa0/17 Desg FWD
SW3# show spanning-tree
Interface Role Sts
---------------- ---- ---
Fa0/16 Desg FWD ← SW3도 Designated → 루프!
Fa0/17 Desg FWD확인한 항목:
- VLAN access-map → 없음
- Access-list → 없음
- Port-security → 없음
BPDU 필터가 SW2의 Fa0/16과 Fa0/17에 활성화되어 있었습니다.
SW2# show spanning-tree interface fa0/16 detail | include filter
Bpdu filter is enabled해결 방법
BPDU 필터를 비활성화합니다.
SW2(config)# interface fa0/16
SW2(config-if)# no spanning-tree bpdufilter enable
SW2(config-if)# interface fa0/17
SW2(config-if)# no spanning-tree bpdufilter enable해결 후 결과
SW3의 Fa0/16과 Fa0/17이 Alternate Blocking 상태로 전환되어 루프가 해소됩니다.
SW3# show spanning-tree
Interface Role Sts
---------------- ---- ---
Fa0/16 Altn BLK ← 정상: Blocking
Fa0/17 Altn BLK ← 정상: Blocking교훈: 스위치 간 BPDU가 차단되거나 필터링되지 않는지 확인하세요.
4. 인터페이스에서 VLAN 비활성 (VLAN Inactive on Interface)
증상
SW2에서 VLAN 10의 루트 포트로 Fa0/16이 선택되었지만, 루트 브리지(SW1)에 직접 연결된 Fa0/13이 루트 포트가 되어야 합니다.
원인 분석
SW2# show spanning-tree interface fa0/13
VLAN 1 is the only VLAN active on this interface.Fa0/13에서 VLAN 10이 활성화되어 있지 않습니다. 인터페이스 상태를 확인합니다.
SW2# show interfaces fa0/13 switchport
Administrative Mode: static access
Access Mode VLAN: 1Fa0/13과 Fa0/14가 액세스 모드 VLAN 1로 설정되어 있어 트렁킹이 동작하지 않고, VLAN 10 트래픽이 전달되지 않습니다.
해결 방법
해당 인터페이스를 트렁크 모드로 변경합니다.
SW2(config)# interface range fa0/13 - 14
SW2(config-if-range)# switchport mode trunk해결 후 결과
Fa0/13이 VLAN 10의 루트 포트가 됩니다 (코스트 19, 루트까지 직접 연결).
SW2# show spanning-tree vlan 10
Interface Role Sts Cost
---------------- ---- --- ----
Fa0/13 Root FWD 19 ← 루트까지 직접 연결
Fa0/16 Altn BLK 38 ← SW3 경유교훈: STP 관련 문제를 확인하기 전에 해당 VLAN이 인터페이스에서 활성화되어 있는지 먼저 확인하세요.
STP 트러블슈팅 체크리스트
| 순서 | 확인 항목 | 관련 명령 |
|---|---|---|
| 1 | 인터페이스 상태 | show ip interface brief |
| 2 | VLAN 활성 여부 | show interfaces trunk, show vlan |
| 3 | STP 활성 여부 | show spanning-tree vlan X |
| 4 | STP 코스트 확인 | show spanning-tree, show run interface |
| 5 | BPDU 필터/가드 | show spanning-tree interface detail |
| 6 | ACL/VACL 확인 | show access-lists, show vlan access-map |
| 7 | 포트 보안 | show port-security |
트러블슈팅 순서 팁: 항상 물리 계층(인터페이스 상태)부터 시작하여, VLAN 설정, STP 설정 순서로 확인하세요. 복잡한 원인(BPDU 필터, ACL 등)은 기본 확인이 끝난 후에 점검합니다.