리눅스 시스템에서 네트워크 경로(라우팅)를 확인하고 설정하는 가장 중요하고 강력한 명령어는 ip route입니다. 이는 기존의 route 명령어를 대체하며, 복잡한 네트워크 환경에서 정적 경로를 구성할 때 필수적입니다.
1. ip route의 기본 개념과 구문
라우팅(Routing)이란 네트워크 패킷이 목적지까지 도달하기 위한 경로를 결정하는 과정이며, 정적 라우팅(Static Routing)은 관리자가 경로 정보를 수동으로 입력하여 고정하는 방식입니다. 정적 경로는 값이 고정적이므로, 경로 설정을 잘못 입력하면 통신이 불가능해지므로 설정 후 반드시 확인해야 합니다.
명령 구문:
ip route [add|del|change|append|replace] OBJECT
# OBJECT는 destination-address (목적지 주소)를 포함한 경로 설정 정보를 의미합니다.
가장 자주 사용되는 ip route 명령
명령어
용도
설명
ip route show
라우팅 테이블 확인
현재 시스템의 전체 라우팅 테이블(경로 목록)을 표시합니다. (ip route로 축약 가능)
ip route get [목적지 IP]
특정 경로 확인
특정 목적지 IP 주소로 가기 위해 어떤 경로와 인터페이스를 사용할지 확인합니다.
2. 정적 라우팅 경로 추가 (ip route add) 상세
정적 경로를 추가하는 것은 특정 목적지 네트워크로 가는 패킷을 정해진 출구(인터페이스)나 다음 홉(게이트웨이)으로 보내도록 설정하는 것입니다.
일반 구문:
ip route add [Destination/CIDR] { via Gateway_IP | dev Interface_Name }
필드
설명
Destination/CIDR
라우팅 테이블에 입력할 목적지 네트워크 주소와 CIDR 마스크 (예: 192.168.10.0/24).
via Gateway_IP
다음 홉(Next Hop) 주소를 지정합니다. 패킷을 전달할 이웃 라우터 장비의 IP 주소입니다. (가장 일반적인 설정 방식)
dev Interface_Name
패킷을 보낼 출력 인터페이스 이름을 지정합니다. (예: eth0, ena0)
정적 라우팅 설정 예시
목적
명령어 예시
기본 게이트웨이 설정
ip route add default via 192.168.1.1
특정 네트워크 경로 추가 (Next Hop)
ip route add 10.10.10.0/24 via 192.168.1.254
특정 네트워크 경로 추가 (출력 인터페이스)
ip route add 10.10.20.0/24 dev eth0
3. 정적 라우팅 경로 삭제 및 변경
명령어
용도
예시
ip route del
기존 경로를 삭제합니다.
ip route del 10.10.10.0/24
ip route change
기존 경로를 완전히 새로운 경로로 대체합니다.
ip route change 10.10.10.0/24 via 192.168.1.250
ip route replace
기존 경로를 삭제하고 새로운 경로를 추가합니다. 경로가 없으면 새로 생성됩니다.
ip route replace 10.10.10.0/24 dev eth1
4. 클라우드 및 운영 환경 팁
영구 설정: ip route add 명령으로 설정한 경로는 시스템 재부팅 시 사라집니다. 영구적인 설정을 위해서는 /etc/sysconfig/network-scripts/route-eth0 (RHEL/CentOS) 또는 /etc/netplan (Ubuntu)과 같은 네트워크 설정 파일을 수정해야 합니다.
기본 경로 (Default Route): 인터넷으로 통신하기 위해 설정하는 default 경로는 ip route add default via [Gateway IP] 명령으로 설정하며, 이는 라우팅 테이블의 모든 알 수 없는 목적지 패킷이 나가는 출구입니다.
CIDR 필수: 정적 경로를 설정할 때 목적지 IP와 서브넷 마스크를 별도로 입력하는 대신, CIDR 형식(192.168.10.0/24)으로 입력하는 것이 현대 리눅스에서 권장되는 표준 방식입니다.