핵심 인사이트 (3줄 요약)
- 본질: DTP와 VTP는 수십~수백 대의 스위치가 엮인 거대한 기업망에서, 관리자가 일일이 트렁크 포트를 뚫고 VLAN을 생성하는 "수작업 노가다"를 없애기 위해 시스코(Cisco)가 독자 개발한 자동화 프로토콜이다.
- DTP (Dynamic Trunking Protocol): 스위치끼리 선을 꽂기만 하면 양쪽 포트가 알아서 대화를 나누고 "우리 서로 트렁크 포트로 합시다!"라고 동적으로 협상해 주는(Negotiation) 편리하지만 보안에 취약한 링크 자동화 기술이다.
- VTP (VLAN Trunking Protocol): 중앙의 마스터 스위치(Server)에 VLAN 10, 20을 만들어 두면, 연결된 나머지 하급 스위치(Client)들에게 그 VLAN 목록(DB)이 자동으로 동기화되어 복사되는 중앙 집중식 VLAN 관리 기술이다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념:
- DTP (Dynamic Trunking Protocol): 스위치 포트가 상대방 장비를 감지해 Access로 동작할지 Trunk로 동작할지 자동으로 결정하는 시스코 전용 프로토콜.
- VTP (VLAN Trunking Protocol): 한 스위치에서 생성/삭제/수정된 VLAN 데이터베이스(vlan.dat)를 트렁크 링크를 통해 네트워크 내 다른 스위치들과 자동 동기화하는 시스코 전용 프로토콜.
-
필요성: 만약 스위치가 50대 있는 대학교 네트워크에 '컴퓨터공학과(VLAN 30)'를 새로 추가한다고 가정해 보자. VTP가 없다면 관리자는 스위치 50대에 일일이 원격 접속해
vlan 30명령어를 50번 쳐야 한다. 또한 스위치들을 연결하는 수십 개의 포트를 일일이switchport mode trunk로 세팅해야 한다. 이 극악의 비효율성을 버튼 하나(자동화)로 끝내기 위해 발명되었다. -
💡 비유:
- DTP: 소개팅 자리에서 "우리 오늘부터 1일 할까요?(Trunk)"라고 물어보고 상대가 "네!" 하면 자동으로 사귀는(자동 설정) 기능입니다.
- VTP: 본사 프랜차이즈(Server)에서 "내일부터 마라탕(VLAN 30) 신메뉴 출시해!"라고 공지를 띄우면, 전국 모든 가맹점(Client)의 메뉴판에 마라탕이 자동으로 똑같이 등록되는 시스템입니다.
📢 섹션 요약 비유: DTP와 VTP는 스위치 네트워크를 구성할 때 관리자의 야근을 줄여주는 "자동 연결(DTP)" 및 "자동 복사(VTP)" 치트키입니다.
Ⅱ. 자동화의 원리와 치명적 보안 취약점 (Deep Dive)
1. DTP의 동작 모드와 협상
시스코 스위치 포트는 기본적으로 Dynamic Desirable 또는 Dynamic Auto 모드로 설정되어 있어 쉴 새 없이 DTP 협상 패킷을 내보낸다.
- Dynamic Desirable (적극적): "나랑 트렁크 맺자!"라고 먼저 들이대는 모드. 상대방이 Auto이거나 Desirable이면 트렁크가 맺어진다.
- Dynamic Auto (수동적): 가만히 있다가 상대가 트렁크 맺자고(Desirable) 오면 "그래~" 하고 트렁크로 변하는 모드. (Auto끼리 만나면 둘 다 가만히 있으므로 Access 포트가 됨)
⚠️ DTP 보안 취약점: 해커가 노트북에 칼리리눅스(Kali)를 깔고 랜선을 빈 스위치 포트에 꽂은 뒤 "나랑 트렁크 맺자!"(DTP Desirable 패킷 발송)라고 쏘면, 멍청한 스위치 포트가 노트북과 트렁크를 맺어버린다. 해커는 트렁크 라인을 타고 흐르는 회사의 모든 VLAN 데이터를 다 엿볼 수 있게 된다. 따라서 실무에서는 반드시 **DTP 기능을 강제로 끄고 수동 설정(Static Trunk)**을 권장한다 (switchport nonegotiate).
2. VTP의 3가지 모드와 리비전 번호 (Revision Number)
VTP 영역(Domain)으로 묶인 스위치들은 3가지 모드 중 하나를 갖는다.
- Server 모드: 대장. VLAN을 직접 만들고 지울 수 있으며, 부하들에게 전파한다.
- Client 모드: 부하. VLAN을 스스로 만들지 못하고, 서버가 하라는 대로 자신의 메뉴판을 똑같이 덮어쓴다.
- Transparent 모드: 방관자. VTP 메시지가 들어오면 남에게 전달(Bypass)은 해주지만, 자기 자신은 동기화하지 않고 독자적인 VLAN을 갖는다.
┌─────────────────────────────────────────────────────────────┐
│ VTP 리비전 번호 폭탄(Bomb) 사고 │
├─────────────────────────────────────────────────────────────┤
│ │
│ [ Main Switch (Server) ] ──── 트렁크 ──── [ Switch B (Client) ] │
│ VLAN 10, 20, 30 존재 (정상 동기화 중) │
│ Revision Number: 15 │
│ │
│ ⚠️ 사고 발생 시나리오: │
│ 다른 테스트망에서 막 쓰다가 'Revision Number가 50'까지 올라가 버린 │
│ 고물 스위치(Server 모드)를 실수로 회사 메인망에 꽂음! │
│ │
│ [ 고물 스위치 ] "야! 내 리비전이 50이야! 내 걸로 다 덮어써!" │
│ [ Main Switch ] "헉 50이 최신이네! 내 거 15짜리 다 지우고 덮어쓸게!"│
│ │
│ ▶ 결과: 회사의 전사 VLAN(10, 20, 30)이 순식간에 다 삭제되고 │
│ 인터넷 전면 마비 (네트워크 셧다운). │
└─────────────────────────────────────────────────────────────┘
⚠️ VTP 보안 취약점: VTP는 누가 보냈든 무조건 수정 횟수(Revision Number)가 자기보다 더 높은 놈의 말을 무조건 최신 정보로 믿고 덮어쓰는(Overwrite) 멍청한 특징이 있다. 테스트용 장비를 잘못 꽂았다가 회사 전체 네트워크가 날아가는 사고(VTP Bomb)가 잦아, 현대 실무에서는 VTP 역시 잘 쓰지 않고 Ansible 같은 외부 자동화 툴을 사용한다.
📢 섹션 요약 비유: DTP와 VTP는 묻지도 따지지도 않고 자동으로 세팅해 주는 **"편리한 마법 지팡이"**지만, 해커나 초보 관리자의 실수 한 번에 회사 전체 네트워크를 날려버릴 수 있는 **"시한폭탄"**과도 같아서 실무에서는 봉인해 두는 기술입니다.