소개
이 문서에서는 Cisco Nexus NX-OS 기반 스위치에서 경로 누수를 구성하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Nexus NX-OS 소프트웨어.
- EIGRP(Enhanced Interior Gateway Routing Protocol), OSPF(Open Shortest Path First), BGP(Border Gateway Protocol) 등의 라우팅 프로토콜.
사용되는 구성 요소
이 문서의 정보는 NXOS 버전이 7.3(0)D1(1)인 Cisco Nexus 7000을 기반으로 합니다
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
제한 사항
소스 VRF에서 대상 VRF로 경로를 직접 유출해야 합니다. 다른 VRF에서 현재 유출된 경로는 유출할 수 없습니다.
Nexus의 다른 VRF를 통해 라우팅될 경우 Nexus의 BGP 세션을 피어 IP로 설정할 수 없습니다.
구성
VRF 간 누수는 BGP 프로세스 레벨에서 수행됩니다. 따라서 먼저 BGP 프로세스에 경로를 추가해야 하며, 특히 BGP 테이블에 경로를 추가해야 합니다.
참고: 이 문서에서는 Default VRF(기본 VRF)와 Global Routing Table(전역 라우팅 테이블)이라는 용어를 서로 바꾸어 사용합니다.
기본 VRF 대 VRF
이 경우 Nexus는 EIGRP를 통해 기본 VRF에서 두 개의 경로를 수신했습니다. 컨피그레이션에서 VRF BLUE의 경로가 누설됩니다.
이 예의 목적상, 경로 192.168.2.0/24만이 유출된다.
글로벌 라우팅 테이블 출력 |
Nexus# show ip route eigrp
IP Route Table for VRF "default"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>
172.16.2.2/32, ubest/mbest: 1/0
*via 10.1.2.2, Eth2/1, [90/130816], 00:00:21, eigrp-1, internal
192.168.2.0/24, ubest/mbest: 1/0
*via 10.1.2.2, Eth2/1, [90/130816], 00:00:21, eigrp-1, internal
Nexus# |
참고: NX-OS에서는 글로벌 컨피그레이션 모드에서 기능을 활성화해야 합니다. BGP를 활성화하기 위해 이 명령은 기능 bgp입니다.
BGP의 기본 VRF 라우팅 테이블에 있는 경로를 재배포합니다.
경로가 Default VRF에 있으므로 BGP의 redistribute 명령은 전역 주소군 ipv4 유니캐스트 섹션 아래로 이동합니다.
redistribute 명령에 올바른 매개변수를 사용합니다. 이는 경로가 Default VRF(직접 연결, eigrp, ospf,...)에 있는 방식에 따라 달라집니다.
참고: 유출할 경로가 원래 VRF에 BGP 경로로 설치된 경우 모든 시나리오에서 1단계를 건너뛸 수 있습니다. 이 예에서는 원본 VRF가 기본 VRF(Global Routing Table)입니다.
BGP로 재배포 |
route-map ALL permit 10 ! router bgp 65535
address-family ipv4 unicast
redistribute eigrp 1 route-map ALL |
참고: NX-OS에서 경로를 선택적으로 재배포하려면 항상 경로 맵이 매개 변수로 필요합니다.
모든 경로를 일치시키기 위해 생성된 빈 경로 맵 permit 문은 유효합니다.
- 2단계. 대상 VRF에서 Import VRF default(VRF 기본값 가져오기)를 구성합니다.
import vrf default 명령은 대상 VRF에서 구성됩니다. 명령줄에서는 대상 VRF에서 가져올 경로를 명시적으로 정의하기 위해 매개 변수로서 route-map이 필요합니다. 이 경우 BLUE라는 VRF입니다.
대상 VRF에서 가져오기 VRF 기본값 구성 |
ip prefix-list NETWORK seq 5 permit 192.168.2.0/24
!
route-map GLOBAL-TO-VRF permit 10
match ip address prefix-list NETWORK
!
vrf context BLUE
address-family ipv4 unicast
import vrf default map GLOBAL-TO-VRF |
- 3단계. 대상 VRF 라우팅 테이블을 확인합니다.
대상 VRF에서 이제 BGP를 통해 경로가 표시되는지 확인할 수 있습니다.
이제 VRF의 이러한 BGP 경로를 동일한 VRF에서 실행되는 다른 모든 라우팅 프로토콜에서 재배포할 수 있습니다.
대상 VRF 라우팅 테이블 확인 |
Nexus# show ip route vrf BLUE
IP Route Table for VRF "BLUE"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>
192.168.2.0/24, ubest/mbest: 1/0
*via 10.1.2.2%default, Eth2/1, [20/130816], 00:15:00, bgp-65535, external, tag 65535,
Nexus# |
VRF 대 VRF
이 경우 Nexus는 EIGRP를 통해 RED라는 VRF의 두 경로를 수신했습니다. 컨피그레이션에서 VRF BLUE의 경로가 누설됩니다.
VRF RED 라우팅 테이블 출력 |
Nexus# show ip route eigrp vrf RED
IP Route Table for VRF "RED"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>
172.16.2.2/32, ubest/mbest: 1/0
*via 10.1.2.2, Eth2/1, [90/130816], 00:00:08, eigrp-1, internal
192.168.2.0/24, ubest/mbest: 1/0
*via 10.1.2.2, Eth2/1, [90/130816], 00:00:08, eigrp-1, internal
Nexus# |
BGP의 VRF RED 라우팅 테이블에 있는 경로를 재배포합니다.
경로가 VRF RED에 있으므로 BGP의 redistribute 명령은 vrf RED 주소군 ipv4 유니캐스트 섹션 아래에 전달됩니다.
BGP로 재배포 |
route-map ALL permit 10 ! router bgp 65535 vrf RED
address-family ipv4 unicast
redistribute eigrp 1 route-map ALL |
- 2단계. 경로 대상 내보내기 및 가져오기를 생성합니다.
VRF 간 누출을 위해서는 Route-Targets를 사용해야 합니다.
원본 VRF에서 Route-Target 값을 내보냅니다.
대상 VRF가 동일한 Route-Target 값을 가져옵니다.
경로 대상 내보내기 및 가져오기 생성 |
vrf context RED address-family ipv4 unicast route-target export 1:1 ! vrf context BLUE address-family ipv4 unicast route-target import 1:1 |
- 3단계. 대상 VRF 라우팅 테이블을 확인합니다.
대상 VRF에서 이제 BGP를 통해 경로가 표시되는지 확인할 수 있습니다.
이제 VRF의 이러한 BGP 경로를 동일한 VRF에서 실행되는 다른 모든 라우팅 프로토콜에서 재배포할 수 있습니다.
대상 VRF 라우팅 테이블 확인 |
Nexus# show ip route vrf BLUE
IP Route Table for VRF "BLUE"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>
172.16.2.2/32, ubest/mbest: 1/0
*via 10.1.2.2%RED, Eth2/1, [20/130816], 00:01:58, bgp-65535, external, tag 65535,
192.168.2.0/24, ubest/mbest: 1/0
*via 10.1.2.2%RED, Eth2/1, [20/130816], 00:01:58, bgp-65535, external, tag 65535,
Nexus# |
- 4단계(선택 사항) 특정 경로에 Route-Target을 할당합니다.
Route-Targets를 내보낼 특정 경로에 할당하려면 선택적으로 원본 VRF 아래에서 export map 명령을 사용할 수 있습니다.
Route-Target을 할당하려면 route-map에서 set extcommunity rt 매개변수를 사용합니다.
이 예에서는 네트워크 192.168.2.0/24만 Route-Target 1:1과 함께 내보내지며, 나중에 VRF BLUE로 가져옵니다.
그 결과 지정된 네트워크만 유출됩니다.
특정 경로에 Route-Target 할당 |
ip prefix-list NETWORK seq 5 permit 192.168.2.0/24
!
route-map ADD-RT permit 10
match ip address prefix-list NETWORK
set extcommunity rt 1:1
!
vrf context RED
address-family ipv4 unicast
export map ADD-RT
!
vrf context BLUE
address-family ipv4 unicast
route-target import 1:1 |
VRF에서 기본 VRF로
참고: Nexus 7000 및 Nexus 7700 스위치 제품군에서는 export vrf default map 명령을 사용하여 다른 VRF에서 전역 라우팅 테이블(기본 VRF)로 IP 접두사를 내보내도록 지원하는 이 기능이 NX-OS 릴리스 7.3(0)D1(1)에 도입되었습니다
Nexus는 EIGRP를 통해 VRF에서 RED라는 두 개의 경로를 수신했습니다. 컨피그레이션에서 기본 VRF의 경로가 누설됩니다.
이 예의 목적상, 경로 192.168.2.0/24만이 유출된다.
BGP의 VRF RED 라우팅 테이블에 있는 경로를 재배포합니다.
경로가 VRF RED에 있으므로 BGP의 redistribute 명령은 vrf RED 주소군 ipv4 유니캐스트 섹션 아래에 전달됩니다.
BGP로 재배포 |
route-map ALL permit 10 ! router bgp 65535 vrf RED
address-family ipv4 unicast
redistribute eigrp 1 route-map ALL |
- 2단계. 원래 VRF에서 Export VRF(VRF 내보내기) 기본값을 구성합니다.
export vrf default 명령은 원본 VRF에서 구성됩니다. 명령줄에는 Default VRF에서 내보낼 경로를 명시적으로 정의하기 위한 매개변수로 route-map이 필요합니다.
원래 VRF에서 Export VRF default(VRF 내보내기 기본값)를 구성합니다. |
ip prefix-list NETWORK seq 5 permit 192.168.2.0/24
!
route-map GLOBAL-TO-VRF permit 10
match ip address prefix-list NETWORK
!
vrf context RED
address-family ipv4 unicast
export vrf default map GLOBAL-TO-VRF |
- 3단계. 기본 VRF 라우팅 테이블을 확인합니다.
이제 Default VRF에서 BGP를 통해 경로가 표시되는지 확인할 수 있습니다.
이제 기본 VRF에서 이러한 BGP 경로를 기본 VRF에서도 실행되는 다른 모든 라우팅 프로토콜에서 재배포할 수 있습니다.
기본 VRF 라우팅 테이블 확인 |
Nexus# show ip route IP Route Table for VRF "default" '*' denotes best ucast next-hop '**' denotes best mcast next-hop '[x/y]' denotes [preference/metric] '%<string>' in via output denotes VRF <string>
192.168.2.0/24, ubest/mbest: 1/0 *via 10.1.2.2%RED, Eth2/1, [20/130816], 00:08:19, bgp-65535, external, tag 65535, Nexus# |
다음을 확인합니다.
vrf 경로 유출 프로세스에는 4가지 단계가 있습니다. 검증은 다음 순서대로 수행할 수 있습니다.
경로가 라우팅 테이블에 올바르게 있는지 확인하려면 다음 명령을 사용합니다.
show ip route [vrf <vrf name>]
경로가 BGP 테이블에 올바르게 있는지 확인하기 위해 명령은 다음과 같습니다.
BGP 테이블에 IPv4 유니캐스트 주소를 표시하기 위해 두 번째 명령을 상호 교환 가능하게 사용할 수 있습니다.
show bgp ipv4 unicast [vrf <vrf name>]
show ip bgp [vrf <vrf name>]
마지막으로, show forwarding route A.B.C.D/LEN [VRF <vrf name>]을 사용하여 라인 카드 레벨에서 프로그래밍된 레이어 3 경로를 확인할 수 있습니다(하드웨어 프로그래밍)
Nexus# show forwarding route 10.1.2.2
slot 1
=======
IPv4 routes for table default/base
'*' denotes recursive route
----------------+----------------------------------------+----------------------+-----------------
Prefix | Next-hop | Interface | Labels
----------------+----------------------------------------+----------------------+-----------------
10.1.2.0/24 Attached Ethernet2/1
Nexus#