본문 바로가기
IT/cisco

STP 네트워크 보호 기술

by 미니두부김밥 2021. 9. 20.
반응형

○STP가 스위치 네트워크의 layer2 loop를 방지해주지만, 장애 발생시 loop가 발생하거나 보안에 취약하다. 
○BPDU guard:포트를 통해서 BPDU를 수신했을 때 해당 포트를 자동으로 shotdown시키는 기능. BPDU 가드는 PC나 서버 등 종단장치가 접속된 포트가 BPDU를 수신했을 때 해당 포트를 차단한다. 종단장치가 접속된 포트가 BPDU를 수신한다는 것은 일반 사용자들이 무단으로 스위치에 개인의 스위치나 허브를 접속했거나, STP 관련 해킹 공격을 받고 있음을 의미하는 경우가 많다. 

SW1이 root sw, SW3 e0/2는 block 상태 (실제로 스위치간에는 bpdu guard를 설정하지 않는다.)
SW2 e0/2는 지정포트(DP)이기 때문에 BPDU를 송신만 한다. 그러므로 BPDU 가드를 설정하여도 아무런 변화가 없다.
SW3 e0/2는 대체포트이므로 BPDU를 수신하는 포트이다. BPDU 가드를 설정시 바로 포트가 다운된다.
BPDU 가드 설정시 SW3 e0/2가 down되고 원인이 err-disabled로 표시된다.

○실무에서는 BPDU를 수신한 원인을 찾아 제거한 후 인터페이스를 활성화시키면 된다.
○Loop guard:차단상태에 있는 포트가 상대 포트에서 BPDU를 받지 못했을 때 전송상태로 변경되는 것을 방지하는 기능. 이 경우 차단상태의 포트는 루프 비일관(inconsistent)상태로 바뀐다. 이 상태도 일종의 차단상태이다. 다시 BPDU를 수신하기 시작하면 자동으로 정상적인 차단상태로 변경된다. 

loop guard 설정이 필요한 network

○위 그림에서 스위치 SW2의 e0/2가 DP이므로 SW3으로 설정 BPDU를 전송한다. 이렇게 동작하다가 스위치 SW2의 과부하 혹은 잘못된 정책등의 설정, 장애로 인하여 SW3으로 설정 BPDU를 전송하지 못하는 경우 BPDU를 수신하지 못한 SW3의 대체포트인 e0/2는 차단상태 -> 전송상태로 변경된다. 그렇게 되면 전체 네트워크에 STP 차단포트가 없어지기 때문에 루프가 발생하게 된다. 이런 상황을 방지하려면 대체포트가 BPDU를 수신하지 못해도 차단상태를 전송상태로 변경하지 못하게 하는 loop guard가 필요하다. SW3에 루프가드를 설정해도 SW3,SW1 간의 물리적인 링크가 다운되거나, SW2가 후순위 BPDU를 전송하는 경우에는 스위치 SW3 e0/2포트가 정상적으로 blocking에서 forwarding으로 변경된다.
○루프가드는 전체 설정모드와 인터페이스 설정모드에서 지정할 수 있다. 루프가드는 차단상태에 있는 포트에 설정하면 된다. 루프가드가 동작하는 것은 VLAN 별로 하지만 설정은 포트에 대해서 한다. 특정 포트가 특정 VLAN에 대해서는 차단상태에 있지만, 또 다른 VLAN에 대해서는 전송상태에 있을 수 있다. 따라서 모든 포트에 대해서 루프 가드를 설정하는 것이 편리하다.

SW3 전체 설정으로 루프가드 설정
테스트를 위해 SW2 e0/2에 bpdufilter를 설정해 bpdu를 송신하지 않는다.
loop guard가 동작하고 e0/2는 전송상태가 아닌 루프가드에 의한 차단상태가 된다.
BPDU 송신을 위한 bpdufilter 설정해제
자동으로 block 상태가 된다.
SW3에 loop guard가 설정되어 있는 상태에서 SW1 e0/0 <-> SW2 e0/0 link down 되었을 때
테스트를 위한 SW2 e0/0 shutdown
SW3에 loop guarrd가 설정되있는 상태에서도 STP는 정상작동한다.(e0/2 listening->learning->forwarding)
루프가드 설정 확인

○root guard:특정 포트에 접속된 네트워크에 있는 스위치들은 루트스위치가 될 수 없도록 하는 기능. 루트가드가 설정된 포트에서 현재의 루트 스위치 ID보다 더 우선하는 루트 스위치 ID를 가진 BPDU를 수신하면 해당 포트를 다운시킨다. 루트 가드 기능을 사용하면 ISP나 입반 기업체에서 원하지 않는 스위치가 루트 스위치가 되어 네트워크에 영향을 주는 것을 방지할 수 있다.

root guard가 설정된 포트에 root sw bpdu보다 낮은 priority값의 bpdu가 수신되면 port down
SW1이 priority 4096으로 root sw이며 e0/0,e0/1에 root guard를 설정하였다.
root guard 테스트를 위해 SW2의 STP priority값을 0으로 설정(기존 32768),
root sw 보다 낮은 우선순위값을 받은 e0/0,e0/1은 root guard에 의해 port를 blocking
e0/0,e0/1이 block 되어있다.
비일관 포트 확인

반응형

'IT > cisco' 카테고리의 다른 글

RSTP 토폴로지 변화  (0) 2021.09.21
RSTP (Rapid Spanning Tree Protocol)  (0) 2021.09.20
STP 컨버전스 시간 조정  (0) 2021.09.20
STP 포트 상태와 토폴로지 변화  (0) 2021.09.18
STP 동작 방식  (0) 2021.09.18

댓글