서로 다른 VLAN의 PC가 통신하도록 라우터를 붙여 Inter-VLAN 라우팅을 구성했습니다. VLAN마다 라우터 인터페이스를 하나씩 쓰는 방식과, 트렁크 하나에 서브 인터페이스를 만드는 Router-on-a-Stick 방식을 비교했습니다.
1. 배경
VLAN은 브로드캐스트 도메인을 나누기 때문에 다른 VLAN끼리는 기본적으로 통신할 수 없습니다. 그래도 서로 통신해야 하는 경우가 많으므로 L3 장비(라우터)가 VLAN 사이를 라우팅해 줘야 합니다. 라우터를 거치므로 필요하면 ACL로 VLAN 간 접근을 제어할 수 있습니다.
2. 방식 1: VLAN마다 라우터 인터페이스 할당
2.1 토폴로지

VLAN별로 라우터 인터페이스를 연결한 토폴로지
| 장비 | IP | VLAN |
| PC3 | 192.168.0.2/24 | VLAN 10 |
| PC6 | 172.168.0.2/24 | VLAN 20 |
| Router Gi0/0 | 192.168.0.1/24 | VLAN 10 쪽 |
| Router Gi0/1 | 172.168.0.1/24 | VLAN 20 쪽 |
172.168.0.0 대역은 사설 대역(172.16.0.0/12)이 아닙니다. 실습 토폴로지에서만 쓰고, 실제 환경에서는 사설 대역을 사용합니다.
2.2 스위치 VLAN 설정
VLAN 10은 Fa0/1, Fa0/3, VLAN 20은 Fa0/2, Fa0/4에 할당합니다. 여러 포트를 한 번에 설정할 때는 interface range를 씁니다.
Switch(config)# vlan 10
Switch(config-vlan)# name VLAN_10
Switch(config-vlan)# vlan 20
Switch(config-vlan)# name VLAN_20
Switch(config-vlan)# exit
Switch(config)# interface range fa0/1, fa0/3
Switch(config-if-range)# switchport mode access
Switch(config-if-range)# switchport access vlan 10
Switch(config-if-range)# exit
Switch(config)# interface range fa0/2, fa0/4
Switch(config-if-range)# switchport mode access
Switch(config-if-range)# switchport access vlan 20
2.3 라우터 설정
Router(config)# interface gi0/0
Router(config-if)# ip address 192.168.0.1 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)# interface gi0/1
Router(config-if)# ip address 172.168.0.1 255.255.255.0
Router(config-if)# no shutdown
2.4 ping 결과

PC3, PC6에서 라우터와 상대 PC로 보낸 ping 결과
각 PC에서 라우터까지는 성공했지만, 이 캡처에서 PC3 → PC6은 실패로 나왔습니다. VLAN 간 통신이 되려면 각 PC의 기본 게이트웨이가 라우터 인터페이스 IP(192.168.0.1, 172.168.0.1)로 설정되어 있어야 합니다. 또 첫 ping은 ARP를 처리하는 동안 실패로 표시될 수 있으므로 한 번 더 보내 확인합니다.
이 방식은 VLAN 수만큼 라우터 인터페이스가 필요합니다. VLAN이 몇 개일 때는 괜찮지만 많아지면 인터페이스를 일일이 할당할 수 없습니다.
3. 방식 2: Router-on-a-Stick
3.1 개념

앞의 트렁크 실습 토폴로지
앞의 트렁크 실습처럼 스위치와 라우터 사이도 트렁크로 연결하면 인터페이스 하나로 여러 VLAN을 라우팅할 수 있습니다. 이를 Router-on-a-Stick이라고 하며, 물리 인터페이스 하나를 VLAN별 서브 인터페이스(가상 인터페이스)로 나눠 씁니다.
3.2 토폴로지

Router-on-a-Stick 토폴로지
| 장비 | 설정 |
| PC3 | 192.168.0.2 (VLAN 10) |
| PC6 | 172.168.0.2 (VLAN 20) |
| 스위치 Fa0/3 | trunk (라우터 연결) |
| 라우터 Gi0/0.10 | 192.168.0.1/24, dot1Q 10 |
| 라우터 Gi0/0.20 | 172.168.0.1/24, dot1Q 20 |
3.3 라우터 설정
Router(config)# interface gi0/0
Router(config-if)# no shutdown
Router(config-if)# interface gi0/0.10
Router(config-subif)# encapsulation dot1Q 10
Router(config-subif)# ip address 192.168.0.1 255.255.255.0
Router(config-subif)# exit
Router(config)# interface gi0/0.20
Router(config-subif)# encapsulation dot1Q 20
Router(config-subif)# ip address 172.168.0.1 255.255.255.0
서브 인터페이스 번호(.10, .20)는 편의상 VLAN ID와 맞춘 것이라 다른 숫자여도 됩니다. 반면 encapsulation dot1Q 뒤에는 반드시 실제 VLAN ID를 적어야 합니다.
3.4 ping 결과
ping 결과는 인터페이스 2개를 쓴 방식과 같게 나옵니다.

Router-on-a-Stick 구성의 ping 결과
4. 정리
- 다른 VLAN끼리 통신하려면 라우터가 VLAN 사이를 라우팅해야 하고, PC의 기본 게이트웨이도 설정해야 합니다.
- VLAN마다 인터페이스를 쓰는 방식은 간단하지만 VLAN이 많으면 인터페이스가 부족합니다.
- Router-on-a-Stick은 트렁크 하나에 dot1Q 서브 인터페이스를 만들어 여러 VLAN을 처리합니다.
'Network > 패킷트레이서' 카테고리의 다른 글
| [Packet Tracer] VTP로 VLAN 정보 동기화 (0) | 2020.02.06 |
|---|---|
| [Packet Tracer] Port-Security로 스위치 포트의 MAC 주소 제한 (0) | 2020.02.03 |
| [Packet Tracer] DTP 트렁크 협상과 allowed vlan으로 트렁크 VLAN 제한 (0) | 2020.01.22 |
| [Packet Tracer] 트렁크로 스위치 간 여러 VLAN을 한 포트로 연결 (0) | 2020.01.13 |
| [Packet Tracer] 스위치 두 대에 걸친 VLAN 통신 구성 (0) | 2020.01.12 |