본문 바로가기
네트워크/기초 학습

prefix-list와 route-map

by CBROJIN 2025. 10. 7.

prefix-list와 route-map의 동작 원리

1. prefix-list는 ‘주소를 고르는 조건문’이다

prefix-list는 네트워크 주소를 선택하는 필터(조건문) 역할을 한다.
즉, “어떤 네트워크를 통과시킬지, 막을지”를 정하는 규칙표.

ip prefix-list TEST seq 5 permit 192.168.0.0/16 le 32

이건 “192.168.0.0/16 ~ 192.168.x.x/32 범위 안의 모든 주소를 허용”한다는 뜻이다.


2. 0.0.0.0/00.0.0.0/0 le 32는 완전히 다르다

이 두 개를 같은 뜻으로 착각할 수 있지만, 실제로는 완전히 다르다.

명령어 의미 예시
0.0.0.0/0 기본 경로(Default Route) 하나만 의미 “모든 트래픽을 한 곳으로 보내라”는 디폴트 게이트웨이
0.0.0.0/0 le 32 /0부터 /32까지 모든 네트워크를 전부 포함 즉, “세상 모든 네트워크”

따라서 deny 0.0.0.0/0은 “기본 경로 하나만 차단”이고,
deny 0.0.0.0/0 le 32는 “모든 네트워크 전부 차단”이라는 의미가 된다.


3. route-map은 ‘조건문을 실행하는 순서표’다

route-map은 prefix-list를 실제 정책으로 적용시키는 명령 집합.

route-map SKT-OUT deny 10
 match ip address prefix-list SKT-OUT
route-map SKT-OUT permit 100

 

  1. prefix-list SKT-OUT에 해당하는 네트워크를 찾아서 deny(차단) 해라.
  2. 그 밖의 나머지 네트워크들은 permit(허용) 해라.

즉, 첫 번째 줄이 “막을 것”이고, 두 번째 줄이 “나머지 허용”.


4. “permit 100”은 왜 굳이 넣을까?

그 이유는 route-map에는 ‘암묵적인 deny all’ 이 존재하기 때문이다.
만약 아무 조건에도 매칭되지 않으면, 그 경로는 기본적으로 차단된다.

그래서 “나머지는 허용”을 명시적으로 표현하기 위해 마지막에 permit 100을 넣는다.

이유 설명
명시적 허용 “이 route-map은 일부만 차단하고 나머지는 허용한다”는 것을 명확히 표현하기 위해
미래 확장성 나중에 prefix-list 조건을 바꿔도 나머지 네트워크는 자동으로 통과되도록 하기 위해

5. 실제 구성 예시별 의미 정리

중요 : match ip address prefix-listprefix-list에서 permit된 항목만 매칭한다. (deny는 "매칭되지 않음"을 의미)

 

예시 A: 디폴트만 허용, 나머지 차단

ip prefix-list SKT-OUT seq 5 deny 0.0.0.0/0
ip prefix-list SKT-OUT seq 10 permit 0.0.0.0/0 le 32
route-map SKT-OUT deny 10
 match ip address prefix-list SKT-OUT
route-map SKT-OUT permit 100

 

  • 0.0.0.0/0 → prefix-list에서 deny → route-map 10에 매칭되지 않음permit 100에서 허용 
  • 그 외 모든 경로 → prefix-list에서 permit → route-map 10에서 차단  → 결론: "디폴트만 허용, 나머지 차단" 구조.

예시 B: 디폴트만 차단, 나머지 허용

ip prefix-list SKT-OUT seq 5 permit 0.0.0.0/0
route-map SKT-OUT deny 10
 match ip address prefix-list SKT-OUT
route-map SKT-OUT permit 100

 

  • 0.0.0.0/0 → prefix-list에서 permit → route-map 10에서 차단 
  • 그 외 모든 경로 → prefix-list에 매칭되지 않음permit 100에서 허용  → 결론: "디폴트만 차단, 나머지 허용" 구조.

참고: prefix-list에 deny 0.0.0.0/0 le 32 같은 줄을 추가해도 route-map 매칭에는 영향을 주지 않는다(route-map은 prefix-list의 permit만 매칭으로 본다). 따라서 예시 B처럼 디폴트만 permit 한 줄이면 충분하다.


6. 정리 요약

구성 요소 의미 역할
prefix-list 네트워크 선택 필터 어떤 경로를 막거나 허용할지 지정
0.0.0.0/0 기본 경로 하나 디폴트 게이트웨이만 의미
0.0.0.0/0 le 32 모든 네트워크 전체 주소 범위 의미
route-map deny 매칭된 네트워크 차단 prefix-list 조건을 실행함
route-map permit 100 나머지 허용 암묵적 deny를 방지하고 확장성 확보

 

7. prefix-list 활용

prefix-list를 단독으로 쓰는 경우 → permit/deny가 그대로 “허용 / 차단” 의미
prefix-list를 route-map에 붙여서 쓰는 경우 → permit만 “True(매칭됨)” 으로 간주되고, deny는 “False(매칭 안 됨)” 으로만 해석

즉, 같은 prefix-list라도 적용되는 위치(맥락)에 따라 동작 방식이 다르다는 게 핵심.


1) prefix-list를 단독으로 쓸 때

예를 들어 OSPF나 BGP 필터 명령에 직접 붙이면,
permit과 deny가 그대로 의미를 가진다.

경로 구분 동작
0.0.0.0/0 deny OSPF에서 수용하지 않음 (차단) 
나머지 경로(/1~32) permit OSPF에서 허용함 (수용)

즉, prefix-list가 OSPF나 BGP에 직접 걸릴 때는
deny는 진짜 거부, permit은 허용의 의미로 동작한다.


2) prefix-list를 route-map 안에서 쓸 때

prefix-list의 permit/deny 자체가 “허용/차단”을 의미하지 않고,
그냥 “매칭 조건 결과(True/False)” 로만 사용된다.

route-map SKT-OUT deny 10 match ip address prefix-list SKT-OUT

 

  • prefix-list에서 permit된 네트워크 → “match 성공(True)” → route-map이 처리
  • prefix-list에서 deny된 네트워크 → “match 실패(False)” → route-map이 무시

즉, 여기서 “차단”할지 “허용”할지는 route-map의 permit/deny가 결정하고,
prefix-list는 단지 “이 네트워크가 해당 조건에 들어오나?”만 판정하는 역할을 한다.

'네트워크 > 기초 학습' 카테고리의 다른 글

NTP 실습  (0) 2025.09.25
DHCPv4 실습  (5) 2025.08.12
ACL 실습  (3) 2025.08.11
NAT 실습  (0) 2025.08.10
Cisco 장비 SSH 원격 접속 실습  (2) 2025.08.10