📚 네트워크 · 패킷 분석 › 04. 네트워크 장비 실습 — 164편
이전 글: 163. VLAN이란 무엇인가 · 다음 글: 165. Trunk Port
Access Port는 하나의 VLAN에만 속하는 스위치 포트로, PC·프린터·서버처럼 VLAN을 알지 못하는 일반 단말을 연결할 때 씁니다. 단말은 VLAN 태그 없는 평범한 Ethernet 프레임을 보내고, 스위치가 "이 포트로 들어왔으니 VLAN 10 소속"이라고 판단합니다.
| 항목 | Access Port | Trunk Port (다음 글) |
|---|---|---|
| 소속 VLAN | 1개 (음성 VLAN 예외 제외) | 여러 개 |
| 프레임 태그 | 보내고 받는 프레임 모두 태그 없음 | 802.1Q 태그 사용 (Native VLAN 제외) |
| 연결 대상 | 단말(PC, 서버, 프린터, AP 일부) | 스위치, 라우터, 가상화 호스트 |
| 단말의 VLAN 인식 | 필요 없음 | 필요 |
[수신] PC → 스위치 Gi0/1 (Access, VLAN 10)
태그 없는 프레임 수신
↓ 스위치 내부에서 VLAN 10 소속으로 처리 (학습·조회 모두 VLAN 10 기준)
↓
[전달] 같은 VLAN 10의 다른 포트로
├─ 다른 Access 포트 → 태그 없이 전송
└─ Trunk 포트 → 802.1Q 태그(VID 10)를 붙여 전송 (Native VLAN이면 태그 없음)
[예외] Access 포트로 태그가 붙은 프레임이 들어오면
→ 일반적으로 폐기 (구체 동작은 장비·설정에 따라 다름)
단말 입장에서는 VLAN이 보이지 않습니다. 단말이 캡처해도 태그는 없고, 자신이 몇 번 VLAN인지 알 수 있는 정보도 프레임에 없습니다.
음성 VLAN 예외: IP 전화 뒤에 PC를 연결하는 구성에서는 하나의 Access 포트가 PC 데이터(태그 없음, 예: VLAN 10)와 전화 음성(태그 있음, 예: VLAN 110)을 함께 받습니다. 전화기가 CDP·LLDP 등으로 음성 VLAN 번호를 안내받아 스스로 태그를 붙입니다.
Cisco 계열 스위치의 DTP(Dynamic Trunking Protocol) 는 포트가 상대와 협상해 Trunk가 될 수 있게 하는 기능입니다. 포트를 Access로 고정하지 않고 동적 모드로 두면, DTP 프레임을 보내는 장치와 Trunk가 형성될 수 있습니다.
| 포트 모드 (Cisco) | 동작 | 단말 포트 적합성 |
|---|---|---|
access | Access로 고정 | 적합 (+ nonegotiate로 DTP 송신 중지) |
dynamic auto | 상대가 요청하면 Trunk가 됨 | 부적합 |
dynamic desirable | 적극적으로 Trunk 협상 | 부적합 |
trunk | Trunk로 고정 | 스위치 간 링크용 |
단말 포트에 함께 적용하는 대표 보호 설정입니다.
| 설정 | 목적 | 관련 글 |
|---|---|---|
switchport mode access + switchport nonegotiate | Trunk 협상 차단 | 165. Trunk Port |
spanning-tree portfast + bpduguard enable | 단말 포트 즉시 활성화, BPDU 수신 시 포트 차단 | 170. STP 기초 |
switchport port-security | 허용 MAC 수·주소 제한 | 161. MAC Address Table |
| 802.1X | 사용자·기기 인증 후 포트 허용·VLAN 배정 | — |
미사용 포트 shutdown + 미사용 VLAN 배정 | 빈 포트 악용 방지 | — |
실습 예시 — GNS3 등에서 Cisco IOS 계열 스위치의 단말 포트 설정입니다. 인터페이스 이름과 VLAN 번호는 예시(값은 환경마다 다름)입니다.
interface GigabitEthernet0/1
description USER-PC-3F-07
switchport mode access
switchport access vlan 10
switchport nonegotiate
spanning-tree portfast
spanning-tree bpduguard enable
설정 확인 형식 예시(일부 줄만 표시):
Switch# show interfaces GigabitEthernet0/1 switchport
Name: Gi0/1
Switchport: Enabled
Administrative Mode: static access
Operational Mode: static access
Negotiation of Trunking: Off
Access Mode VLAN: 10 (USER)
Administrative Mode가 dynamic auto로 남아 있거나 Operational Mode가 trunk로 보이는 단말 포트는 점검 대상입니다.
실습 예시 — Linux bridge에서 VLAN 필터링을 켠 뒤 포트를 Access처럼 설정합니다(Rocky/Ubuntu 공통, 163. VLAN이란 무엇인가에서 vlan_filtering 1 적용 후). pvid는 태그 없이 들어온 프레임에 배정할 VLAN, untagged는 내보낼 때 태그를 떼라는 뜻입니다.
# ens37 → VLAN 10 Access, ens38 → VLAN 20 Access
sudo bridge vlan add dev ens37 vid 10 pvid untagged
sudo bridge vlan del dev ens37 vid 1
sudo bridge vlan add dev ens38 vid 20 pvid untagged
sudo bridge vlan del dev ens38 vid 1
bridge vlan show
📷 [실습 화면 삽입 위치]
bridge vlan show결과에서 ens37은 VLAN 10, ens38은 VLAN 20이 각각 PVID·Untagged로 표시되고(표기는 iproute2 버전마다 다름), 두 포트의 VM 사이 ping이 실패하는 화면
| 흔적 | 확인할 수 있는 것 |
|---|---|
| 스위치 설정 변경 로그 | 포트 모드·VLAN 변경 시각과 작업자 |
| 포트 링크 Up/Down 로그 | 장치가 연결·분리된 시각 |
| err-disable 로그 | BPDU Guard·포트 보안 위반으로 포트가 차단된 사건 |
| 패킷 캡처 | 단말 포트 쪽에서 DTP·STP 프레임이 보이는지(Wireshark 필터 dtp, stp) |
관제자가 확인할 질문
오탐 주의: 음성 VLAN을 쓰는 포트에서는 Access 포트인데도 태그 달린 프레임과 두 개의 MAC이 보이는 것이 정상입니다. 또 가상화 호스트·AP가 연결된 포트는 원래 Trunk로 설정되는 경우가 많으므로, 포트 용도를 확인한 뒤 판단합니다.
mode access + nonegotiate로 고정하고 PortFast·BPDU Guard·포트 보안을 함께 적용합니다.bridge vlan add ... pvid untagged로 Access 포트와 같은 동작을 구성할 수 있습니다.