이번 장은 BGP route filtering을 다룬다.
BGP에서 중요한 것은 route를 받는 것만이 아니다.
어떤 route를 받을지, 어떤 route를 광고할지 통제해야 한다.
잘못된 prefix를 광고하면 외부 통신 장애나 routing loop, 보안 문제가 생길 수 있다.
이번 장의 목표는 다음과 같다.
Prefix-list로 prefix를 필터링하는 방법을 이해한다.
Route-map으로 match와 set을 함께 사용하는 구조를 본다.
BGP neighbor 방향별 filtering을 정리한다.
- Filtering이 필요한 이유
BGP는 많은 경로를 교환할 수 있다.
하지만 모든 경로가 항상 필요한 것은 아니다.
내부 private prefix를 외부로 광고하면 안 된다.
특정 고객 prefix만 upstream으로 보내야 할 수도 있다.
외부에서 들어오는 불필요한 route를 제한해야 할 수도 있다.
- Prefix-list 기본
Prefix-list는 prefix와 prefix 길이를 기준으로 route를 매치한다.
예시는 다음과 같다.
ip prefix-list OUR\_PREFIX permit 10.10.10.0/24 ip prefix-list OUR\_PREFIX deny 0.0.0.0/0 le 32
이 설정은 10.10.10.0/24만 허용하고 나머지는 거부한다.
- BGP Neighbor에 적용
Prefix-list는 neighbor 방향에 적용할 수 있다.
router bgp 65001 neighbor 203.0.113.2 prefix-list OUR\_PREFIX out
out은 내 router가 neighbor에게 광고하는 route를 필터링한다.
in은 neighbor에게서 받아오는 route를 필터링한다.
- Route-map과 함께 쓰기
Route-map은 prefix matching뿐 아니라 attribute 변경에도 사용된다.
예시는 다음과 같다.
``` ip prefix-list CUSTOMER permit 10.10.10.0/24
route-map SET_LP permit 10 match ip address prefix-list CUSTOMER set local-preference 200
router bgp 65001 neighbor 203.0.113.2 route-map SET_LP in ```
이 구성은 특정 prefix를 매치하고 local preference를 바꾼다.
- 검증 명령
다음 명령을 사용한다.
show ip prefix-list show route-map show ip bgp show ip bgp neighbors 203.0.113.2 advertised-routes show ip bgp neighbors 203.0.113.2 received-routes
환경에 따라 received-routes는 soft reconfiguration이 필요할 수 있다.
- 실수하기 쉬운 부분
Prefix-list에는 순서가 있다.
명시적으로 permit하지 않으면 마지막에는 deny처럼 동작한다.
in과 out 방향을 반대로 넣으면 의도와 다른 route가 필터링된다.
Route-map도 sequence 순서대로 평가된다.
- 핵심 정리
BGP filtering은 route control의 기본이다.
Prefix-list는 prefix 기준 필터링에 적합하다.
Route-map은 match와 set을 함께 처리한다.
Neighbor 방향 in과 out을 반드시 구분해야 한다.
- 다음 장 예고
다음 장에서는 OSPF summarization과 stub area를 다룬다.
OSPF area를 나눈 뒤 route를 줄이고 안정성을 높이는 방법을 본다.



댓글 0
댓글은 운영자만 작성할 수 있어요.