1. Policy-Based Routing(PBR)란?
Cisco Policy-Based Routing(PBR)은 일반적인 라우팅 테이블(RIB/FIB)에 따라 패킷을 전달하는 것이 아니라, 관리자가 정의한 정책(Policy)에 따라 특정 트래픽의 경로를 강제로 변경하는 기능입니다.
쉽게 말하면,
- 일반 라우팅: 목적지(IP)에 따라 경로 결정
- PBR: 출발지, 목적지, 프로토콜, 포트 등 다양한 조건을 보고 원하는 경로로 보냄
2. 일반 라우팅과 PBR의 차이
2.1 일반적인 라우팅
예를 들어
PC1
|
R1
|
R2 ----- ISP1
|
R3 ----- ISP2
라우팅 테이블
0.0.0.0/0 -> ISP1
그러면 모든 인터넷 트래픽은
PC1
↓
ISP1
으로 갑니다.
2.2 PBR 적용
하지만 다음과 같이 하고 싶을 수 있습니다.
| 트래픽 | 보낼 곳 |
|---|---|
| 일반 인터넷 | ISP1 |
| ERP 서버 | ISP2 |
| 백업 트래픽 | ISP2 |
| 개발팀 PC | ISP2 |
| 나머지 | ISP1 |
즉,
Destination만으로는 부족한 정책을 만들 수 있습니다.
3. PBR이 사용하는 정보
PBR은 ACL을 이용해서 패킷을 식별합니다.
예를 들어
Source IP
Destination IP
Protocol
TCP/UDP Port
DSCP
Precedence
Packet Length
등을 조건으로 사용할 수 있습니다.
대표적으로는
match ip address
가 가장 많이 사용됩니다.
4. PBR 동작 순서
예를 들어
PC
|
Gi0/0
R1
Gi0/1 ---> ISP1
Gi0/2 ---> ISP2
Gi0/0에
ip policy route-map INTERNET-PBR
를 적용했다고 합시다.
패킷이 들어오면
① Interface에서 패킷 수신
↓
② Interface에 적용된 Route-map 확인
↓
③ Route-map의 Match 조건 검사
↓
④ Match되면 Set 명령 수행
↓
⑤ 지정한 Next-hop 또는 Interface로 전달
↓
⑥ Match되지 않으면 일반 Routing Table 사용
핵심
PBR은 Ingress(입력) 인터페이스에서 먼저 수행되며, 정책에 일치하지 않는 트래픽만 일반 라우팅을 수행합니다.
5. 기본 구성
5.1 ACL 작성
access-list 101 permit ip 192.168.10.0 0.0.0.255 any
5.2 Route-map 생성
route-map PBR permit 10
match ip address 101
set ip next-hop 10.10.10.1
5.3 Interface에 적용
interface GigabitEthernet0/0
ip policy route-map PBR
이제
192.168.10.0/24
에서 오는 트래픽은
10.10.10.1
로 강제로 전달됩니다.
6. Route-map 구조
기본 구조
route-map PBR permit 10
match ...
set ...
예시
route-map PBR permit 10
match ip address 101
set ip next-hop 1.1.1.1
여기서
- match → 어떤 트래픽인지 판단
- set → 어떤 동작을 수행할지 결정
7. Match 옵션
7.1 Source ACL
가장 많이 사용하는 방식입니다.
match ip address 101
7.2 Packet Length
match length 100 500
패킷 크기를 기준으로 매칭합니다.
7.3 DSCP
match ip dscp ef
QoS와 함께 많이 사용됩니다.
7.4 IP Precedence
match ip precedence 5
8. Set 옵션
PBR에서 실제 동작을 지정하는 부분입니다.
8.1 Next-hop 지정
가장 많이 사용하는 옵션입니다.
set ip next-hop 10.1.1.1
8.2 Default Next-hop
set ip default next-hop 10.1.1.1
라우팅 테이블에 경로가 없을 경우에만 사용됩니다.
8.3 Output Interface
set interface GigabitEthernet0/1
특정 인터페이스로 직접 보냅니다.
8.4 Default Interface
set default interface GigabitEthernet0/1
8.5 IP Precedence 변경
set ip precedence critical
8.6 DSCP 변경
set ip dscp ef
9. set ip next-hop vs set interface
9.1 set ip next-hop
set ip next-hop 192.168.1.1
라우터는 지정한 Next-hop으로 패킷을 전달합니다.
가장 권장되는 방식입니다.
9.2 set interface
set interface GigabitEthernet0/2
패킷을 지정한 인터페이스로 바로 내보냅니다.
Ethernet 환경에서는 ARP 문제나 재귀 조회 문제 등이 발생할 수 있으므로 일반적으로 set ip next-hop 사용을 권장합니다.
10. 여러 정책 적용
route-map PBR permit 10
match ip address 101
set ip next-hop 1.1.1.1
route-map PBR permit 20
match ip address 102
set ip next-hop 2.2.2.2
route-map PBR permit 30
동작 순서
Sequence 10 검사
↓
Sequence 20 검사
↓
Sequence 30 검사
↓
Routing Table
permit 30처럼 match가 없으면 모든 트래픽과 일치합니다.set도 없으면 결과적으로 일반 라우팅을 수행하는 것과 동일한 효과를 냅니다.
11. 장애 조치(Failover)
예를 들어
set ip next-hop 10.1.1.1
을 사용했는데
10.1.1.1
이 장애가 발생했다면?
Cisco에서는 보통
- IP SLA
- Track
- verify-availability
를 함께 사용합니다.
예시
set ip next-hop verify-availability 10.1.1.1 1 track 1
동작 구조
IP SLA
↓
Track
↓
verify-availability
↓
PBR
이렇게 하면 Next-hop이 살아 있을 때만 해당 정책을 적용합니다.
12. 실무 활용 사례
12.1 ISP 이중화
개발팀 → ISP2
일반 사용자 → ISP1
12.2 Office 365 우회
Office365 → MPLS
나머지 → Internet
12.3 백업 트래픽 분리
Backup → 저렴한 회선
12.4 음성 트래픽 우선
Voice → 저지연 회선
12.5 테스트 서버
개발 서버만
↓
새 Firewall
13. PBR 확인 명령
현재 Route-map 확인
show route-map
Interface 적용 여부
show ip policy
라우팅 테이블
show ip route
CEF 확인
show ip cef
특정 패킷 경로 확인
show ip cef exact-route <source-ip> <destination-ip>
또는
traceroute
14. PBR의 장단점
장점
| 장점 | 설명 |
|---|---|
| 유연한 정책 | Source, Destination, Port 등을 기준으로 경로 선택 가능 |
| ISP 분산 | 사용자나 서비스별로 서로 다른 회선 사용 가능 |
| 트래픽 엔지니어링 | 중요 서비스 우선 처리 가능 |
| 점진적 마이그레이션 | 일부 사용자만 새로운 장비나 회선 사용 가능 |
단점
| 단점 | 설명 |
|---|---|
| 관리 복잡성 증가 | 정책이 많아질수록 관리가 어려움 |
| 성능 영향 | 플랫폼에 따라 CPU/ASIC 자원을 추가 사용 |
| 장애 대응 필요 | IP SLA, Track 등을 함께 구성하는 것이 일반적 |
| 정책 충돌 가능 | ACL, NAT, QoS와의 처리 순서를 고려해야 함 |
15. PBR vs 일반 라우팅 vs ECMP
| 구분 | 일반 라우팅 | ECMP | PBR |
|---|---|---|---|
| 경로 선택 기준 | 목적지 IP | 목적지 IP + 동일 비용 경로 | 관리자가 정의한 정책 |
| 여러 회선 사용 | 제한적 | 가능 | 가능 |
| 출발지 기반 제어 | 불가 | 불가 | 가능 |
| 포트 기반 제어 | 불가 | 불가 | 가능 |
| 애플리케이션별 분기 | 불가 | 불가 | 가능 |
| 대표 사용 사례 | 일반 라우팅 | 부하 분산 | ISP 분리, 트래픽 엔지니어링 |
핵심 정리
- PBR은 라우팅 테이블보다 먼저 정책을 검사하여 특정 트래픽의 경로를 변경하는 기능입니다.
- 목적지뿐만 아니라 출발지 IP, 프로토콜, 포트, DSCP 등 다양한 조건으로 트래픽을 분류할 수 있습니다.
- 가장 많이 사용하는 조합은 **ACL + Route-map +
set ip next-hop**입니다. - 실제 운영 환경에서는 **IP SLA + Track +
verify-availability**를 함께 사용하여 Next-hop 장애에 대비하는 것이 권장됩니다. - ISP 이중화, 서비스별 회선 분리, QoS 연동, 트래픽 엔지니어링 등에서 매우 많이 활용되는 Cisco의 대표적인 정책 기반 라우팅 기능입니다.
답글 남기기