Skip to Content
01. 스위칭VTP(VLAN Trunking Protocol)

VTP(VLAN Trunking Protocol)

20개의 스위치와 50개의 VLAN이 있는 네트워크를 생각해 보겠습니다. 보통은 각 스위치에 개별적으로 VLAN을 생성해야 하지만, VTP(VLAN Trunking Protocol) 를 사용하면 하나의 스위치에서 VLAN을 생성하면 다른 모든 스위치가 자동으로 동기화됩니다.

핵심 요약

  • VTP Server: VLAN을 생성/수정/삭제할 수 있으며, 변경사항을 다른 스위치에 전파
  • VTP Client: 서버로부터 VLAN 정보를 동기화하며, 직접 VLAN을 생성할 수 없음
  • VTP Transparent: VLAN 정보를 동기화하지 않지만, 광고를 전달하며 로컬에서 VLAN 생성 가능
  • 모든 스위치의 VTP 도메인 이름이 동일해야 동기화가 동작
  • VTP는 리비전 번호(Revision Number) 가 높은 쪽의 정보로 동기화하므로 보안 위험이 있음
  • VTP Pruning을 활성화하면 불필요한 VLAN 트래픽이 트렁크에서 제거됨

VTP 동작 원리

06_Introduction to VTP (VLAN Trunking Protocol)_img_p02_01

VTP 서버에서 VLAN을 생성/수정/삭제하면 다음과 같이 동작합니다:

  1. VTP 서버에서 VLAN을 추가/수정/삭제
  2. 변경할 때마다 리비전 번호가 증가
  3. 최신 광고(Advertisement)가 모든 VTP 클라이언트로 전송
  4. VTP 클라이언트가 최신 정보로 동기화

VTP 모드 비교

기능VTP ServerVTP ClientVTP Transparent
VLAN 생성/수정/삭제가능불가로컬만 가능
자체 동기화아니오
광고 전달
VLAN 저장 위치vlan.datvlan.datrunning-config

VTP Transparent 모드

06_Introduction to VTP (VLAN Trunking Protocol)_img_p03_01

VTP Transparent 스위치는 자체적으로 동기화하지 않지만, VTP 광고를 다른 스위치로 전달합니다. 로컬에서 VLAN을 생성할 수 있으며, 이 VLAN은 다른 스위치에 전파되지 않습니다.

VTP의 보안 위험

VTP의 가장 큰 문제는 VTP 서버도 VTP 클라이언트처럼 동작한다는 것입니다. 리비전 번호가 높은 스위치의 정보가 항상 우선합니다.

위험 시나리오:

  1. 운영 네트워크에서 VTP 클라이언트 스위치를 분리하여 랩 환경에 놓음
  2. VTP 서버로 변경하고 VLAN을 여러 번 생성/삭제하여 리비전 번호가 높아짐
  3. 다시 VTP 클라이언트로 변경하고 운영 네트워크에 연결
  4. 리비전 번호가 높기 때문에 이 스위치의 (빈) VLAN 정보가 전체 네트워크에 동기화
  5. 모든 VLAN이 삭제됨!

VTP 클라이언트가 VTP 서버를 덮어쓸 수 있습니다. 리비전 번호가 더 높으면 VTP 서버도 이를 수용합니다. VLAN이 삭제되면 인터페이스는 VLAN 1로 돌아가지 않고 존재하지 않는 VLAN에 남게 됩니다.

VTP Pruning

06_Introduction to VTP (VLAN Trunking Protocol)_img_p05_01

VLAN 10, 20, 30의 컴퓨터가 있고 스위치 간에 트렁크가 연결된 환경에서, 중간 스위치에 VLAN 10 컴퓨터가 없는데도 VLAN 10 브로드캐스트가 전달됩니다. VTP Pruning을 활성화하면 특정 VLAN에 해당하는 장치가 없는 트렁크에서 불필요한 VLAN 트래픽을 제거하여 대역폭을 절약합니다.

VTP 설정

토폴로지

06_Introduction to VTP (VLAN Trunking Protocol)_img_p06_01

3대의 스위치(SW1: VTP Server, SW2: VTP Client, SW3: VTP Server)를 사용합니다. 모든 스위치 간에 트렁크가 설정되어 있습니다.

기본 상태 확인

SW1#show vtp status VTP Version : running VTP1 (VTP2 capable) Configuration Revision : 0 Maximum VLANs supported locally : 1005 Number of existing VLANs : 5 VTP Operating Mode : Server VTP Domain Name : VTP Pruning Mode : Disabled

기본값 확인사항:

  • Configuration Revision: 0 — VLAN을 추가/삭제할 때마다 증가
  • VTP Operating Mode: Server — 기본 모드
  • VTP Pruning Mode: Disabled
  • VTP Domain Name: 비어있음 — 도메인 이름을 설정해야 VTP가 동작

VTP 도메인 설정 및 VLAN 동기화

SW1(config)#vtp domain NETWORKLESSONS Changing VTP domain name from NULL to NETWORKLESSONS

도메인 이름이 비어있는(NULL) 스위치는 VTP 광고를 수신하면 자동으로 해당 도메인 이름을 채택합니다:

SW2# VTP LOG RUNTIME: Summary packet received in NULL domain state VTP LOG RUNTIME: Transitioning from NULL to NETWORKLESSONS domain VTP LOG RUNTIME: Summary packet rev 1 greater than domain NETWORKLESSONS rev 0

VLAN 생성 및 동기화 확인

SW1(config)#vlan 10 SW1(config-vlan)#name Printers

모든 스위치에서 VLAN 10이 동기화됩니다:

SW2#show vlan VLAN Name Status Ports ---- -------------------------------- --------- ---------------------------- 10 Printers active

VTP 서버가 여러 대인 경우, 어떤 서버에서든 VLAN을 생성할 수 있고 모두 동기화됩니다.

VTP 모드 변경

SW2(config)#vtp mode client Setting device to VTP CLIENT mode.

VTP 클라이언트에서는 VLAN을 생성할 수 없습니다:

SW2(config)#vlan 50 %VTP VLAN configuration not allowed when device is in CLIENT mode.

VTP Transparent 모드

SW2(config)#vtp mode transparent Setting device to VTP TRANSPARENT mode.

Transparent 모드에서는 로컬 VLAN을 생성할 수 있지만, 다른 스위치에 전파되지 않습니다. 단, 다른 스위치의 VTP 광고는 **전달(Forward)**합니다.

VTP Transparent 모드는 VLAN 정보를 running-config에 저장하지만, VTP Server/Client 모드는 vlan.dat 파일(플래시 메모리)에 저장합니다.


VTP 버전 3

VTP 버전 3의 주요 목표는 여전히 VLAN 동기화이지만, 버전 1/2에 비해 여러 가지 개선 사항이 추가되었습니다.

VTPv3 새로운 기능

  • VTP Primary Server: 프라이머리 서버만 VLAN을 생성/수정/삭제할 수 있어, 실수로 전체 VLAN이 삭제되는 사고를 방지
  • 확장 VLAN: 확장 범위 VLAN(1006~4094)도 동기화 가능
  • Private VLAN / RSPAN VLAN: 동기화 지원
  • MST 지원: MST(Multiple Spanning Tree) 설정을 별도 기능(Feature)으로 동기화
  • 인증 개선: hidden 옵션으로 비밀번호를 평문으로 노출하지 않음
  • VTP Off 모드: Transparent 모드와 달리 VTP를 완전히 비활성화 가능
  • 호환성: VTP 버전 2와 호환되지만, 버전 1과는 호환되지 않음

토폴로지

07_VTP Version 3_img_p02_01

SW1, SW2, SW3이 트렁크로 연결되어 있습니다.

기본 설정

VTPv3를 활성화하려면 도메인 이름이 필수입니다:

SW1(config)#vtp domain NWL Changing VTP domain name from NULL to NWL SW1(config)#vtp version 3

프라이머리 서버 설정

VTPv3에서는 모든 스위치가 기본적으로 서버 모드이지만, VLAN을 변경하려면 프라이머리 서버로 지정해야 합니다:

SW1(config)#vlan 100 VTP VLAN configuration not allowed when device is not the primary server for vlan database.

프라이머리 서버로 지정:

SW1#vtp primary This system is becoming primary server for feature vlan No conflicting VTP3 devices found. Do you want to continue? [confirm] %SW_VLAN-4-VTP_PRIMARY_SERVER_CHG: 0019.569d.5700 has become the primary server for the VLAN VTP feature

확인:

SW1#show vtp status | include Primary VTP Operating Mode : Primary Server Primary ID : 0019.569d.5700

show vtp devices 명령으로 같은 VTP 도메인의 모든 스위치를 확인할 수 있습니다.

확장 VLAN 동기화

VTPv3에서는 확장 범위 VLAN(1006~4094)도 동기화할 수 있습니다:

SW1(config)#vlan 1234 SW1(config-vlan)#exit SW1, SW2 & SW3#show vlan | include VLAN1234 1234 VLAN1234 active

MST 동기화

VTPv3는 MST 설정을 별도의 “Feature”로 관리합니다. MST용 프라이머리 서버를 별도로 지정할 수 있습니다:

SW2(config)#vtp mode server mst SW2#vtp primary mst

MST 설정을 생성하면 모든 스위치에 동기화됩니다:

SW2(config)#spanning-tree mst configuration SW2(config-mst)#name MST SW2(config-mst)#revision 1 SW2(config-mst)#instance 1 vlan 10,20,30 SW2(config-mst)#instance 2 vlan 40,50,60 SW2(config-mst)#exit

인증

VTPv3에서는 hidden 옵션으로 비밀번호를 암호화하여 저장할 수 있습니다:

SW1, SW2 & SW3 (config)#vtp password NWL hidden Setting device VTP password
SW1#show vtp password VTP Password: 2AA31883CB1D0E65FE199ADF177F433A

VTP Off 모드

VTPv3에서는 VTP를 완전히 비활성화할 수 있습니다. Transparent 모드와 달리 VTP 광고를 전달하지도 않습니다:

SW3(config)#vtp mode off vlan

인터페이스 레벨에서도 비활성화 가능합니다:

SW3(config)#interface FastEthernet 1/0/21 SW3(config-if)#no vtp

VTPv3 기능 요약

기능VTP v1/v2VTP v3
VLAN 동기화1~10051~4094 (확장 범위 포함)
Primary Server없음 (모든 서버가 변경 가능)프라이머리 서버만 변경 가능
Private VLAN미지원동기화 지원
RSPAN VLAN미지원동기화 지원
MST 동기화미지원별도 Feature로 지원
인증평문 비밀번호Hidden/Secret 지원
Off 모드미지원 (Transparent만 가능)글로벌/인터페이스별 Off 지원
호환성v1 ↔ v2v2와 호환, v1과 비호환