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을 지양해야 하는 경우

  1. 라우팅 프로토콜로 해결 가능한 경우
    • OSPF area, BGP local-pref/AS-path-prepend, metric 조정으로 가능하면 그게 더 안정적
    • Control plane에서 조정하는 게 운영/확장성에 유리
  2. 규모가 큰 환경(대규모 ISP/데이터센터)
    • 수백~수천 개 정책을 PBR로 처리하면 성능 저하 + 관리 복잡성 폭발
    • 일부 장비는 PBR이 FIB에 하드웨어 처리 안 되고 소프트웨어 처리(CEF bypass) → CPU 부하↑
  3. 장애 분석 시
    • 라우팅 테이블 보고 정상인데, 실제 트래픽이 안 가는 경우 → 알고 보니 PBR 때문에 경로가 바뀌는 경우가 많음
    • 즉, 트러블슈팅 난이도 상승

+ Recent posts