📚 네트워크 · 패킷 분석 › 04. 네트워크 장비 실습 — 165편
이전 글: 164. Access Port · 다음 글: 166. 802.1Q

1. 개념

Trunk Port는 여러 VLAN의 프레임을 하나의 물리 링크로 함께 전달하는 포트입니다. 링크 위에서 각 프레임이 어느 VLAN 소속인지 구분하기 위해 IEEE 802.1Q 태그를 붙입니다. 태그의 구조는 다음 글 166. 802.1Q에서 다루고, 이 글은 포트로서의 설정과 운영에 집중합니다.

Trunk가 없다면 스위치 두 대가 VLAN 10·20·30을 공유하려면 VLAN마다 케이블을 하나씩 연결해야 합니다. Trunk는 이를 링크 하나로 줄입니다.

Trunk가 쓰이는 곳이유
스위치 ↔ 스위치 (업링크)여러 VLAN을 건물·층 사이에 연장
스위치 ↔ 라우터·방화벽한 인터페이스에서 여러 VLAN을 라우팅 (Router-on-a-stick, 167. Inter-VLAN Routing)
스위치 ↔ 가상화 호스트VM마다 다른 VLAN 배정
스위치 ↔ 무선 APSSID별로 다른 VLAN 연결
SPAN 목적지 ↔ IDS 센서미러링된 트래픽에 태그가 남아 있을 수 있음

2. 동작 원리

[스위치 A]                          Trunk 링크                          [스위치 B]
VLAN 10 포트 ─┐                                                     ┌─ VLAN 10 포트
VLAN 20 포트 ─┼→ 태그 붙임 → [VID 10 프레임][VID 20 프레임][태그 없음] → 태그 읽고 제거 ─┼─ VLAN 20 포트
VLAN 99 포트 ─┘   (Native VLAN 99는 태그 없이)                       └─ VLAN 99 포트

Trunk 포트의 동작을 결정하는 세 가지 설정입니다.

설정의미기본값(Cisco 계열)
허용 VLAN 목록이 Trunk로 실어 나를 VLAN모든 VLAN (1~4094)
Native VLAN태그 없이 보내고, 태그 없이 들어온 프레임을 배정할 VLANVLAN 1
협상(DTP)상대와 Trunk 형성을 자동 협상할지모델·버전에 따라 동적 모드

Native VLAN은 양쪽이 같아야 합니다. A는 Native를 99, B는 1로 설정하면 A의 VLAN 99 트래픽이 태그 없이 넘어가 B에서는 VLAN 1로 들어갑니다. 즉 두 VLAN이 의도치 않게 이어집니다. Cisco 계열은 CDP로 이를 감지하면 %CDP-4-NATIVE_VLAN_MISMATCH 로그를 남깁니다.


3. 주요 특징

Trunk 운영에서 자주 생기는 문제와 보안 영향입니다.

상황결과보안 영향
허용 목록이 "전체"필요 없는 VLAN까지 모든 스위치에 전달한 스위치 침해 시 노출 VLAN 증가, 브로드캐스트 범위 확대
Native VLAN = VLAN 1(기본)관리·기본 트래픽이 태그 없이 오감이중 태그 기반 VLAN Hopping 조건(166. 802.1Q)
Native VLAN 불일치두 VLAN이 연결됨구역 분리 무력화
단말 포트에서 Trunk 형성단말이 여러 VLAN에 접근Switch Spoofing 형태 (164. Access Port)
허용 목록에서 VLAN 누락해당 VLAN 통신 단절가용성 장애(보안 이벤트로 오인 가능)

Trunk 보안 설정 요약입니다.

권고Cisco 계열 설정 예
Trunk로 고정, 협상 끄기switchport mode trunk, switchport nonegotiate
허용 VLAN 최소화switchport trunk allowed vlan 10,20,99
Native VLAN을 미사용 VLAN으로switchport trunk native vlan 999
Native VLAN도 태그 붙이기(지원 장비)전역 vlan dot1q tag native

4. 예시

실습 예시 — GNS3 등에서 Cisco IOS 계열 스위치 간 Trunk 설정입니다. 값은 예시(값은 환경마다 다름)이며, encapsulation 명령은 ISL을 함께 지원하는 일부 모델에서만 필요합니다.

interface GigabitEthernet0/24
 description UPLINK-TO-CORE
 switchport trunk encapsulation dot1q
 switchport mode trunk
 switchport nonegotiate
 switchport trunk native vlan 999
 switchport trunk allowed vlan 10,20,99

확인 형식 예시(일부만 표시):

Switch# show interfaces trunk

Port        Mode         Encapsulation  Status        Native vlan
Gi0/24      on           802.1q         trunking      999

Port        Vlans allowed on trunk
Gi0/24      10,20,99

실습 예시 — Linux bridge에서 한 포트를 Trunk처럼 설정합니다(Rocky/Ubuntu 공통, VLAN 필터링이 켜진 br0 기준). pvid·untagged 없이 추가한 VLAN은 태그를 유지한 채 오갑니다.

# ens39를 VLAN 10, 20의 Trunk로 (태그 유지), 기본 VLAN 1 제거
sudo bridge vlan add dev ens39 vid 10
sudo bridge vlan add dev ens39 vid 20
sudo bridge vlan del dev ens39 vid 1
bridge vlan show dev ens39

ens39 반대편 VM에서 태그를 확인하려면 해당 인터페이스에서 tcpdump -e -nn -i <인터페이스> vlan으로 캡처합니다. NIC의 VLAN 오프로드 설정에 따라 태그가 캡처에 보이지 않을 수 있습니다.

📷 [실습 화면 삽입 위치] Trunk 반대편 VM에서 tcpdump -e -nn vlan 출력에 vlan 10, vlan 20 태그가 붙은 프레임이 함께 보이는 화면


5. 보안 관점

  • Trunk는 여러 구역이 한 선에 모이는 지점입니다. Trunk 포트가 잘못된 장치에 연결되거나 형성되면 VLAN 분리가 한꺼번에 무너질 수 있습니다.
  • 공격 관점에서 Trunk와 관련된 대표 위험은 Switch Spoofing(DTP로 Trunk 형성) 과 Double Tagging(Native VLAN 악용) 입니다. 둘 다 협상 끄기, 허용 목록 최소화, Native VLAN 분리로 대부분 예방됩니다.
  • 가상화 호스트로 가는 Trunk는 호스트의 가상 스위치 설정까지 이어집니다. 호스트 쪽 설정이 느슨하면 VM이 다른 VLAN에 접근할 수 있으므로, 서버 팀의 가상 네트워크 설정도 점검 범위에 넣습니다.

6. SOC 관점

흔적확인할 수 있는 것
스위치 설정 변경 로그Trunk 허용 목록·Native VLAN·모드 변경
CDP·LLDP 관련 로그Native VLAN 불일치, 이웃 장비 변경
포트 상태 로그단말 포트가 Trunk로 바뀐 사건(장비별 메시지 상이)
패킷 캡처단말 구간에서 보이면 안 되는 802.1Q 태그, 예상 밖 VLAN ID

관제자가 확인할 질문

  • 이 Trunk에 허용된 VLAN 목록이 연결 대상의 업무 필요와 일치하는가?
  • 양쪽 Native VLAN이 같고, 업무에 쓰지 않는 VLAN인가?
  • 최근에 새로 형성된 Trunk나 허용 목록 변경이 있었는가, 승인된 작업인가?

오탐 주의: SPAN 목적지 포트나 가상화 호스트 연결 포트에서 여러 VLAN 태그가 보이는 것은 정상입니다. 태그가 보인다는 사실보다 그 포트에서 보여야 할 VLAN 목록과 일치하는가를 기준으로 판단합니다.


7. 핵심 정리

  • Trunk Port는 802.1Q 태그로 여러 VLAN의 프레임을 하나의 링크에 실어 나릅니다.
  • 핵심 설정은 허용 VLAN 목록, Native VLAN, 협상(DTP) 여부이며 기본값은 대부분 보안상 느슨합니다.
  • Native VLAN은 태그 없이 전달되므로 양쪽이 같아야 하며, 불일치하면 두 VLAN이 이어집니다.
  • Trunk는 Mode 고정·협상 끄기, 허용 VLAN 최소화, 미사용 VLAN을 Native로 지정하는 방식으로 보호합니다.
  • 관제에서는 Trunk 설정 변경과 예상 밖 VLAN 태그를 구역 분리 훼손의 신호로 봅니다.
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글