目錄

簡介

必要條件

需求

採用元件

限制

設定

預設VRF到VRF

VRF到VRF

VRF到預設VRF

驗證

簡介

本文檔介紹如何在基於Cisco Nexus NX-OS的交換機上配置路由洩漏。

必要條件

需求

思科建議您瞭解以下主題：

- Nexus NX-OS軟體。

- 路由通訊協定，例如增強型內部閘道路由通訊協定(EIGRP)、開放最短路徑優先(OSPF)、邊界閘道通訊協定(BGP)等。

採用元件

本檔案中的資訊是根據搭載NXOS版本7.3(0)D1(1)的Cisco Nexus 7000

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

限制

您必須將路由直接從源VRF洩漏到目標VRF中。不能洩漏當前從其他VRF洩露的路由。

考慮通過Nexus上的其他VRF路由時，無法建立從Nexus到對等IP的BGP會話。

設定

VRF之間的洩漏在BGP進程級別執行。因此，有必要先將路由新增到BGP進程，特別是在BGP表中。

註：術語「預設VRF」和「全域性路由表」在本文檔中可互換使用。

預設VRF到VRF

在這種情況下，Nexus在其預設VRF中通過EIGRP收到兩條路由。該配置會洩漏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，命令是feature bgp。

- 步驟 1.重新分發到BGP。

重新分發BGP中預設VRF路由表中的路由。

由於路由位於預設VRF中，因此BGP中的redistribute命令位於全域性address-family ipv4 unicast部分。

為redistribute命令使用正確的引數，這取決於路由在預設VRF中的狀態（直連、eigrp、ospf、..）。

注意：如果要洩漏的路由作為源VRF中的BGP路由安裝，則可以在所有方案中跳過步驟1。在本示例中，原始VRF是預設VRF（全域性路由表）。

重新分發到BGP

route-map ALL permit 10

!

router bgp 65535

address-family ipv4 unicast

redistribute eigrp 1 route-map ALL

注意：在NX-OS中，路由對映始終需要作為引數來選擇性地重新分發路由。

建立的空路由對映permit語句對於匹配任何和所有路由是有效的。

- 步驟 2.配置目標VRF中的匯入VRF預設值。

在目標VRF中配置import vrf default命令。命令列需要route-map作為引數，以便明確定義目標VRF中要匯入的路由，在本例中為名為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在其VRF中收到兩條名為RED的路由。該配置會洩漏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#

- 步驟 1.重新分發到BGP。

重新分發BGP中VRF RED路由表中的路由。

由於路由位於VRF RED中，因此BGP中的redistribute命令位於vrf RED address-family ipv4 unicast部分下。

重新分發到BGP

route-map ALL permit 10

!

router bgp 65535

vrf RED

address-family ipv4 unicast

redistribute eigrp 1 route-map ALL

- 步驟 2.建立匯出和匯入路由目標。

為了在VRF之間洩漏，需要使用路由目標。

原始VRF導出Route-Target值。

目標VRF匯入相同的路由目標值。

建立匯出和匯入路由目標

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分配給特定路由。

您可以選擇使用原始VRF下的export map命令將路由目標分配給要匯出的特定路由。

使用route-map中的set extcommunity rt引數分配Route-Target。

在本示例中，僅將網路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系列交換機上，NX-OS 7.3(0)D1(1)版引入了此功能，該功能支援使用export vrf default map命令將IP字首從任何其他VRF匯出到全域性路由表（預設VRF）

Nexus通過EIGRP在其VRF中收到兩條稱為RED的路由。配置會洩漏預設VRF中的路由。

在本範例中，只有路由192.168.2.0/24會洩漏。

- 步驟 1.重新分發到BGP。

重新分發BGP中VRF RED路由表中的路由。

由於路由位於VRF RED中，因此BGP中的redistribute命令位於vrf RED address-family ipv4 unicast部分下。

重新分發到BGP

route-map ALL permit 10

!

router bgp 65535

vrf RED

address-family ipv4 unicast

redistribute eigrp 1 route-map ALL

- 步驟 2.配置源VRF中的匯出VRF預設值。

export vrf default命令在原始VRF中配置。命令列需要route-map作為引數，以便明確定義要在預設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 RED

address-family ipv4 unicast

export vrf default map GLOBAL-TO-VRF

- 步驟 3.檢查預設VRF路由表。

您可以在預設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#