Today Key : ip , route, 라우팅, 테이블, next-hop, 추가, 제거, 삭제, iproute, via, 리눅스
Linux에서 라우팅을 다룰 때 예전에는 route, netstat -rn 같은 도구를 많이 썼지만, 요즘 실무 표준은 iproute2 패키지의 ip 명령입니다.
그 중에서도 ip route는 “이 호스트가 목적지로 가는 패킷을 어디로 보낼지”를 결정하는 라우팅 테이블(Route Table) 을 조회하고 제어하는 핵심 명령어입니다.
이번 포스팅에서 ip route의 기본 개념부터, 실무에서 자주 쓰는 옵션을 함께 정리해봅니다.
ip route가 다루는 것: “커널 라우팅 테이블”
- Linux 커널은 목적지 IP를 보고 라우팅을 수행하는 ip route는 이 커널 라우팅 정보를 확인/변경합니다.
- 어떤 인터페이스(dev)로 보낼지
- 다음 홉(next-hop, via)은 어디인지
- 우선순위(metric)
- 라우트 범위(scope), 프로토콜(proto), 타입(type)
ip route를 사용한 라우팅 조회
1. 전체 조회
ip route
# 또는
ip r
사용 예시 및 설명

- default: 디폴트 라우트(0.0.0.0/0)
- via: next-hop 게이트웨이
- dev: 패킷이 나가는 인터페이스
- proto: 이 라우트가 어디서 왔는지(커널/정적/OSPF/BGP 등 식별)
- metric: 우선순위(낮을수록 선호)
- scope link: 링크-로컬(해당 L2에서 직접 도달 가능)
- src: 이 라우트를 타고 나갈 때 기본 소스 IP 힌트
2. 특정 목적지에 대한 라우팅 확인
- 특정 목적지(host)에 대해서 어떤 라우팅 정보를 적용받는지 확인 가능한 명령입니다.
- 정책 라우팅(rule), 테이블, 소스 IP, 입력 인터페이스 조건까지 반영된 결과 값이라, 트러블 슈팅에 사용에 좋습니다.
ip route get 목적지_IP주소

3. 특정 목적지 네트워크 대역으로 조회
- 특정 목적지 네트워크에 대해서 어떤 라우팅 정보를 적용받는지 확인 가능한 명령입니다.
- 단순히 show로만 하면 서브넷까지 정확히 일치한 라우팅 테이블만 조회가 가능합니다.
- match까지 사용하면, 목적지 네트워크 대역을 포함하는 라우팅 테이블이 모두 조회됩니다.
ip route show 목적지_네트워크_대역
ip route show match 목적지_네트워크_대역

4 인터페이스 기준 필터
- 라우팅 테이블에서 특정 인터페이스에 대한 라우팅 테이블만 조회
ip route show dev 인터페이스

라우트 추가/삭제/변경: add, del, replace
1. 정적 라우트 추가 (next-hop 지정)
- via에 next-hop IP 주소를 입력하면 되고, 보통 서버거 연결된 네트워크의 게이트웨이
- dev는 보통 자동 유추되지만, 명시해두면 더 명확합니다(특히 멀티 NIC 환경).
sudo ip route add 목적지대역 via 넥스트홉 dev 인터페이스

2. “직접 연결(connected)”처럼 강제로 dev만 지정
- 게이트웨이 없이 특정 인터페이스로 라우팅 설정을 하는 경우에 dev로만 설정
- 다만, 보통은 잘 사용하진 않고, 보통 via로 next hop을 입력하는 방식을 사용
sudo ip route add 10.30.0.0/16 dev eth1
이건 “eth1로 내보내라”는 의미인데, L2/L3 환경에 따라 ARP/ND가 해결 못하면 통신이 안 됩니다. 보통은 via를 쓰는 편이 안전합니다.

3. 라우팅 변경
- 현재 라우팅 테이블의 설정을 변경
- default 변경 시에는 목적지_네트워크에 default로 설정
sudo ip route replace 목적지_네트워크 via 넥스트홉 dev 인터페이스 metric 메트릭값


4. 라우팅 테이블 제거
- 기존 라우팅 테이블을 제거합니다.
- 현재 라우팅 테이블에 등록된 목적지 네트워크 대역과 일치하게 해야 라우팅이 삭제 됩니다. (일부만 삭제 불가)
sudo ip route del 10.20.0.0/16 # 지정된 목적지 대역 라우팅 삭제
sudo ip route del default # Default 라우팅 삭제
