본문 바로가기
network/ccie-bgp

Filtering with Prefix-Lists

 
Requirements for Prefix-Based Filters

- 해당 네트워크만 필터링 할떄 사용 하는 필터링 
- 전통적인 prefix  filter 는 acl을 이용한 distrbute 를 이용하는데 , 이는 서브넷을 매칭 하기 힘들며,
acl은 번호 별로 검사를 해야 하는 단점이 있다.
또한 acl은 수정하기 힘들며(numbered 기준),확장 acl은  config 가 힘든 단점이 있다.
-> 이를 해결하고자 ip prefix 를 이용 한다.

-top-bottom 으로 수행 되며, 5단위로 쪼개어 5,10,15... 로 올라 간다.
- prefix list 는 수정 추가 삭제가 acl에 비해 편하며, acl은 패킷 필터링 이지만 prefix list 는 route 차단이 목적이다.
 

 

 

 


## prefix list 기본설정 방법
router(config)#ip prefix-list list-name [seq seq] {permit|deny} network/len [ge value이상] [le value이하

- 아래 그림 처럼 기본적인 설정은  정확히 매칭 되는 route 정보만 매칭 된다.

 



- 기본 설정에 추가적으로 le,ge설정으로 범위 설정을 통해 해당 범위를 filtering 할 수 있다.

-   아래 mylist 16 le 20 는 16 비트 중에서 20 보다 작은 것이야기 한다. 

- 16/ge 18 은 16 비트 중에서 18보다 큰것을 이야기 한다.


- 무조건 앞에 네트워크 대역을 기준으로 이상인지 이하 인지 확인 한다.


## prefix-list 설정 방법
router(config-router)#neighbor {ip-address|peer-group-name} prefix-list prefix-listname {in|out}

## prefix-list 설정 방법(distribute)
router(config-router)#distribute-list prefix-list prefix-list out routing-process

- 아래 그림 처럼 172.16.0,0/16 중 24 비트 보다 작은 것만 필터링 해서 들어 오게 된다.




- 아래 그림은 128.0.0.0/2 중 20비트 보다 작고, 전체 네트워크에서 24 비트 보다 작은 네트워크만 받을 경우 
-> 이예제는 잘못된 예제 임-> 0.0.0.0/0 24 를 하면 b클래스 24 까지 허용 되니 deny 를 먼저 하고 해야 한다.



## 리스트 확인
router# show ip prefix-list list-name [detail|summary]

## 해당 seq 리스트 삭제
router(config)#no ip prefix-list seq seq condition

## 추가 가능
router(config)# ip prefix-list seq seq condition

## show ip prefix-list detail를 통해 상세 정보 확인

 



- 아래 예제는 10.0.0.0/8 le 32 는 10.0.0.0 네트워크의 8bit 네트워크 (10.0.0.0 ~10.255.255.255) 중
32비트보다 작은 서브넷을 가지고 있기 때문에 10.0.0.0/8 ~10.0.0.0 /32 중 네트워크에 포함 되있을 경우 permit 하는 예제 이다.
bgp table 에서 서브넷이 포함 되어 있지 않는 경우는 major network 만 광고 되어 있는 summary 이기 때문에 
A클래스 8비트로 인식 하여 허용 된 것이다.


- 기존 아래와 같은 bgp table 을 가지고 있는 상태에서 prefix-list 를 이용 하여 filtering test를 진행 해 본다.
- 지금은 32bit, 24bit 그리고 33.0.0.0 은 major network 정보로 구성 되어 있다.

 


##  아래와 같이 ip prefix-list 32permit permit 0.0.0.0/0 ge 32 를 통해 모든 네트워크가 32bit보다 큰 네트워크만 허용 하는 테스트를 한다
(기본적으로 모든 네트워크를 허용 하지 않는 경우 acl 과 동일하게 deny 되어 있다.)

R7(config)#ip prefix-list 32permit permit 0.0.0.0/0 ge 32

## 그리고 해당 prefix-list 를 neigbor 에게 filtering 한다 이때 자신에게 들어오늘 네트워크정보이기에, in 으로 설정 하며
## 만약 자신이 광고 하는 네트워크를 필터링시 외부 나가기 때문에 out 를 설정하여 필터링 한다.

R7(config-router)#neighbor 네이버아이피  prefix-list 32premit in

- 적용후 아래와 같이 32bit 서브넷만 사용하는 네트워크가 bgp table 에 있는 것을 확인 할 수 있다.

 


- debug를 통해 update packet 를 확인 하면 ignored 되거나 prefix-list에 의해 denied 되는 것 을 확인 할 수 있다.

 

 

반응형

'network > ccie-bgp' 카테고리의 다른 글

Implementing Changes in BGP Policy  (0) 2016.03.05
Route-maps are very complex access-lists  (0) 2016.03.05
Employing AS-Path Filters  (0) 2016.03.05
Using Multihomed BGP Networks  (0) 2016.03.05
Outbound Route Filtering  (0) 2016.03.04