본문 바로가기
Network/Network기초

34.[Filtering] prefix-list

by JINJINC 2023. 3. 13.
728x90
반응형

 

Prefix-list 명령어

  • prefix-list 는 대소문자 구분한다.(★)
  • ge 나 le 옵션이 없으면, 여기서 명시하는 서브넷 마스크를 가진 네트워크만 지정된다.
  • ge(greater or equal) : ge 24란 서브넷 마스크의 길이가 24부터 32 비트까지인 네트워크 모두를 의미한다.
  • le(less or equal) : 10.1.1.0/16 le 24란 서브넷 마스크의 길이가 16부터 24비트까지인 네트워크 모두를 의미한다.
  • prefix-list도 마지막에는 항상 'deny 0.0.0.0/0 le 32' 즉, '나머지 모든 네트워크는 차단하라'는 묵시적인 문장이 있다.
  • 특별히 번호를 부여하지 않으면 자동으로 처음 문장은 5번, 이후로는 10, 15, 20 등 으로 증가한다.
  • 기존에 만들어진 프리픽스 리스트의 특정한 문장 사이에 새로운 것을 위치시키려면 seq 옵션을 사용한다.
ip prefix-list [name] (seq [number] ) [permit/deny 조건] show ip prefix-list
router ospf [ospf number]
distribute-list [aceesslist-number] in [interface serial]
or
distribute-list prefix [prefix- name] in [interface serial]

(config)# access-list [number] [deny/permit 조건]
(config)# ip prefix-list [prefix- name] [deny/permit 조건]

※ rip,eigrp등과 달리 OSPF에서는 라우팅 정보를 인터페이스에서 송신할 때에는 차단할 수 없다. 

그렇기 때문에 ospf 안에 직접 distribute-list를 이용하여 입력해 주어야 한다. 

 

ip prefix-list NETS (seq 7) deny 1.1.7.0/24

# show ip prefix-list

EX> 0.0.0.0/0 : 디폴트 루트

EX> 0.0.0.0/0 le 32 : 모든 네트워크

EX> 0.0.0.0/0 ge 8 le 24 : 서브넷 마스크 길이가 8 이상 24 이하인 모든 네트워크

EX> 1.1.2.0/24 : 정확히 1.1.2.0/24 네트워크만

EX> 1.1.0.0/16 ge 25 ( 1.1.0.0/16 ge 25 le 32 ) : 1.1/16 네트워크중에서 서브넷 마스크 길이가 25비트 이상인 네트워크 EX> 1.1.0.0/16 le 24 : 1.1/16 네트워크중에서 서브넷 마스크 길이가 24비트 이하인 네트워크

EX> 1.1.0.0/16 ge 24 le 24 : 1.1/16 네트워크중에서 서브넷 마스크 길이가 정확히 24비트인 네트워크, (1.1.0.0/24 부터 1.1.255.0/24 네트워크 256개를 의미)

EX> 1.1.2.0/24 le 16 : 잘못된 사용예이다. ( le 다음의 값은 항상 '/' 다음의 값보다 커야 하기 때문( len < le) 이다. )

 

rip, EIGRP 등과 달리 ospf에서는 라우팅 정보를 인터페이스에서 송신할 때에는 차단할 수 없다.

R1의 기존 라우팅 테이블

<1>

Router(config)#ip prefix-list D0 deny 3.3.3.0/24
Router(config)#ip prefix-list D0 deny 4.4.4.0/24
Router(config)#ip prefix-list D0 permit 0.0.0.0/0 le 32

Router(config)#router ospf 1
Router(config-router)#distribute-list prefix D0 in s1/0

⇒ 0/0 le 32 = > 0 에서 32 까지의 모든 범위를 말한다.

만약 ge일 경우 0/23 ge ⇒ 23에서 32까지의 범위를 말한다.

prefix-list로 조건을 예제1처럼 조건을 주고 난 후의 라우팅 테이블

⇒ s1/0의 통로를 통해서는 주소를 받지 않습니다.

s1/0의 주소로는 2.2.2.0의 주소만 통할 수 있습니다.

 

<조건 2>

Router(config)#router ospf 1
Router(config-router)#distribute-list prefix D1 in s1/1
Router(config-router)#exit

Router(config)#ip prefix-list D1 deny 2.2.2.0/24
Router(config)#ip prefix-list D1 deny 4.4.4.0/24
Router(config)#ip prefix-list D1 permit 0.0.0.0/0 le 32

⇒ 1.1.23.2 s1/1의 통로로는 3.3.3.0/24의 대역대만 통과할 수 있다.

두 조건의 결과로 4.4.4.0는 s1/1,s1/0의 두 통로로는 통과할 수 없게되어 한개의 통로만 남게되었다.

<조건 3>

Router(config)#router ospf 1
Router(config-router)#distribute-list prefix D2 in s1/2
Router(config-router)#exit

Router(config)#ip prefix-list D2 deny 2.2.2.0/24
Router(config)#ip prefix-list D2 deny 3.3.3.0/24
Router(config)#ip prefix-list D2 permit 0.0.0.0/0 le 32

⇒ s1/2의 통로에는 이미 4.4.4.0의 대역대만 통과하게 만들기 위해, 2.2.2.0/24 와 3.3.3.0/24의 대역대를 차단하게 하여

한 통로당 한개의 대역대만 지나갈 수 있도록 조건을 모두 걸어주었습니다.

⇒ 인터페이스 지정은 rotuer 프로토콜에 걸어주고, 해당 프리픽스의 조건은 config상태에서 걸어준다.

 

< access-list >

<위의 prefix대신해서 access-list로 설정해서 조건을 주어보자>

Router(config)#router ospf 1
Router(config-router)#distribute-list 10 in s1/0
Router(config-router)#distribute-list 20 in s1/1
Router(config-router)#distribute-list 30 in s1/2

Router(config)#access-list 10 deny 3.3.3.0 0.0.0.255
Router(config)#access-list 10 deny 4.4.4.0 0.0.0.255
Router(config)#access-list 10 permit 0.0.0.0 255.255.255.255
Router(config)#
Router(config)#access-list 20 deny 2.2.2.0 0.0.0.255
Router(config)#access-list 20 deny 4.4.4.0 0.0.0.255
Router(config)#access-list 20 permit 0.0.0.0 255.255.255.255
Router(config)#
Router(config)#access-list 30 deny 2.2.2.0 0.0.0.255
Router(config)#access-list 30 deny 3.3.3.0 0.0.0.255
Router(config)#access-list 30 permit 0.0.0.0 255.255.255.255

⇒위의 prefix방식과 똑같은 결과를 얻을 수 있다.

 

<named ACL>

ip access-list standard D0
deny 3.3.3.0 0.0.0.255
deny 4.4.4.0 0.0.0.255
permit any

ip access-list standard D1
deny 2.2.2.0 0.0.0.255
deny 4.4.4.0 0.0.0.255
permit any

ip access-list standard D2
deny 3.3.3.0 0.0.0.255
deny 2.2.2.0 0.0.0.255
permit any 

 router ospf 1
distribute-list D0 in s1/0
distribute-list D1 in s1/1
distribute-list D2 in s1/2

Route-map 명령어

  • route-map은 모든 문장 번호가 10 이므로 두 번째 문장부터는 직접 번호를 지정해 주어야 한다.(★)
  • access-list, prefix-list 처럼 route-map의 맨 마지막 문장도 묵시적으로 '나머지는 모두 차단하라'는 것이다.(★)
  • deny, permit 등을 지정하지 않으면 기본값은 permit 10 이다.(★)
  • match나 set 문장중 하나가 없거나 모두 없는 루트맵을 사용할 수도 있다.(★)
<route-map 만들기>
route-map [permit/deny] [ MAP name]  [ list-number]
match ip address prefix-list [prefix-list name]
match ip address  [acl number]
set local-preference / metric 

EX> match 와 set 명령어가 모두 있는 루트맵

route-map [permit] MAP1
match ip address prefix-list LIST1
set local-preference 10000 LIST1

에 해당하면 로컬 프레퍼런스를 10000으로 설정하고,LIST1에 해당되지 않는 나머지 모든 네트워크는 차단한다.

EX> match 와 set 명령어가 모두 없는 문장

route-map MAP2 [permit] 30 '

나머지 모든 네트워크는 별도의 수정없이 그대로 허용' 하라는 의미이다.

EX> set 명령어가 없는 문장

route-map [permit] MAP3
match ip address prefix-list LIST1 

LIST1에 해당하면 별도의 수정없이 그냥 받아 들이게 하는 루트맵이다.

EX> match 명령어가 없는 문장

route-map [permit] MAP4 set metric 10000 모든 네트워크의 MED 값을 1000으로 설정하는 루트 맵이다.

▶ OR 개념

ACL 11 or ACL 12 
route-map TEST [permit] 10
match ip address 11 12

ACL 11 또는 ACL 12 둘중에 하나만 만족해도 Seq 10 동작 실시

▶ AND 개념

ACL 11, ACL 12

route-map TEST [permit] 10
match ip address 11
match ip address 12

ACL 11과 ACL 12 두 항목이 만족해야지만 SEq 10 동작 실시

 

1. 사용 용도 : 네트워크 정의, 필터링, 정책2. Route-Map 동작 과정 :

a. 위에서부터 아래로 검사 및 실행 

b. 명시하지 않는한 마지막에 전체 deny가 동작한다. 

c. TEXT로 정책 이름을 생성한다. 

d. 'match' 명령어를 이용하여 조건을 생성한다.

 e. 'set' 명령어를 이용하여 조건에 대해서 액션을 실시한다. 

f. 경우에 따라서 AND, OR 개념으로 조건을 만들수 있다. 

g. 추가/삭제/수정이 가능하다. 

h. 모듈화 정책의 시초이다.

 

2. Route-Map 사용 구간

1)NAT 2) 필터링 3) 재분배 정책 4) BGP 정책 5) PBR 정책 6) Qos 정책

 

내가 내린 결론 !!

route-map [route-map name] permit

match ip address prefix-list [prefix name]

match ip address [accesslist name]

permit의 경우 accesslist나 prefix-list에서 permit 으로 적은 주소들만 받아오게된다.

deny의 경우 또한 accesslist나 prefix-list에서 deny 으로 적은 주소들만 받아오게된다.

예를 들어

조건에 4.4.4.0 deny / 2.2.2.0 permit / 3.3.3.0 permit 이 조건인 경우 ( TEST1)

route-map MAPD deny match ip address prefix-list TEST1

ospf 에 나타냈을 때 4.4.4.0 deny 조건이였던 주소만 수용되고 나머지는 모두 버려집니다.

route-map MAPP permit

match ip address prefix-list TEST1

ospf에 route-map을 넣어주었을때, 2.2.2.0 permit, 3.3.3.0 permit의 조건의 ip만 받아서 수용 시켜주고, deny의 조건은 버려집니다.

728x90
반응형

'Network > Network기초' 카테고리의 다른 글

35.[Filtering] - 재분배, tag  (0) 2023.03.13
34.Filtering  (0) 2023.01.11
33.frame-relay 종합  (0) 2023.01.11

댓글