📚 네트워크 · 패킷 분석 › 01. TCP/IP 구조 이해 — 19편
이전 글: 18. Routing Table · 다음 글: 20. Default Route

1. 개념

Static Routing(정적 라우팅) 은 관리자가 "이 목적지 대역은 이 next hop으로 보낸다"는 경로를 직접 입력하는 방식입니다. 입력한 경로는 18. Routing Table에 proto static 등으로 표시되며, 관리자가 바꾸기 전까지 그대로 유지됩니다.

반대 개념인 동적 라우팅은 라우터끼리 OSPF·BGP 같은 라우팅 프로토콜로 경로 정보를 교환해 테이블을 자동으로 갱신합니다. 이 글은 개념과 호스트(Linux) 기준 예시만 다루며, 라우터 장비에서의 정적 경로 설정은 172. Static Routing에서 다룹니다.

정적 라우팅이 쓰이는 대표적인 상황은 다음과 같습니다.

  • 게이트웨이가 아닌 다른 라우터 뒤에 있는 내부 대역으로 가야 할 때 (예: 관리망, 백업망)
  • 경로가 하나뿐인 소규모·말단 네트워크(stub network)
  • 경로를 예측 가능하게 고정해야 하는 보안 구간

2. 동작 원리

아래 구성에서 PC의 기본 게이트웨이는 인터넷 방향 라우터(R1)입니다. 관리망(10.20.0.0/16)은 다른 라우터(R2) 뒤에 있으므로, 정적 경로가 없으면 관리망으로 가는 패킷도 R1로 가 버립니다.

                 ┌── R1 192.168.10.1  ──→ 인터넷
[PC 192.168.10.20]┤
                 └── R2 192.168.10.254 ──→ 관리망 10.20.0.0/16

정적 경로 추가 전:  10.20.5.7 → 일치 엔트리 = default → R1로 전송 (도달 실패 가능)
정적 경로 추가 후:  10.20.5.7 → 10.20.0.0/16 via 192.168.10.254 (더 긴 프리픽스) → R2로 전송

정적 경로도 조회 규칙은 같습니다. 최장 일치가 우선이므로, /16 정적 경로가 /0 기본 경로보다 먼저 선택됩니다. 또한 next hop은 직접 연결된 서브넷 안의 주소여야 합니다. 그렇지 않으면 경로 추가가 거부됩니다.

또 하나 중요한 점은 돌아오는 경로입니다. 관리망 쪽 장비와 R2도 192.168.10.0/24로 돌아오는 경로를 알고 있어야 왕복 통신이 성립합니다.


3. 주요 특징

항목Static RoutingDynamic Routing
경로 입력관리자가 수동 입력라우팅 프로토콜이 자동 학습
장애 대응경로가 죽어도 자동 우회하지 않음대체 경로로 자동 수렴
장비 부하거의 없음프로토콜 메시지 교환·계산 필요
예측 가능성높음 (입력한 대로만 동작)상황에 따라 경로가 바뀔 수 있음
적합한 환경소규모, 말단망, 고정 구간대규모, 경로가 여러 개인 망
보안 측면외부에서 경로를 주입할 수 없음프로토콜 인증이 없으면 경로 주입 위험
  • 런타임 경로와 영구 경로를 구분해야 합니다. ip route add로 추가한 경로는 재부팅이나 네트워크 재시작 시 사라집니다. 영구 적용은 배포판의 네트워크 설정 도구로 해야 합니다.
  • 규모가 커지면 수동 관리 부담이 커지고, 한 곳만 빠져도 통신이 끊기는 설정 오류가 생기기 쉽습니다.

4. 예시

실습 예시: 본인 소유 VM에서만 수행합니다. 인터페이스·연결 이름은 환경마다 다르므로 먼저 확인합니다(ip link, nmcli connection show).

# 공통: 임시(런타임) 경로 추가 → 확인 → 삭제
sudo ip route add 10.20.0.0/16 via 192.168.10.254 dev ens160
ip route get 10.20.5.7
sudo ip route del 10.20.0.0/16 via 192.168.10.254

영구 적용 방법은 배포판마다 다릅니다.

구분명령·파일재부팅 후 유지
런타임 (공통)ip route add / ip route del유지되지 않음
Rocky Linuxnmcli connection modify ... +ipv4.routes유지됨 (연결 프로필에 저장)
Ubuntu/etc/netplan/*.yaml의 routes: + netplan apply유지됨
# Rocky Linux (NetworkManager) — "ens160"은 연결(connection) 이름
sudo nmcli connection modify ens160 +ipv4.routes "10.20.0.0/16 192.168.10.254"
sudo nmcli connection up ens160
# Ubuntu (netplan) — /etc/netplan/ 아래 설정 파일의 해당 인터페이스에 추가
network:
  version: 2
  ethernets:
    ens160:
      routes:
        - to: 10.20.0.0/16
          via: 192.168.10.254

Ubuntu에서는 sudo netplan try로 먼저 적용해 보고(확인하지 않으면 자동 복구), 문제가 없으면 sudo netplan apply로 확정합니다.

적용 후 출력 예시(값은 환경마다 다름):

10.20.0.0/16 via 192.168.10.254 dev ens160 proto static metric 100
10.20.5.7 via 192.168.10.254 dev ens160 src 192.168.10.20 uid 1000

5. 보안 관점

  • 통제 가능한 경로: 정적 경로는 외부에서 광고로 바꿀 수 없으므로, 관리망처럼 경로가 바뀌면 안 되는 구간에 적합합니다.
  • 설정 변경 = 트래픽 우회: 반대로 호스트 권한을 가진 사람이 정적 경로 하나만 추가해도 특정 대역 트래픽을 다른 장비로 보낼 수 있습니다. 네트워크 설정 파일(/etc/NetworkManager/system-connections/, /etc/netplan/)은 변경 감시 대상에 포함하는 것이 좋습니다.
  • 잊힌 경로: 임시로 추가했다가 영구 설정에 남은 경로는 방화벽 정책과 무관하게 내부 대역 간 통로가 될 수 있습니다. 정기적으로 경로 목록을 점검합니다.

6. SOC 관점

흔적이 남는 곳

  • 호스트: proto static으로 표시된 경로, 네트워크 설정 파일의 변경 시각, sudo 실행 기록(/var/log/secure 또는 /var/log/auth.log)
  • 파일 무결성 모니터링(FIM)을 쓰는 환경이라면 설정 파일 변경 이벤트

관제자가 확인할 질문

  • 이 정적 경로는 변경 승인 기록이 있는가? 누가, 언제 추가했는가?
  • next hop이 알려진 라우터인가, 아니면 일반 호스트 IP인가?
  • 경로가 추가된 이후 해당 대역 트래픽이 방화벽 로그에서 사라지지 않았는가?

오탐 주의

  • VPN·컨테이너·가상화 소프트웨어는 정적 성격의 경로를 자동으로 추가합니다. 경로를 만든 프로세스와 시점을 함께 확인합니다.

7. 핵심 정리

  • Static Routing은 관리자가 목적지 대역과 next hop을 직접 입력하는 방식입니다.
  • 최장 일치 규칙에 따라 구체적인 정적 경로가 기본 경로보다 우선합니다.
  • 장애 시 자동 우회가 없고, 왕복 양쪽 경로를 모두 맞춰야 통신이 성립합니다.
  • ip route add는 임시이며, 영구 적용은 Rocky는 nmcli, Ubuntu는 netplan으로 합니다.
  • 정적 경로 변경은 트래픽 우회로 이어질 수 있으므로 설정 파일과 변경 기록을 함께 확인합니다.
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글