google.com, pub-6766303929253490, DIRECT, f08c47fec0942fa0

Cisco Networking 기본지식(17) – BPDU Guard

Cisco의 BPDU GuardSpanning Tree Protocol(STP) 환경에서 가장 중요한 보안 기능 중 하나입니다. 주로 Access Port에 스위치가 연결되는 것을 방지하여 네트워크 장애를 예방하는 역할을 합니다.


1. BPDU란?

BPDU (Bridge Protocol Data Unit)는 STP에서 스위치끼리 주고받는 제어 패킷입니다.

BPDU를 통해 다음과 같은 정보를 교환합니다.

  • Root Bridge 정보
  • Bridge Priority
  • Path Cost
  • Port 역할(Role)
  • Port 상태(State)

예를 들어

Switch A  <--------BPDU--------> Switch B

이 BPDU를 이용하여 STP가 루프를 방지합니다.


2. BPDU Guard가 필요한 이유

기업에서는 보통

PC
 |
Access Port
 |
Switch

처럼 Access Port에는 PC만 연결됩니다.

그런데 사용자가 몰래 스위치를 하나 가져와 연결하면

      회사 Switch
          |
      Access Port
          |
     개인 Switch

개인 스위치는 STP BPDU를 보내기 시작합니다.

이때

  • Root Bridge가 변경될 수도 있고
  • STP Topology가 변경되고
  • 일부 포트가 Block 되면서
  • 대규모 네트워크 장애가 발생할 수 있습니다.

이를 막는 기능이 BPDU Guard입니다.


3. BPDU Guard 동작 원리

Access Port에서

BPDU를 하나라도 수신하면

즉시

Err-disable

상태로 변경합니다.

PC Port

↓

BPDU 수신

↓

Port Shutdown (Err-disable)

입니다.


동작 예시

정상 상황

Switch
   |
Access Port
   |
PC

BPDU 없음

정상 통신


비정상 상황

Switch
   |
Access Port
   |
개인 Switch

개인 스위치가

BPDU

전송

BPDU Guard 감지

Interface Gi0/10

↓

Err-disable

통신 차단


로그 예시

Cisco에서 흔히 보는 메시지

%SPANTREE-2-BLOCK_BPDUGUARD

Received BPDU on PortFast-enabled port.

Disabling interface Gi1/0/10.

또는

%PM-4-ERR_DISABLE:
bpduguard error detected on Gi1/0/10,
putting Gi1/0/10 in err-disable state

4. 왜 Err-disable을 사용하는가?

Cisco는

“누군가 스위치를 연결했다.”

라고 판단하기 때문에

관리자가 확인하기 전까지

포트를 강제로 막습니다.


PortFast와의 관계

BPDU Guard는 대부분

PortFast와 같이 사용합니다.

interface Gi0/1

spanning-tree portfast

spanning-tree bpduguard enable

PortFast는

“이 포트는 PC가 연결되는 포트”

라는 의미입니다.

PC는 BPDU를 보내지 않습니다.

따라서

BPDU가 들어오면

“스위치가 연결되었구나.”

라고 판단하는 것입니다.


설정 방법

① 인터페이스별 설정

interface GigabitEthernet1/0/10

spanning-tree portfast

spanning-tree bpduguard enable

② 모든 PortFast 포트에 적용(권장)

conf t

spanning-tree portfast default

spanning-tree portfast bpduguard default

그러면

모든 PortFast 인터페이스가

자동으로 BPDU Guard를 사용합니다.

Cisco에서는 이 방식을 권장합니다.


Err-disable 복구 방법

방법 1 (수동)

interface Gi1/0/10

shutdown

no shutdown

방법 2 (자동)

errdisable recovery cause bpduguard

errdisable recovery interval 300

300초 후 자동 복구됩니다.

하지만 BPDU가 계속 들어오면

다시 Err-disable됩니다.


5. BPDU Filter와의 차이

많이 헷갈리는 부분입니다.

기능BPDU GuardBPDU Filter
BPDU 수신감지무시하거나 송신 중단(설정 방식에 따라 동작 다름)
BPDU 발견 시포트를 Err-disableBPDU 처리 억제
목적보안STP 제어/특수 환경
권장 여부매우 권장신중하게 사용

BPDU Guard는 보안을 위한 기능이고, BPDU Filter는 STP 동작 자체를 변경하므로 일반적인 액세스 포트에서는 신중하게 사용해야 합니다.


Root Guard와의 차이

기능BPDU GuardRoot Guard
목적Access 포트 보호Root Bridge 보호
BPDU 수신Err-disableRoot가 되려는 BPDU만 차단
포트 상태Err-disableRoot Inconsistent
사용 위치Access PortUplink/Distribution 연결

예를 들어,

Core
 |
Distribution
 |
Access
 |
PC
  • BPDU Guard: Access → PC 연결 포트에 사용
  • Root Guard: Distribution → Access 스위치 연결 포트 등에서, 하위 스위치가 Root Bridge가 되는 것을 방지할 때 사용

실제 운영 환경에서의 권장 사항

일반적으로 기업 네트워크에서는 다음과 같이 구성하는 것이 가장 많이 권장됩니다.

  • 사용자 PC가 연결되는 모든 Access Port에 PortFast 적용
  • 모든 PortFast 포트에 BPDU Guard 적용
  • 스위치 간 연결(Uplink, Trunk)에는 BPDU Guard를 적용하지 않음
  • Root Bridge를 보호해야 하는 포트에는 Root Guard 사용
  • 필요 시 Loop Guard, UDLD 등과 함께 사용하여 추가적인 STP 보호 기능을 구성
  • BPDU Guard는 Access Port에서 BPDU를 받으면 즉시 해당 포트를 Err-disable 상태로 만들어 STP 관련 장애를 예방하는 기능입니다.
  • 일반적으로 PortFast와 함께 사용하며, 사용자 단말이 연결되는 포트의 표준 보안 설정으로 널리 사용됩니다.
  • 스위치 간 연결 포트에는 적용하지 않는 것이 원칙입니다. 잘못 적용하면 정상적인 BPDU까지 차단되어 연결이 끊길 수 있습니다.

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다