1. Route Map
- Cisco IOS, Juniper 등 라우터에서 제공하는 정책 기반 설정 도구
- Access-list와 비슷하게 match 조건과 set 동작으로 이루어짐
- 라우팅 테이블 처리보다 먼저 이루어짐.
구조:
route-map my_route_map permit 10
{ match statements }
{ match statements }
{ set statements }
route-map my_route_map deny 20
route-map my_route_map permit 30
# match 조건을 따로 작성하지 않을 경우에는 match any가 적용된다.
# route-map의 마지막에는 deny any가 생략 되있다.
- match: 어떤 패킷/라우트가 대상인지 정의
- set: 매칭되면 어떤 동작을 할지 지정 (next-hop 변경, metric 변경 등) (설정 수정을 하는 작업이다, permit에서만 사용)
- match <조건> <조건> <조건> 일 경우 or 연산이고
- match <조건>
- match <조건>
- match <조건> 일 경우 and 연산이다.
- match <조건>에 적용되는 것들을 set <동작> 하고 permit 한다.
- seq number 순서대로 정책 적용이 된다.
- 패킷을 필터링 하는것은 하드웨어로 처리가 되지만,
- route-map은 네트웍을 필터링 하는 것이기 때문에 소프트웨어 적으로 필터링 된다.
- 이름이 같으면 다 같은 route map이다.
- route-map의 마지막에는 ACL과 같이 deny any가 생략 되있다.
Route Map 사용처 3가지
1.Redistribution route filtering
- route-map을 통해 Route filetering과 modify가 가능하다.
- OSPF ~ BGP간등에 redistribution 할때, 특정네트웍을 filtering 한다던지 modify할 수 있다.
2.PBR (Policy-Based Routing)
- route 경로를 변경 한다던지 Null0로 가게 만들어 드랍 시킬 수 있다.
3.BGP
- BGP는 Bestpath를 선출하기 위한 조건은 다양한 값들을 사용한다.(bandwidth x)
- 업데이트를 주거나 받을때 조건들을 변경해서 주어야 한다.
- 그 때 route map이 자주 사용된다.
2. PBR (Policy-Based Routing)
- 기본 라우팅은 라우팅 테이블(RIB) 만 참고해서 목적지 IP 기반으로 경로를 결정.
- 무조건 인바운드 쪽에서 적용해야 한다.
- 하지만 PBR은 관리자 정책에 따라 목적지 이외의 조건(출발지, 프로토콜, 포트, ACL 등)으로 라우팅 가능.
- 예시:
- 특정 VLAN에서 오는 트래픽은 인터넷 회선 A로,
- 다른 VLAN은 인터넷 회선 B로 보내는 경우
- 구현 방식:
- PBR을 적용할 인터페이스에 route-map을 붙여서 동작시킴
- set ip next-hop 또는 set interface 같은 동작으로 경로 지정
- route map 안에 있는 ACL은 network 필터링을 하는데, PBR에 사용되는 ACL은 패킷 필터링이다.
관계
- PBR은 route-map을 이용해서 구현됨.
- 즉,
- Route map 자체는 정책 정의 도구
- PBR은 그 도구를 활용해 트래픽 라우팅 정책을 실제로 적용하는 기능
예시
! ACL로 트래픽 정의 (예: 192.168.1.0/24에서 오는 트래픽)
access-list 101 permit ip 192.168.1.0 0.0.0.255 any
! route-map 작성
route-map PBR-TEST permit 10
match ip address 101
set ip next-hop 10.10.10.1 ! 특정 게이트웨이로 보냄
! 인터페이스에 적용
interface GigabitEthernet0/0
ip policy route-map PBR-TEST
이렇게 하면 192.168.1.0/24 대역에서 나오는 트래픽은
라우팅 테이블을 보지 않고 무조건 10.10.10.1로 전달돼요.
이중 회선(dual ISP) 환경
- 기업에서 인터넷 회선 두 개(예: KT, SKB) 를 사용한다고 가정
- 일반적으로 라우팅 테이블은 라우팅 프로토콜 or Static 기반으로 하나의 기본 경로(default route) 만 선택
- 하지만 PBR을 쓰면:
- 일반 사용자 트래픽 → KT 회선
- 서버 트래픽(예: DMZ 웹서버) → SKB 회선
- 이렇게 출발지 네트워크별로 다른 ISP로 보낼 수 있음
PBR을 지양해야 하는 경우
- 라우팅 프로토콜로 해결 가능한 경우
- OSPF area, BGP local-pref/AS-path-prepend, metric 조정으로 가능하면 그게 더 안정적
- Control plane에서 조정하는 게 운영/확장성에 유리
- 규모가 큰 환경(대규모 ISP/데이터센터)
- 수백~수천 개 정책을 PBR로 처리하면 성능 저하 + 관리 복잡성 폭발
- 일부 장비는 PBR이 FIB에 하드웨어 처리 안 되고 소프트웨어 처리(CEF bypass) → CPU 부하↑
- 장애 분석 시
- 라우팅 테이블 보고 정상인데, 실제 트래픽이 안 가는 경우 → 알고 보니 PBR 때문에 경로가 바뀌는 경우가 많음
- 즉, 트러블슈팅 난이도 상승
'네트워크 > Layer3' 카테고리의 다른 글
| IPsec VPN 알아보기#2 주요 보안 기능과 동작 흐름 (0) | 2025.08.22 |
|---|---|
| IPsec VPN 알아보기#1 두가지 모드 (1) | 2025.08.19 |
| MPLS (Multiprotocol Label Switching)와 MPLS-VPN (6) | 2025.08.16 |
| 목적지를 바꾸는 이유? – Destination IP NAT 쉽게 이해하기 (0) | 2025.06.29 |
| 출발지 IP를 바꾸는 이유? Source IP NAT 이해하기 (0) | 2025.06.29 |