Skip to main content

Cisco PBR+SLA+Track 회선 이중화 구현하기

개요

  • 특정 소스IP를 매칭하여 원하는 경로로 보내야하는 경우 Cisco에서 제공해주는 기술

네트워크 구성도

  • PRB 회선 Active / OSPF 회선 Standby 로 설계 한다.
  • 출발지 10.100.100.3, 목적지 10.200.200.4 으로 ICMP 요청 시 1차 PBR 회선 사용 하다가 회선 Fail 시 2차 OSPF 회선으로 트래픽이 흐르게 설계 한다.

Untitled.png

PBR 설정법

  1. ACL 설정
    • 먼저, PBR에서 사용할 트래픽을 식별하기 위해 ACL을 생성해야 합니다. ACL은 특정 트래픽을 매치하는 데 사용됩니다.
      access-list 100 permit ip host 10.100.100.3 host 10.200.200.4
  1. Sla 설정

    • 상대측 모니터링을 하기
    • ip sla 1
       icmp-echo 10.10.10.2 *// 목적지 10.10.10.2에  icmp 요청*
       frequency 10 *// 10초마다 icmp 요청 함*
      exit
      ip sla monitor schedule 1 life forever start-time now *// sla 정책 적용*
  2. Tack 설정

    • 단순 PBR만 적용 시 상대(Peer)에 모니터링을 하기 위해 tack을 설정 함.
    track 1 ip sla 1 reachability
  3. Route-map 설정

route-map aa permit 10
 match ip address 100
 set ip next-hop verify-availability 10.10.10.2 1 track 1 *// "verify-availability" 설정은 track 1번이 유효한지 확인한 후 트래픽을 전달 함.
 
※ 아래 명령어 차이
set ip default next-hop
  - 1순위) 기존 라우팅 테이블(OSPF)쪽으로 먼저 트래픽 흐름, 이후 2순위) PRB 적용.
set ip next-hop
  - 1순위) PBR 이 먼저 적용 되고, 이후 2순위) 기존 라우팅 테이블(OSPF) 적용.*

추가 설정 옵션

PBR에서는 다양한 설정 옵션을 사용할 수 있습니다. 예를 들어, 다음과 같은 추가 명령어를 사용할 수 있습니다:

  • set ip default next-hop [ip-address]: 트래픽이 기존 라우팅 테이블에서 유효한 경로를 찾지 못할 경우 지정된 다음 홉을 사용합니다.
  • set interface [interface-name]: 트래픽을 특정 인터페이스로 전달합니다.
  1. Interface에 Route-map 적용
    • 인터페이스 적용 시 Input(들어오는)으로 적용해야 하므로, 반드시 단말측(내부) 인터페이스쪽에 Route-map을 적용
interface Ethernet0/0
 no switchport
 ip address 10.100.100.1 255.255.255.0
 ip policy route-map **aa**
  1. 설정 확인
# PBR은 라우팅 테이블에 업데이트 되지 않음 !!!
SW1#show ip route 10.200.200.4 *// 목적지 10.200.200.4 라우팅 테이블 검색 시 OSPF에서 업데이트 된 현황만 확인 할 수 있음.*
Routing entry for 10.200.200.0/24
  Known via "ospf 1", distance 110, metric 20, type intra area
  Last update from 10.20.20.2 on Ethernet2/0, 22:15:38 ago
  Routing Descriptor Blocks:
  * 10.20.20.2, from 10.200.200.2, 22:15:38 ago, via Ethernet2/0
      Route metric is 20, traffic share count is 1

SW1#show ip policy
Interface      Route map
Ethernet0/0    aa

SW1#show route-map
route-map aa, permit, sequence 10
  Match clauses:
    ip address (access-lists): 100
  Set clauses:
    ip next-hop verify-availability 10.10.10.2 1 track 1  [up]
  Policy routing matches: 38008 packets, 3725224 bytes

SW1#show ip sla summary
IPSLAs Latest Operation Summary
Codes: * active, ^ inactive, ~ pending

ID           Type        Destination       Stats       Return      Last
                                           (ms)        Code        Run
-----------------------------------------------------------------------
*1           icmp-echo   10.10.10.2        RTT=1       OK          5 seconds ago
  1. 1차 테스트(PBR회선 down) 진행 한다.

    • VPC3 에서 trace 10.200.200.4 입력 시 PBR 회선으로 트래픽이 경유하는걸 알 수 있음.

    UNTITL~1.PNG

    • 1차 테스트는 SW5과 SW2 사이 인터페이스 e1/1 강제 shutdown 시켜 보겠다.

    UNTITL~3.PNG

  • SW1에서 sla reachability Up → Down 발생한다.

UNTITL~2.PNG

  • 다시 VPC3에서 trace 10.200.200.4 실행 해보면 경유가 10.20.20.2 (OSPF 회선)으로 벼경 됨.

UNTITL~4.PNG

결론

  • PBR을 적용 시킬 수 있는 구성에선, 반드시 SLA과 Tack을 생각하여 구성하는게 좀 더 바람직한 아키텍처가 나올거 같다는 생각이 듬.

참조 사이트

https://community.cisco.com/t5/switching/pbr-and-verify-availability/td-p/3321623

https://www.cisco.com/c/ko_kr/support/docs/ip/ip-routed-protocols/47121-pbr-cmds-ce.html