본문 바로가기

KITRI/네트워크 기초

STP 보호기술

BPDU Guard

특정 포트를 통해 BPDU를 수신했을 경우 수신된 포트를 자동으로 셧다운(Shutdown) 시키는 기능이다.

스위치가 아닌 장비들이 BPDU를 보낼일이 없기 때문에, 일반적으로 PC나 서버 같은 종단장치가 접속된 포트에 설정한다.

종단장치가 접속된 포트가 BPDU를 수신한다는 것은 일반 사용자들이 무단으로 스위치에 개인의 스위치나 허브를 접속 했거나, 

STP 관련 해킹 공격을 받고 있음을 의심해야 한다.



Configuration

@ Global Configuration Mode

Switch(Config)# spanning-tree portfast bpduguard default


@ Interface configuration Mode

Switch(config)# interface F0/13

Switch(Config-if)# spanning-tree bpduguard enable


BPDU Guard 설정 실습

SW에 BPDU Guard 설정

SW2(config)# interface f0/13

SW2(config-if)# spanning-tree bpduguard enable

-> SW2의 f0/13은 DP(Destination Point)이기 떄문에 BPDU를 송신만하고 수신은 하지 않는다. 변화가 없는 것을 확인하고 제거한다.

BPDU를 수신하는 포트에 BPDU Guard 설정하기

SW3(config)# interface f0/13

SW(config-if)# spanning-tree bpduguard enable


러가 발생된 인터페이스와 원인 확인하기

SW3# show interface f0/13

 FastEternet0/13 is down, line protocol ids down (err-disabled)

SW3# show errdisable detect

 -> 다양한 원인으로 인해 에러가 발생했을 경우 확인하는 명령어

SW3# show interface status err-disabled

 -> 에러가 발생한 포트와 상태 및 원인을 알 수 있다.

에러난 포트 복구하기

인터페이스를 다운시켰다 활성화 시켜서 복구한다

SW3#(config)# interface f0/13

SW3#(config-if)# shutdown (and no shutdown)


에러난 포트 복구하기

인터페이스를 다운시켰다 활성화 시켜서 복구한다

SW3#(config)# interface f0/13

SW3#(config-if)# shutdown (and no shutdown)


Recovery 시간을 설정하여 자동ㅇ로 복구하도록 설정한다

SW3(config)# errdisable recovery cause bpduguard

SW3(config)# errdisable recovery interval 120 (Sec)





BPDU Filter


특정 포트로 BPDU를 보내거나 받지 않게 하는 기능이다. 이 기능을 통해 BPDU를 송신하지 않음으로써 스위치 및 포트에

접속된 종단 장치에 불필요한 부하가 걸리는 것을 방지할 수 있다.


전역 설정모드에서 설정하면 포트패스트가 설정된 포트에만 BPDU 필터 기능이 적용되며, 인터페이스에서 BPDU가 송신

되는 것을 차단시키는 역할을 한다. 만약 BPDU 송신이 차단된 인터페이스에서 BPDU를 수신하게 되면 BPDU 필터링 기

능이 해제되면서 수신한 BPDU에 따라 적절한 STP 포트상태로 변한다.


인터페이스 설정모드에서 설정하면 해당 인터페이스에서 BPDU 송수신 모두 필터링 시킨다. 수신도 차단하기 때문에 이

기능을 잘못 러정하게 되면 STP 차단포트가 사라지면서 루프가 발생될 수 있다



Configuration

@ Gobal configuration Mode

Switch(config)# spanning-tree portfast bpdufilter default


@ Interface configruaration Mode

Switch(config)# interfacd F0/13

Switch(config-if)# spanning-tree bpdufilter enable


BPDU Filter 설정 실습

전역모드에서 BPDU Filter 설정해보기

SW3(config)# spanning-tree portfast bpdufilter default

-> BPDU 필터링이 설정된 인터페이스로 BPDU를 수신하면 필터링 기능이 없어지면서 정상적으로 동작한다.


인터페이스 설정모드에서 BPDU Filter 설정해보기

SW3(config)# interface f0/8

SW3(config-if)# spanning-tree bpdufilter enable

-> 인터페이스에서 설정하면 BPDU 송수신이 모두 안되기 때문에 STP가 동작되지 않는 것과 같아서 주의해야 한다.




Root Guard

Root Guard란 특정 포트에 접속된 네트워크에 있는 스위치들은 루트 스위치가 될 수 없도록 하는 기능이다.

루트 가드가 설정된 포트에서 Root Bridge의 B-ID보다 낮은 값으 B-ID를 담은 BPDU를 수신하면 해당 포트를 다운

시켜서 루트선출에 참여하지 못하도록 막아서 Root Bridge를 보호하는 기술이다.


Congifuration

@ interface configuration Mode

Switch(config)# interface F0/8

Switch(config-if)# spanning-tree guard root


Loop Guard

@ Interface configuration Mode

Switch(config)# interface F0/8

Switch(config-if)# spanning-tree guard root


Loop Guard

Loop Guard란 차단포트가 BPDU를 받지 못해도 전송상태로 변경되지 않도록 해주는 기능이다.

차단 상태에 있던 포트가  상태 포트(DP)로부터 BPDU를 받지 못하면, 상대 장비에 문제가 생긴 것으로 인식하여 자신의

포트를 DP로 역할을 변경하고 전송상태로 전환시킨다. 하지만 필터링 설정을 잘못하여 BPDU를 수신하지 못하는 경우라면

차단포트가 전송상태로 변경되면서 루프가 발생될 수도 있다.


링크에 문제가 생긴 경우에 차단 상태가 변하지 않으면 어떻게 해야되는지 의아해할 수도 있겠지만, 루프가드가 설정되어 있어도

네트워크에 문제가 생겨서 차단 포트가 전송 상태로 변경이 필요한 경우에는 정상적으로 동작된다.


Configuration

@ Global configuration Mode

Switch(config)# spanning-tree loopguard default


@ Interface configuration Mode

Switch(config)# interface F0/13

Switch(config-if)# spanning-tree guard loop

Loop Guard 설정 실습

Loop Guard 설정 상태에서 BPDU를 받지 못한 경우

SW3(config)# spanning-tree loopguard default

SW2(config)# interface f0/13

SW2(config-if)# spanning-tree bpdufilter enable

-> SW3 Loop Guard 설정을 해두고 SW2에서 BPDU를 송신하지 않도록 설정하였다.


SW3# debug spanning-tree events

(캡쳐본)


-> SW3에서 디버깅을 해보면 차단포트에서 BPDU를 수신하지 못하자 전송상태로 변경하지 않고 루프가드에 의해

차단상태로 유지한다. show spanning vlan 1로 확인해보면 해당 포트가 Loop Inconsistent (일종의 차단상태)로 되

어있다.

SW2에서 필터링을 해제하면 포트상태가 정상적인 차단상태가 되는 것을 볼 수 있다.


Loop Guard 설정 상태에서 실제로 네트워크 문제 발생된 경우

SW2(config)# interface f0/11

SW2(config-if)# shutdown

-> 간접링크의 다운을 감지하는 후순위 BPDU를 만들어내기 위해 SW2의 인터페이스를 다운시켜본다.

SW3# debug spanning-tree events

(캡쳐본)


SW3(config)# interface f0/1

SW3(config-if)# shutdown

-> 직접링크의 다운을 감지했을 때를 보기 위해 SW3의 f0/1 인터페이스를 다운시켜본다.


SW3# debug spanning-tree events

(캡쳐)





'KITRI > 네트워크 기초' 카테고리의 다른 글

WPA  (0) 2017.10.19
test  (0) 2017.10.09
VPN  (0) 2017.10.09
CHAP 인증  (0) 2017.10.09
트러블슈팅  (0) 2017.10.09