이 문서에서는 동적 라우팅 프로토콜의 redistribute 명령과 함께 적용되는 경로 맵을 구성하는 데 사용할 수 있는 명령에 대해 설명합니다.또한 이 문서에는 route-map 기능에 대한 팁과 route-map 컨피그레이션이 가장 유용할 경우에 대한 조언도 포함되어 있습니다.
route-map 기능은 Cisco IOS® 소프트웨어 구성의 일반적인 메커니즘입니다.PBR(Policy-based Routing) 및 BGP(Border Gateway Protocol) 인접 디바이스 업데이트 수정과 같이 여러 작업에 적용할 수 있습니다.route-map의 가장 일반적인 용도 중 하나는 동적 라우팅 프로토콜 간에 재배포된 경로에 이를 적용하는 것입니다.이 문서에서는 이러한 유형의 재배포를 구성할 때 경로 맵의 가능성을 살펴봅니다.
이 문서에 대한 특정 요건이 없습니다.
이 문서의 정보는 메인라인 Cisco IOS Software 릴리스 12.3을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참조하십시오.
이 섹션에서는 Cisco IOS 소프트웨어의 경로 맵에 대한 개요를 제공합니다.
경로 맵에는 널리 알려진 ACL(Access Control List)과 공통되는 여러 기능이 있습니다. 두 메커니즘에 공통적으로 적용되는 몇 가지 특징은 다음과 같습니다.
각 문은 허용 또는 거부 결과를 가진 순서가 지정된 개별 명령문 시퀀스입니다.ACL 또는 경로 맵의 평가는 목록 스캔, 미리 정의된 순서, 일치하는 각 문의 기준 평가로 구성됩니다.첫 번째 문 일치 항목이 발견되고 명령문 일치와 관련된 작업이 수행되면 목록 스캔이 중단됩니다.
일반적인 메커니즘입니다. 기준 일치 및 일치 해석은 적용 방법에 따라 결정됩니다.다른 작업에 적용된 동일한 경로 맵이 다르게 해석될 수 있습니다.
다음은 경로 맵과 ACL의 몇 가지 차이점입니다.
경로 맵은 ACL을 매칭 기준으로 자주 사용합니다.
액세스 목록 평가의 주요 결과는 예 또는 아니요 응답입니다. ACL은 입력 데이터를 허용하거나 거부합니다.재배포에 적용되는 ACL은 특정 경로가 재배포될 수 있는지(경로가 ACL permit 문과 일치) 또는 재배포할 수 없는지(deny 문과 일치) 여부를 결정합니다.일반적인 경로 맵은 재배포된 경로를 허용할 뿐만 아니라 다른 프로토콜로 재배포될 때 경로와 관련된 정보를 수정합니다.경로 맵 수정 예는 이 문서의 Route-Map Basics 섹션을 참조하십시오.
경로 맵은 ACL보다 유연하며 ACL에서 확인할 수 없는 기준에 따라 경로를 확인할 수 있습니다.예를 들어 경로 맵은 경로 유형이 내부인지 또는 특정 태그가 있는지 확인할 수 있습니다.
각 ACL은 설계 규칙에 따라 암시적 거부 문으로 끝납니다.route-maps에는 유사한 규칙이 없습니다.일치하는 시도 중에 경로 맵의 끝에 도달하면 그 결과는 경로 맵의 특정 애플리케이션에 따라 달라집니다.다행히도 재배포에 적용되는 경로 맵은 ACL과 동일한 방식으로 작동합니다.경로가 route-map의 어떤 절과도 일치하지 않으면 경로 재배포가 거부됩니다. 마치 경로 맵에 deny 문이 포함되어 있는 것처럼 보입니다.
dynamic protocol redistribute configuration 명령을 사용하면 ACL 또는 route-map을 적용할 수 있습니다.이 섹션에서 설명하는 차이점은 재배포 중에 route-map을 사용해야 하는 시기를 식별합니다.재배포 중에 경로 정보를 수정하거나 ACL에서 제공할 수 있는 것보다 더 강력한 일치 기능이 필요한 경우 경로 맵을 사용하는 것이 좋습니다.반대로, 접두사 또는 마스크에 따라 일부 경로를 선택적으로 허용해야 하는 경우, Cisco에서는 redistribute 명령에서 직접 ACL(또는 등가 접두사 목록)을 사용하는 것이 좋습니다.route-map을 사용하여 접두사 또는 마스크를 기반으로 일부 경로를 선택적으로 허용할 경우 일반적으로 동일한 목표를 달성하기 위해 더 많은 컨피그레이션 명령을 사용합니다.경로 맵은 항상 인바운드 트래픽에 적용되며 경로 맵은 아웃바운드 트래픽에 영향을 미치지 않습니다.
이는 redistribute 명령에 적용되는 일반적인 OSPF-to-EIGRP(Open Shortest Path First to Enhanced Interior Gateway Routing Protocol) 경로 맵입니다.
! router eigrp 1 redistribute ospf 1 route-map ospf-to-eigrp default-metric 20000 2000 255 1 1500 !--- Output suppressed. ! route-map ospf-to-eigrp deny 10 match tag 6 match route-type external type-2 ! route-map ospf-to-eigrp permit 20 match ip address prefix-list pfx set metric 40000 1000 255 1 1500 ! route-map ospf-to-eigrp permit 30 set tag 8 !
이 예에는 다음과 같은 몇 가지 요점이 있습니다.
경로 맵 절은 번호가 매겨집니다.이 예에서 절은 순차 번호 10, 20 및 30을 갖습니다. 순차 번호를 사용하여 다음 작업을 수행할 수 있습니다.
하나의 특정 절을 쉽게 삭제하지만 route-map의 다른 부분에는 영향을 주지 않습니다.
두 기존 절 사이에 새 절을 삽입합니다.
Cisco에서는 나중에 절을 삽입해야 할 경우에 대비하여 번호 지정 공간을 예약하기 위해 10 간격의 숫자 절을 지정하는 것이 좋습니다.
경로 맵에는 허용 및 거부 절이 있을 수 있습니다.route-map ospf-to-eigrp에는 하나의 deny 절(시퀀스 번호 10)과 두 개의 permit 절이 있습니다.deny 절은 재배포에서 경로 일치를 거부합니다.따라서 다음 규칙이 적용됩니다.
route-map permit 절에서 ACL을 사용하는 경우 ACL에서 허용하는 경로가 재배포됩니다.
route-map deny 절에서 ACL을 사용하는 경우 ACL에서 허용하는 경로는 재배포되지 않습니다.
route-map permit 또는 deny 절에서 ACL을 사용하는 경우 ACL이 경로를 거부하면 route-map 절 매칭이 발견되지 않고 다음 route-map 절이 평가됩니다.
각 route-map 절에는 두 가지 유형의 명령이 있습니다.
match - 이 절을 적용할 경로를 선택합니다.
set - 대상 프로토콜에 재배포될 정보를 수정합니다.
재배포되는 각 경로에 대해 라우터는 먼저 route-map에서 절의 match 명령을 평가합니다.일치 기준이 성공하면 permit 또는 deny 절에 의해 지정된 대로 경로가 재배포되거나 거부되며, 일부 특성은 set 명령에 의해 수정될 수 있습니다.일치 기준이 실패하면 이 절은 경로에 적용되지 않으며, Cisco IOS 소프트웨어는 경로 맵의 다음 절에 대해 경로를 평가합니다.경로 맵의 스캔은 match 명령이 경로와 일치하거나 경로 맵의 끝에 도달할 때까지 계속됩니다.
다음 조건 중 하나가 있는 경우 각 절의 match 또는 set 명령을 여러 번 놓치거나 반복할 수 있습니다.
절에 여러 match 명령이 있는 경우 해당 경로가 절을 일치시키기 위해 지정된 경로에 대해 모두 성공해야 합니다(즉, 여러 match 명령에 대해 논리적 AND 알고리즘이 적용됩니다).
match 명령이 하나의 명령에서 여러 객체를 참조하는 경우 두 명령 중 하나가 일치해야 합니다(논리적 OR 알고리즘이 적용됨). 예를 들어 match ip address 101 121 명령에서 액세스 목록 101 또는 액세스 목록 121에 의해 허용되는 경우 경로가 허용됩니다.
match 명령이 없으면 모든 경로가 절에 일치합니다.앞의 예에서는 절 30에 도달하는 모든 경로가 일치합니다.따라서 route-map의 끝에 도달하지 않습니다.
set 명령이 route-map permit 절에 없는 경우 경로는 현재 특성을 수정하지 않고 재배포됩니다.
deny 절은 경로 재배포를 금지하므로 set 명령을 deny route-map 절에서 구성하지 마십시오. 수정할 정보가 없습니다.
match 또는 set 명령이 없는 route-map 절은 작업을 수행합니다.빈 permit 절은 수정 없이 나머지 경로를 재배포할 수 있습니다.빈 deny 절은 다른 경로의 재배포를 허용하지 않습니다(경로 맵이 완전히 검사되었지만 명시적인 일치 항목을 찾지 못한 경우 이는 기본 작업입니다).
이 섹션의 정보를 기반으로 이전 OSPF-to-EIGRP route-map 예는 다음과 같은 작업을 수행합니다.
태그 6이 설정된 모든 Type-2 외부 OSPF 경로의 재배포를 금지합니다.
pfx 접두사 목록과 일치하는 모든 경로를 EIGRP에 재배포하고 5개의 메트릭 값(4000, 1000, 255, 1 및 1500)을 사용합니다.
다른 모든 경로를 재배포하고 해당 태그를 8(기본값)으로 설정합니다.
이 섹션에서는 다음 항목을 다룹니다.
Route-maps는 이전에 설명한 redistribute 명령을 포함하여 여러 컨피그레이션에서 사용할 수 있는 일반 메커니즘입니다.예를 들어 특정 길이의 패킷이 전달될 때 특수 작업이 수행되도록 지정하려면 PBR용 route-map에서 match length 명령을 구성할 수 있습니다.그러나 재배포에 적용된 경로 맵에서는 match length 명령을 사용하지 않습니다.
route-map이 적용되거나 나중에 적용되도록 되어 있는 컨텍스트에서 지원되지 않거나 효과가 없는 route-map에서 match 명령을 구성하고 설정할 수 있습니다. 이러한 상황의 예는 재배포에 적용되는 경로 맵에서 사용되는 match length 명령일 수 있습니다.재배포에서 경로 맵은 라우팅 테이블에 설치된 각 경로에 redistribute 명령에 지정된 프로토콜에 의해 적용됩니다.따라서 라우터가 route-map을 실행할 때 라우터는 route-map 애플리케이션 컨텍스트에서 적합한 명령만 해석합니다.이 예에서 재배포 경로 맵에 언급된 match length 명령은 재배포에 영향을 미치지 않습니다.경로 맵의 컨피그레이션에 남아 있으며 라우터의 실행 중인 컨피그레이션에서 볼 수 있습니다.그러나 경로 재배포는 영향을 받지 않지만 이 명령이 경로 맵에 있는지 여부는 영향을 받지 않습니다.
결론적으로 라우터는 모든 종류의 match 및 set 명령을 구성할 수 있지만 상황에 논리적으로 적용해야 합니다.그렇지 않으면 컨피그레이션이 매우 혼동되거나 잘못된 작업을 수행할 수 있습니다.
다음과 같은 문제로 인해 경로 맵 컨텍스트에서 아무런 영향도 미치지 않는 명령을 사용하지 마십시오. 문제가 없는 것처럼 보이는 경우에도 마찬가지입니다.
아무런 효과가 없는 명령은 수행하려는 작업을 숨길 수 있습니다.따라서 구성이 매우 혼동됩니다.
현재 지원되지 않는 명령은 향후 Cisco IOS 소프트웨어 릴리스에서 지원될 수 있습니다.따라서 향후 소프트웨어 업그레이드 후에 경로 맵 동작에서 원치 않는 변경 사항이 나타날 수 있습니다.
모든 명령이 전혀 해를 끼치지 않습니다.예를 들어, set metric +/- 명령은 메트릭의 상대적 변경 사항을 지정하며 BGP 경로 알림에 사용됩니다.경로의 현재 메트릭을 가져와서 전파하기 전에 지정된 값으로 늘리거나 줄일 수 있습니다.
이 명령의 +/-형식은 현재 재배포 경로 맵에서 지원되지 않으며, 기호가 생략된 set metric 명령으로 실제로 해석됩니다.예를 들어 다음 route-map을 고려하십시오.
!--- This redistribution route-map is very dangerous! route-map ospf-to-ospf permit 10 set metric +2 !
이 컨피그레이션은 한 OSPF 프로세스에서 다른 OSPF 프로세스로 모든 경로를 재배포하는 동시에 모든 경로의 메트릭을 2씩 증가시키는 것으로 나타납니다.그러나 실제로 모든 경로의 메트릭은 2와 같게 설정됩니다. 라우터 컨피그레이션을 검토할 때 생각할 수 있는 것은 아닙니다.
이 경로 맵은 훨씬 더 직관적인 반대 효과를 제공합니다.
!--- This redistribution route-map is even more dangerous! route-map ospf-to-ospf permit 10 set metric -367 !
재배포된 경로의 메트릭을 줄이지 않고 이 컨피그레이션은 실제로 메트릭을 367로 설정합니다(부호 없이 설정된 메트릭을 해석하면 음수 메트릭을 사용할 수 없기 때문).
재배포에 적용되는 경로 맵은 다음 두 라우팅 프로토콜을 사용하여 작동합니다.
원래 라우팅 정보를 제공하는 프로토콜
라우팅 정보가 재배포되는 프로토콜
각 라우팅 프로토콜은 고유한 경로 특성 집합을 지원할 수 있습니다.
재배포 경로 맵 컨피그레이션에서
route-map match 명령은 재배포를 위해 원래 경로를 제공한 프로토콜에서 지원하는 경로의 특성을 확인합니다.
route-map set 명령은 경로가 재배포되는 프로토콜에서 지원하는 경로의 특성을 수정합니다.
이 문서의 명령 지원 테이블 섹션에는 명령이 나열됩니다.match 및 set 명령으로 분류되어 재배포 경로 맵의 두 가지 프로토콜 특성을 강조 표시합니다.
이 섹션에서는 redistribute 명령에 연결된 경로 맵에서 지원되는 명령에 대해 설명합니다.경로를 재배포할 수 있는 7개의 라우팅 프로토콜이 있습니다.그러나 재분배가 가능한 것은 5개에 불과합니다.연결된 경로와 고정 경로는 동적 라우팅 프로토콜이 아니며 다른 프로토콜로 재배포할 정보만 제공할 수 있습니다.
이 섹션에는 IOS Software Release 12.3 경로 맵에서 지원되지만 재배포 컨텍스트에서는 적용되지 않는 match 및 set 명령이 포함되지 않습니다.
IS-IS(Intermediate System-to-Intermediate System) 및 BGP는 IP 경로와 함께 연결 없는 네트워크 서비스(CLNS) 경로에 대한 정보를 전파할 수 있습니다.이 섹션의 표에는 CLNS 관련 명령도 언급되어 있습니다. 이 명령은 이러한 프로토콜의 경로 맵을 재배포하는 데 사용할 수 있습니다.
RIP(Routing Information Protocol), OSPF, IS-IS 및 BGP를 사용하여 IPv6 경로를 전파할 수 있습니다.이러한 프로토콜에 대한 재배포 경로 맵에는 IPv6 관련 명령이 포함될 수 있습니다.match ip 및 set ip 명령은 IPv4 접두사를 재배포할 때 사용합니다.match ipv6 및 set ipv6 명령은 IPv6 접두사를 재배포할 때 사용합니다.route-map을 사용하여 라우팅 프로토콜과 CLNS 경로를 재배포하는 경우에만 match clns 및 set clns 명령을 사용할 수 있습니다.
표 1과 표 2는 다음 표기 규칙을 사용합니다.
지원되는 명령은 예로 표시됩니다.
지원되지 않는 명령은 대시(—)로 표시됩니다.
작업을 수행하는 것으로 알려진 지원되지 않는 명령(원치 않는 작업일 수 있음)은 No로 표시됩니다.
명령 | 재배포 지원 | ||||||
---|---|---|---|---|---|---|---|
연결됨 | 정적 | RIP | EIGRP | OSPF | 현재 | BGP | |
일치하는 클래스 주소 | — | 예 | — | — | — | 예 | 예 |
다음 홉과 일치 | — | 예 | — | — | — | 예 | — |
일치 인터페이스 | 예 | 예 | 예 | 예 | 예 | 예 | — |
IP 주소 일치 | 예 | 예 | 예 | 예 | 예 | 예 | 예 |
IP 주소 접두사 목록 일치 | 예 | 예 | 예 | 예 | 예 | 예 | 예 |
ip next hop 일치 | — | 예 | 예 | 예 | 예 | 예 | 예 |
ip next-hop prefix-list 일치 | — | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 |
ip route-source 일치 | — | — | 예 | 예 | 예 | — | 예 |
ip route-source prefix-list 일치 | — | — | 아니요 | 아니요 | 아니요 | — | 아니요 |
match ipv6 address [prefix-list] | 예 | 예 | 예 | — | 예 | 예 | 예 |
ipv6 next-hop 일치 [prefix-list] | — | 예 | 예 | — | — | — | 예 |
match ipv6 route-source [prefix-list] | — | — | 예 | — | — | — | 예 |
일치 메트릭 | — | — | 예 | 예 | 예 | 예 | 예 |
정책 목록 일치 | 예 | 예 | 예 | 예 | 예 | 예 | 예 |
외부 경로 유형 일치 | — | — | — | 예 | 예 | 예 | 예 |
match route type internal | — | — | — | 예 | 예 | — | 예 |
경로 유형 로컬 일치 | — | — | — | — | — | — | 예 |
경로 유형 nssa-external 일치 | — | — | — | — | 예 | — | — |
경로 유형 {level-1|level-2 일치 | — | — | — | — | — | 예 | — |
일치 태그 | — | 예 | 예 | 예 | 예 | 예 | 예 |
명령 | 재배포 지원 | ||||
---|---|---|---|---|---|
RIP | EIGRP | OSPF | 현재 | BGP | |
경로 태그 설정 | — | — | — | — | 예 |
커뮤니티 설정 | — | — | — | — | 예 |
ip next hop 설정 | — | — | — | — | 예 |
ip next-hop 피어 주소 설정 | — | — | — | — | 아니요 |
ipv6 next hop 설정 | — | — | — | — | 예 |
집합 수준 {backbone|stub area} | — | — | 아니요 | — | — |
수준 {level-1|level-2|level-1-2 설정 | — | — | — | 예 | — |
로컬 환경 설정 지정 | — | — | — | — | 예 |
메트릭 설정 | 예 | — | 예 | 예 | 예 |
메트릭 설정 +/- | 아니요 | — | 아니요 | 아니요 | 아니요 |
메트릭 eigrp-metric 설정 | — | 예 | — | — | — |
메트릭 +/- eigrp-metric 설정 | — | 아니요 | — | — | — |
set metric-type internal | — | — | — | 예 | — |
set metric-type external | — | — | — | 예 | — |
set metric-type {type-1|type-2 | — | — | 예 | — | — |
넬리 | — | — | — | — | 예 |
원점 설정 | — | — | — | — | 예 |
태그 설정 | 예 | 예 | 예 | — | — |
가중치 설정 | — | — | — | — | 예 |
경로 맵은 경로 재배포를 위한 매우 강력하지만 복잡한 툴입니다.라우팅 정보가 프로토콜 간에 재배포될 때 매우 세밀하게 조작할 수 있습니다.그러나 위험할 수 있으며 네트워크에서 "블랙홀" 또는 최적화되지 않은 트래픽 흐름을 생성할 수 있습니다.여러 라우팅 프로토콜 간에 복잡한 재배포 기능을 사용하려면 네트워크를 매우 신중하게 설계해야 합니다.