📚 네트워크 · 패킷 분석 › 04. 네트워크 장비 실습 — 153편
이전 글: 152. Switch란 무엇인가 · 다음 글: 154. Gateway란 무엇인가
라우터(Router) 는 서로 다른 IP 네트워크를 연결하고, 패킷의 목적지 IP를 보고 다음으로 보낼 곳을 결정하는 장비입니다. Routing의 개념은 17. 게이트웨이와 라우팅 기초 — 다른 네트워크로 패킷은 어떻게 가는가, 라우팅 테이블 읽는 법은 18. Routing Table에서 다뤘습니다.
이 글은 라우터를 장비로서 봅니다. 라우터의 가장 큰 특징은 인터페이스마다 서로 다른 네트워크에 속한다는 점입니다. 스위치 포트에는 보통 IP가 없지만, 라우터 인터페이스에는 각 네트워크의 IP가 하나씩 설정되고, 그 IP가 해당 네트워크 호스트들의 게이트웨이가 됩니다.
| 항목 | 스위치 포트 | 라우터 인터페이스 |
|---|---|---|
| IP 주소 | 없음(관리용 IP는 별도) | 인터페이스마다 하나 이상 |
| 속한 네트워크 | 모든 포트가 같은 네트워크(같은 VLAN 기준) | 인터페이스마다 다른 네트워크 |
| 브로드캐스트 | 다른 포트로 전달 | 다른 인터페이스로 전달하지 않음 |
스위치와의 체계적인 비교는 159. Switch와 Router 비교에서 정리합니다.
라우터가 패킷 하나를 전달할 때 일어나는 일입니다.
[PC 192.168.10.11] → 프레임 (목적지 MAC = 라우터 ens37의 MAC)
↓
라우터 ens37 (192.168.10.1) 수신
├─ L2 헤더 제거 (Decapsulation)
├─ 목적지 IP로 라우팅 테이블 조회 → 출구 인터페이스 결정
├─ TTL 1 감소, IP 헤더 체크섬 재계산
└─ 출구 구간용 새 L2 헤더 작성 (출발지 MAC = 라우터 ens38의 MAC)
↓
라우터 ens38 (10.10.20.1) 송신 → [서버 10.10.20.21]
| 라우터를 지날 때 | 바뀌는 것 | 바뀌지 않는 것(NAT가 없을 때) |
|---|---|---|
| L2 | 출발지·목적지 MAC | — |
| L3 | TTL, 헤더 체크섬 | 출발지·목적지 IP |
| L4 이상 | — | 포트, 페이로드 |
라우터에 NAT가 설정되어 있으면 IP·포트도 바뀝니다. 이는 176. NAT에서 다룹니다. TTL 감소가 경로 추적에 쓰이는 원리는 36. TTL과 네트워크 경로을 참고합니다.
라우터가 놓이는 대표 위치와 그 자리에서의 역할입니다.
| 위치 | 역할 | 관제 관점 참고 |
|---|---|---|
| 인터넷 경계 | ISP 회선 연결, 기본 경로 제공, 경우에 따라 NAT | 방화벽 바깥쪽이면 공격 트래픽을 가장 먼저 받음 |
| 지점·본사 간(WAN) | 전용선·VPN으로 원격 사이트 연결 | 지점발 이상 트래픽의 경유지 |
| 내부 (L3 스위치 포함) | VLAN·서브넷 간 라우팅 | 내부 이동(동-서) 트래픽이 지나는 지점 |
라우터가 남기는 대표 로그·데이터입니다(메시지 이름은 Cisco IOS 계열 예, 제조사마다 다름).
| 이벤트 | 메시지 예 | 관제 의미 |
|---|---|---|
| 인터페이스 변경 | %LINK-3-UPDOWN | 회선 장애, 케이블 분리 |
| 라우팅 인접 변경 | %OSPF-5-ADJCHG, %BGP-5-ADJCHANGE | 경로 재계산, 회선·설정 문제 |
| ACL 로그 | %SEC-6-IPACCESSLOGP | ACL에 log 옵션이 있을 때 매칭 기록 |
| 설정 변경 | %SYS-5-CONFIG_I | 경로·ACL 변경 작업자 |
| Flow 기록 | NetFlow / IPFIX | 출발지·목적지·포트·바이트 수 요약 |
실습 예시 — NIC 2개를 가진 Linux VM을 라우터로 만드는 흐름입니다. VMware에서 ens37은 Custom 네트워크 VMnet2(192.168.10.0/24), ens38은 VMnet3(10.10.20.0/24)에 연결하고, 양쪽 VM의 게이트웨이를 각각 192.168.10.1, 10.10.20.1로 지정했다고 가정합니다. 값은 예시(값은 환경마다 다름)입니다.
# 1) 인터페이스 주소 확인
ip -br addr show
# 2) 패킷 전달 켜기 (Rocky/Ubuntu 공통)
sudo sysctl -w net.ipv4.ip_forward=1
echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/90-lab-router.conf # 재부팅 후에도 유지
# 3) 라우팅 테이블: 직접 연결된 두 네트워크가 보여야 함
ip route show
# 4) 양쪽 인터페이스에서 MAC(-e)과 TTL(-v) 변화를 관찰
sudo tcpdump -env -i ens37 icmp
sudo tcpdump -env -i ens38 icmp
ens37 UP 192.168.10.1/24
ens38 UP 10.10.20.1/24
10.10.20.0/24 dev ens38 proto kernel scope link src 10.10.20.1
192.168.10.0/24 dev ens37 proto kernel scope link src 192.168.10.1
⚠️ Rocky에서 firewalld가 켜져 있으면 zone 설정에 따라 인터페이스 간 전달이 막힐 수 있고, Ubuntu의 ufw도 기본 FORWARD 정책이 DROP으로 설정되어 있을 수 있습니다. 실습에서는 전달 여부를 먼저 확인하고, 방화벽 정책 자체는 06 영역에서 다룹니다.
📷 [실습 화면 삽입 위치] 같은 ICMP 요청이 ens37에서는 TTL 64·PC MAC으로, ens38에서는 TTL 63·라우터 MAC으로 보이는 tcpdump 두 창을 나란히 놓은 화면
GNS3에서는 라우터 이미지의 show ip interface brief, show ip route, show logging으로 같은 정보를 확인할 수 있습니다.
| 흔적 위치 | 확인할 수 있는 것 |
|---|---|
| 라우터 Syslog | 인터페이스·인접 변경, 설정 변경, ACL 매칭 |
| NetFlow / IPFIX | 특정 IP의 통신 상대·포트·양, 대량 전송 여부 |
| 패킷 캡처 | 구간마다 바뀌는 MAC, TTL 값 |
관제자가 확인할 질문
오탐 주의: 회선 이중화 환경에서는 정상적인 경로 전환에도 인접 변경·인터페이스 다운 로그가 발생합니다. 장애 공지·작업 일정과 함께 확인합니다. 장비 장애와 보안 이벤트를 구분하는 방법은 198. 네트워크 장비 장애와 보안 이벤트에서 다룹니다.
ip_forward를 켜면 라우터 동작을 tcpdump로 관찰할 수 있습니다.