内容

はじめに

前提条件

要件

使用するコンポーネント

制限事項

設定

デフォルト VRF から VRF へ

VRF から VRF へ

VRF からデフォルト VRF へ

確認

はじめに

このドキュメントでは、Cisco Nexus NX-OS ベースのスイッチでルートリークを設定する方法について説明します。

前提条件

要件

次の項目に関する知識があることが推奨されます。

- Nexus NX-OS ソフトウェア

- ルーティングプロトコルには、Enhanced Interior Gateway Routing Protocol(EIGRP)、Open Shortest Path First(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 は EIGRP を介してデフォルト VRF で 2 つのルートを受信しています。この設定により、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など）にどのように存在するかによって異なります。

注：リークするルートがBGPルートとして送信元VRFにインストールされている場合は、すべてのシナリオでステップ1をスキップできます。この例では、元の VRF はデフォルト VRF（グローバル ルーティング テーブル）です。

BGP への再配布

route-map ALL permit 10

!

router bgp 65535

address-family ipv4 unicast

redistribute eigrp 1 route-map ALL

注:NX-OSでは、ルートを選択的に再配布するために、パラメータとしてroute-mapが常に必要です。

空の route-map permit ステートメントの作成は、すべてのルートを照合する点で有効です。

- ステップ 2：宛先 VRF での import vrf default の設定.

import vrf default コマンドは、宛先 VRF で設定されます。宛先 VRF（この例では BLUE という名前の VRF）にインポートするルートを明確に定義するには、コマンドラインにパラメータとしての route-map が必要です。

宛先 VRF での import vrf default の設定

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 で 2 つのルートを受信しています。この設定により、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 はルートターゲット値をエクスポートします。

宛先 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（任意）：ルートターゲットを特定のルートに割り当てます。

エクスポートする特定のルートにルートターゲットを割り当てるために、元の VRF で export map コマンドを使用できます（任意）。

ルートターゲットを割り当てるには、ルートマップで set extcommunity rt パラメータを使用します。

この例では、ネットワーク192.168.2.0/24だけがRoute-Target 1:1でエクスポートされ、後でVRF BLUEにインポートされます。

その結果、指定されたネットワークのみがリークされます。

特定のルートに対するルートターゲットの割り当て

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 を介して RED と呼ばれる VRF で 2 つのルートを受信しました。この設定により、デフォルト 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 における export vrf default の設定.

export vrf default コマンドは、元の VRF で設定されます。デフォルト VRF でエクスポートされるルートを明確に定義するには、コマンドラインにパラメータとしての route-map が必要です。

元の VRF における export vrf default の設定

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 テーブルに正常に表示されることを確認するには、次のコマンドを実行します。

2 番目のコマンドは、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#