BGP을 운영하다보면 특정 회선에서 Maintenance가 종종 발생합니다.
이런 경우 사용하는 회선 사용을 중단하고 가용한 다른 회선으로 트래픽을 옮겨야 합니다.
트래픽을 엔진이러링하는데 있어 여러 BGP 속성들이 있고, 이를 사용하면 트래픽을 사용을 원하는 회선으로 옮길 수 있습니다.
하지만 ISP Maintenance으로 인해 사용중인 전체 트래픽을 옮길경우 어떻게 해야할까요?
저 같은 경우는 Prefix-list와 Route-map을 이용하여 트래픽을 사용 가능한 곳으로 이동합니다.
그럼 어떻게 트래픽을 간단이 이동 하는지 알아 보겠습니다.
그림과 같이 GTT 회선이 작업 예정이라면, 작업 전에 Telia로 모든 트래픽을 옮깁니다.
옮길 때에 TCP / BGP Session (EST)을 유지합니다.
우선 적용을 하기 위해서 Prefix-list 을 아래와 같이 정의합니다.
=== Prefix-List Configuration
ip prefix-list pl_deny-any seq 10 deny 0.0.0.0/0 le 32
위 구문의 의미는 "pl_deny-any" prefix-list name을 정의하고 0.0.0.0/0 ~ 255.255.255.255/32 에 대해서
"deny" 하겠다는 것입니다.
위 구문을 route-map을 이용하게 된다면 상위 ISP로 부터 모든 받는 prefix-list을 받지 않겠다는 것이므로 BGP Status 는 EST를
유지하며 모든 prefix-list을 거부할 수 있습니다.
route-map을 아래와 같이 쉽게 정의할 수 있습니다.
=== Route-Map Configuration
route-map rm_deny-any permit 10
match ip address prefix-list pl_deny-any
위 route-map 구문은 "rm_deny-any" name으로 정의되고 액션은 permit입니다. 조건은 prefix-list 가 "pl_deny-any"에
match 되어야 합니다.
위와 같이 route-map을 만들어 준다음 bgp 설정에 작업이 예정되어 있는 peer에게 "in" , "out"에 설정하면 ISP 작업 시간동안은
상위로 부터 받는 , 그리고 Router에 보내는 prefix-list가 없게 됩니다.
=== BGP Configuration
router bgp 12345
neighbor 111.111.111.1 remote-as 3257
neighbor 111.111.111.1 desc GTT_ISP
neighbor 111.111.111.1 remote-private-as
neighbor 111.111.111.1 send-community
neighbor 111.111.111.1 route-map rm_deny-any in
neighbor 111.111.111.1 route-map rm_deny-any out
제대로 설정이 된다면 아래와 같이 received prefix-list 와 active prefix-list가 "0","0"으로 보이게 되고
BGP Status는 "EST" 상태가 유지 됩니다.
bb4-wbd1-sea#sh ip bgp sum | i 3257
111.111.111.1 4 3257 68850513 737496 0 0 256d01h Estab 0 0
이후 ISP maintenance가 완료된다면 기존에 사용했던 route-map으로 원복하면 됩니다.
BGP 운영을 하는데 있어 ISP Maintenance을 어떻게 지원하는지 간단하게 정리했습니다.
혹시 궁금하신 점이 있다면 답글 바랍니다.
감사합니다.
좋은 글 감사합니다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit