内容

概要

前提条件

要件

使用するコンポーネント

背景説明

設定

ネットワーク図

EVN の設定

VNET トランクの調整

トランク リスト

VRF ごとのトランク属性

リンクごとの VNET タグ

確認

トラブルシュート

関連情報

概要

このドキュメントでは、キャンパス ネットワークで簡単に設定できる使いやすい仮想化メカニズムを提供するために設計された Easy Virtual Network（EVN）機能について説明します。この機能では、Virtual Routing and Forwarding-Lite（VRF-Lite）、dot1q カプセル化などの最新のテクノロジーが活用されています。また、新しいプロトコルは導入するされません。

前提条件

要件

このドキュメントに特有の要件はありません。

使用するコンポーネント

このドキュメントの情報は、次のハードウェアとソフトウェアのバージョンに基づいています。

- ソフトウェア バージョン 15.0(1)SY1 が稼働する Cisco Catalyst 6000（Cat6k）シリーズ スイッチ

- ソフトウェア バージョン 3.2s が稼働する Cisco 1000 シリーズ アグリゲーション サービス ルータ（ASR1000）

- Cisco IOS® バージョン 15.3(2)T 以降が稼働する Cisco 3925 および 3945 シリーズ サービス統合型ルータ

- ソフトウェア バージョン 15.1(1)SG が稼働する Cisco Catalyst 4500（Cat4500）および 4900（Cat4900）シリーズ スイッチ

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。

背景説明

次の図は EVN 機能の概要を示しています。

- EVN 機能は、VRF-Lite を使用して複数（最大 32）のルーティング コンテキストを作成します。

- レイヤ 3 デバイス間の Virtual Routing and Forwarding（VRF）内の接続は、仮想ネットワーク（VNET）トランクによって確保されます。

- VNET トランクは、標準 dot1q トランクです。

- VNET トランク経由で転送される必要のある各 VRF は、VNET タグを使用して設定される必要があります。

- 各 VNET タグは、dot1q タグと同じです。

- dot1q サブインターフェイスは自動的に作成されます（非表示）。

- メイン インターフェイスの設定は、すべてのサブインターフェイス（非表示）に継承されます。

- プレフィクスの到達可能性をアドバタイズするために、ルーティング プロトコルの個別のインスタンスが、VNET トランク上の各 VRF で使用される必要があります。

- VRF の間のダイナミック ルートのリーク（スタティック ルートの反対）は、Border Gateway Protocol（BGP）の使用なしに許可されます。

- この機能は、IPv4 および IPv6 でサポートされています。

設定

EVN 機能を設定するには、この項に記載されている情報を使用します。

注：このセクションで使用されるコマンドの詳細については、Command Lookup Tool（登録ユーザ専用）を使用してください。

ネットワーク図

このネットワーク設定は、EVN の設定を説明し、コマンドを示すために使用されます。

この設定に関する重要な注意点は次のとおりです。

- VNET トランク経由でネットワークの中心から実行される 2 つの VRF が定義されています（CUST-A および CUST-B）。

- 到達可能性をアドバタイズするために VRF で Open Shortest Path First（OSPF）が使用されます。

- VRF COM は、VRF CUST-A と CUST-B の両方から到達可能である必要があるコモン サーバ（100.1.1.100）をホストします。

- 使用されるイメージは、i86bi_linux-adventerprisek9-ms.153-1.S です。

ヒント：使用される Cisco IOS on Linux（IOL）設定は、ここから入手できます。

EVN の設定

EVN 機能を設定するには、次の手順を実行します。

1. VRF 定義を設定します。

vrf definition [name]

vnet tag [2-4094]

!

address-family ipv4|ipv6

exit-address-family

!
この設定に関する重要な注意点は次のとおりです。

- 2 ～ 1,000の範囲のタグを使用することをお勧めします。予約済みVLAN 1,001 ～ 1,005は使用しないでください。拡張VLAN 1,006 ～ 4,094は、必要に応じて使用できます。

- VNET タグは現在の VLAN タグで使用できません。

- どの VRF についても、VNET タグがすべてのデバイスで同じである必要があります。

- 関連 AF で VRF をアクティブ化するために address-famility ipv4|ipv6 を設定する必要があります。

- EVN は BGP を使用しないため、ルート方向（RD）を定義する必要はありません。

この設定により、VRF をすべての 4x コア ルータで定義する必要があります。たとえば、CORE-1 で次のように定義します。

vrf definition CUST-A

vnet tag 100

!

address-family ipv4

exit-address-family

vrf definition CUST-B

vnet tag 200

!

address-family ipv4

exit-address-family
3 つの VRF について、すべてのルータで同じ VNET タグを使用します。CORE-4 では、VRF COM には VNET タグは不要です。目標は、CUST-A および CUST-B からコモン サーバへのアクセスを提供するために、VRF を CORE-4 でローカルに保持し、リークと再配布を設定することです。

さまざまな VNET カウンタを確認するために、次のコマンドを入力します。

CORE-1#show vnet counters

Maximum number of VNETs supported: 32

Current number of VNETs configured: 2

Current number of VNET trunk interfaces: 2

Current number of VNET subinterfaces: 4

Current number of VNET forwarding interfaces: 6

CORE-1#

2. VNET トランクを設定します。

interface GigabitEthernetx/x

vnet trunk

ip address x.x.x.x y.y.y.y

...
この設定に関する重要な注意点は次のとおりです。

- vnet trunk コマンドにより、VNET タグによって定義されている VRF と同じ数の dot1q サブインターフェイスが作成されます。

- vnet trunk コマンドは、同じ物理インターフェイス上に手動で設定される一部のサブインターフェイスと併用できません。

- この設定は、ルーテッド インターフェイス（スイッチ ポートは不可）、物理、および PortChannel で許可されます。

- 物理インターフェイスで適用される IP アドレス（およびその他のコマンド）は、サブインターフェイスに継承されます。

- すべての VRF のサブインターフェイスは、同じ IP アドレス を使用します。

この設定により、2 つの VNET VRF が存在するため、VNET トランクとして設定されたインターフェイス上に 2 つのサブインターフェイスが自動的に作成されます。自動的に作成される非表示の設定を確認するために、show derived-config コマンドを入力できます。

現在実行されている設定を次に示します。

CORE-1#show run | s Ethernet0/0

interface Ethernet0/0

vnet trunk

ip address 192.168.1.1 255.255.255.252

!

CORE-1#
派生する設定を次に示します。

CORE-1#show derived-config | s Ethernet0/0

interface Ethernet0/0

vnet trunk

ip address 192.168.1.1 255.255.255.252

Interface Ethernet0/0.100

description Subinterface for VNET CUST-A

encapsulation dot1Q 100

vrf forwarding CUST-A

ip address 192.168.1.1 255.255.255.252

interface Ethernet0/0.200

description Subinterface for VNET CUST-B

encapsulation dot1Q 200

vrf forwarding CUST-B

ip address 192.168.1.1 255.255.255.252

CORE-1#
ここに示されているように、すべてのサブインターフェイスが、メイン インターフェイスの IP アドレスを継承します。

3. エッジ（サブ）インターフェイスを VRF に割り当てます。インターフェイスまたはサブインターフェイスを VNET VRF に割り当てるために、VRF を割り当てるための通常の手順を使用します。

interface GigabitEthernet x/x.y

vrf forwarding [name]

ip address x.x.x.x y.y.y.y

...
この設定は、CORE-1とCORE-4に適用されます。CORE-4の例を次に示します。

interface Ethernet2/0

vrf forwarding CUST-A

ip address 10.1.2.1 255.255.255.0

!

interface Ethernet3/0

vrf forwarding CUST-B

ip address 10.2.2.1 255.255.255.0

!

interface Ethernet4/0

vrf forwarding COM

ip address 100.1.1.1 255.255.255.0

4. 各 VRF のルーティング プロトコルを設定します（これは EVN または VNET 固有ではありません）。

router ospf x vrf [name]

network x.x.x.x y.y.y.y area x

...

注：この設定には、VNET トランクのアドレスとエッジ インターフェイスのアドレスが含まれている必要があります。
この設定により、2 つの OSPF プロセス（VRF ごとに 1 つ）が定義されます。

CORE-1#show run | s router os

router ospf 1 vrf CUST-A

network 10.1.1.0 0.0.0.255 area 0

network 192.168.1.0 0.0.0.255 area 0

router ospf 2 vrf CUST-B

network 10.2.1.0 0.0.0.255 area 0

network 192.168.1.0 0.0.0.255 area 0

CORE-1#
各コマンドで VRF の指定なしに特定の VRF に関連する情報を表示するために、ルーティング コンテキスト モードに切り替えることができます。

CORE-1#routing-context vrf CUST-A

CORE-1%CUST-A#

CORE-1%CUST-A#show ip protocols

*** IP Routing is NSF aware ***

Routing Protocol is "ospf 1"

Outgoing update filter list for all interfaces is not set

Incoming update filter list for all interfaces is not set

Router ID 192.168.1.13

It is an area border router

Number of areas in this router is 1. 1 normal 0 stub 0 nssa

Maximum path: 4

Routing for Networks:

10.1.1.0 0.0.0.255 area 0

192.168.1.0 0.0.0.255 area 0

Routing Information Sources:

Gateway         Distance      Last Update

192.168.1.9          110      1d00h

192.168.1.14         110      1d00h

Distance: (default is 110)

CORE-1%CUST-A#

CORE-1%CUST-A#show ip os neighbor

Neighbor ID     Pri   State         Dead Time   Address         Interface

192.168.1.14      1   FULL/DR       00:00:30    192.168.1.14    Ethernet1/0.100

192.168.1.5       1   FULL/BDR      00:00:37    192.168.1.2     Ethernet0/0.100

10.1.1.2          1   FULL/BDR      00:00:33    10.1.1.2        Ethernet2/0

CORE-1%CUST-A#

注：show ip protocols コマンドの出力には、選択した VRF に関連する情報だけが表示されます。
両方の VRF のルーティング情報ベース（RIB）を表示する場合は、2 つの VNET トランク経由でリモート サブネットを検証できます。

CORE-1%CUST-A#show ip route 10.1.2.0

Routing Table: CUST-A

Routing entry for 10.1.2.0/24

Known via "ospf 1", distance 110, metric 30, type intra area

Last update from 192.168.1.2 on Ethernet0/0.100, 1d00h ago

Routing Descriptor Blocks:

* 192.168.1.14, from 192.168.1.9, 1d00h ago, via Ethernet1/0.100

Route metric is 30, traffic share count is 1

192.168.1.2, from 192.168.1.9, 1d00h ago, via Ethernet0/0.100

Route metric is 30, traffic share count is 1

CORE-1%CUST-A#

CORE-1%CUST-A#routing-context vrf CUST-B

CORE-1%CUST-B#

CORE-1%CUST-B#show ip route 10.2.2.0

Routing Table: CUST-B

Routing entry for 10.2.2.0/24

Known via "ospf 2", distance 110, metric 30, type intra area

Last update from 192.168.1.2 on Ethernet0/0.200, 1d00h ago

Routing Descriptor Blocks:

* 192.168.1.14, from 192.168.1.6, 1d00h ago, via Ethernet1/0.200

Route metric is 30, traffic share count is 1

192.168.1.2, from 192.168.1.6, 1d00h ago, via Ethernet0/0.200

Route metric is 30, traffic share count is 1

CORE-1%CUST-B#

CORE-1%CUST-B#exit

CORE-1#

CORE-1#

5. VRF 間のルート リークを決定します。ルート リークは、ルート レプリケーションによって実行されます。たとえば、VRF の一部のルートを別の VRF で使用可能にすることができます。

vrf definition VRF-X

address-family ipv4|ipv6

route-replicate from vrf VRF-Y unicast|multicast

[route-origin] [route-map [name]]
この設定に関する重要な注意点は次のとおりです。

- VRF-X の RIB は、VRF-Y からのコマンド パラメータに基づいて、選択されたルートにアクセスできます。

- VRF-X の複製されたルートは、[+] フラグによってマークが付けられます。

- multicast オプションにより、リバース パス フォワーディング（RPF）に別の VRF からのルートを使用することが許可されます。

- route-origin は、以下のいずれかの値を持つことができます。

- all

- bgp

- connected

- eigrp

- isis

- mobile

- odr

- ospf

- RIP

- static

名前が示すものとは異なり、ルートは複製されず、重複しません。これは、追加のメモリを消費しない BGP の一般的な RT を介した通常のリークに当てはまります。

この設定により、CUST-A および CUST-B から COM への（およびその逆の）アクセスを提供するために、CORE-4 でルート リークが使用されます。

vrf definition CUST-A

address-family ipv4

route-replicate from vrf COM unicast connected

!

vrf definition CUST-B

address-family ipv4

route-replicate from vrf COM unicast connected

!

vrf definition COM

address-family ipv4

route-replicate from vrf CUST-A unicast ospf 1 route-map USERS

route-replicate from vrf CUST-B unicast ospf 2 route-map USERS

!

route-map USERS permit 10

match ip address prefix-list USER-SUBNETS

!

ip prefix-list USER-SUBNETS seq 5 permit 10.0.0.0/8 le 32

CORE-4#show ip route vrf CUST-A

Routing Table: COM

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area,* - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override

...

10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks

O        10.1.1.0/24 [110/30] via 192.168.1.10, 3d19h, Ethernet1/0.100

[110/30] via 192.168.1.5, 3d19h, Ethernet0/0.100

100.0.0.0/8 is variably subnetted, 2 subnets, 2 masks

C   +    100.1.1.0/24 is directly connected (COM), Ethernet4/0

CORE-4#show ip route vrf CUST-B

...       10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks

O        10.2.1.0/24 [110/30] via 192.168.1.10, 1d00h, Ethernet1/0.200

[110/30] via 192.168.1.5, 1d00h, Ethernet0/0.200

100.0.0.0/8 is variably subnetted, 2 subnets, 2 masks

C   +    100.1.1.0/24 is directly connected (COM), Ethernet4/0

CORE-4#show ip route vrf COM

...

10.0.0.0/24 is subnetted, 2 subnets

O   +    10.1.1.0 [110/30] via 192.168.1.10 (CUST-A), 3d19h, Ethernet1/0.100

[110/30] via 192.168.1.5 (CUST-A), 3d19h, Ethernet0/0.100

O   +    10.2.1.0 [110/30] via 192.168.1.10 (CUST-B), 1d00h, Ethernet1/0.200

[110/30] via 192.168.1.5 (CUST-B), 1d00h, Ethernet0/0.200

100.0.0.0/8 is variably subnetted, 2 subnets, 2 masks

C        100.1.1.0/24 is directly connected, Ethernet4/0
この時点では、複製されたルートが内部ゲートウェイ プロトコル（IGP）で伝達されていないため、CE-A-2 および CE-B-2 だけが COM サービス（100.1.1.100）にアクセスでき、CE-A-1 および CE-B-1 はアクセスできません。

グローバル テーブルから、またはグローバル テーブルへの、ルート リークを使用することもできます。

vrf definition VRF-X

address-family ipv4

route-replicate from vrf >global unicast|multicast [route-origin]

[route-map [name]]

exit-address-family

!

exit

!

global-address-family ipv4 unicast

route-replicate from vrf [vrf-name] unicast|multicast [route-origin]

[route-map [name]]

6. ルート リークの伝達を定義します。リークされたルートは、ターゲット VRF RIB に複製されません。つまり、それらは、ターゲット VRF RIB の一部ではありません。ルータ プロセス間の通常の再配布は機能しないため、ルートが属する RIB の VRF 接続を明示的に定義する必要があります。

router ospf x vrf VRF-X

redistribute vrf VRF-Y [route-origin] [route-map [name]]
VRF-Y からリークしたルートは、VRF-X で稼働する OSPF プロセスに再配布されます。次に CORE-4 の例を示します。

router ospf 1 vrf CUST-A

redistribute vrf COM connected subnets route-map CON-2-OSPF

!

route-map CON-2-OSPF permit 10

match ip address prefix-list COM

!

ip prefix-list COM seq 5 permit 100.1.1.0/24
この場合、VRF COMには接続ルートが1つしかないため、ルートマップは必要ありません。CE-A-1およびCE-B-1からCOMサービス(100.1.1.100)に到達できるようになりました。

CE-A-1#ping 100.1.1.100

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 100.1.1.100, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

CE-A-1#

CE-B-1#ping 100.1.1.100

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 100.1.1.100, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

CE-B-1#

VNET トランクの調整

この項では、VNET トランクを調整するために役立つ情報を提供します。

トランク リスト

デフォルトでは、VNET タグを使用して設定されたすべての VRF が、すべて VNET トランク上で許可されます。トランク リストにより、VNET トランクで許可される VRF のリストを指定できます。

vrf list [list-name]

member [vrf-name]

!

interface GigabitEthernetx/x

vnet trunk list [list-name]

注：許可される VRF ごとに 1 つの行が必要です。

たとえば、CORE-1 と CORE-2 の間の VNET トランク上の VRF CUST-B 用に CORE-1 が調整されます。

vrf list TEST

member CUST-A

!

interface ethernet0/0

vnet trunk list TEST

ここに示されているように、トランク経由の VRF CUST-B OSPF ピアリングがダウンします。

%OSPF-5-ADJCHG: Process 2, Nbr 192.168.1.2 on Ethernet0/0.200 from FULL to DOWN,

Neighbor Down: Interface down or detached

VRF CUST-B のサブインターフェイスが削除されます。

CORE-1#show derived-config | b Ethernet0/0

interface Ethernet0/0

vnet trunk list TEST

ip address 192.168.1.1 255.255.255.252

!

interface Ethernet0/0.100

description Subinterface for VNET CUST-A

encapsulation dot1Q 100

vrf forwarding CUST-A

ip address 192.168.1.1 255.255.255.252

!

VRF ごとのトランク属性

デフォルトでは、dot1q サブインターフェイスが物理インターフェイスのパラメータを継承するため、すべての VRF のサブインターフェイスが同じ属性（コスト、認証など）を持ちます。 VNET タグごとのトランク パラメータを調整できます。

interface GigaEthernetx/x

vnet trunk

vnet name VRF-X

ip ospf cost 100

vnet name VRF-Y

ip ospf cost 15

以下のパラメータを調整できます。

CORE-1(config-if-vnet)#?

Interface VNET instance override configuration commands:

bandwidth     Set bandwidth informational parameter

default       Set a command to its defaults

delay         Specify interface throughput delay

exit-if-vnet  Exit from VNET submode

ip            Interface VNET submode Internet Protocol config commands

no            Negate a command or set its defaults

vnet          Configure protocol-independent VNET interface options

CORE-1(config-if-vnet)#

CORE-1(config-if-vnet)#ip ?

authentication      authentication subcommands

bandwidth-percent   Set EIGRP bandwidth limit

dampening-change    Percent interface metric must change to cause update

dampening-interval  Time in seconds to check interface metrics

hello-interval      Configures EIGRP-IPv4 hello interval

hold-time           Configures EIGRP-IPv4 hold time

igmp                IGMP interface commands

mfib                Interface Specific MFIB Control

multicast           IP multicast interface commands

next-hop-self       Configures EIGRP-IPv4 next-hop-self

ospf                OSPF interface commands

pim                 PIM interface commands

split-horizon       Perform split horizon

summary-address     Perform address summarization

verify              Enable per packet validation

CORE-1(config-if-vnet)#ip

この例では、CORE-1 の VRF ごとに OSPF コストが変更されるため、CUST-A には CORE-2 パスが使用され、CUST-B には CORE-3 パスが使用されます（デフォルトのコストは 10）。

interface Ethernet0/0

vnet name CUST-A

ip ospf cost 8

!

vnet name CUST-B

ip ospf cost 12

!

CORE-1#show ip route vrf CUST-A 10.1.2.0

Routing Table: CUST-A

Routing entry for 10.1.2.0/24

Known via "ospf 1", distance 110, metric 28, type intra area

Last update from 192.168.1.2 on Ethernet0/0.100, 00:05:42 ago

Routing Descriptor Blocks:

* 192.168.1.2, from 192.168.1.9, 00:05:42 ago, via Ethernet0/0.100

Route metric is 28, traffic share count is 1

CORE-1#

CORE-1#show ip route vrf CUST-B 10.2.2.0

Routing Table: CUST-B

Routing entry for 10.2.2.0/24

Known via "ospf 2", distance 110, metric 30, type intra area

Last update from 192.168.1.14 on Ethernet1/0.200, 00:07:03 ago

Routing Descriptor Blocks:

* 192.168.1.14, from 192.168.1.6, 1d18h ago, via Ethernet1/0.200

Route metric is 30, traffic share count is 1

CORE-1#

リンクごとの VNET タグ

デフォルトでは、VRF 定義で定義される VNET タグがすべてのトランクに使用されます。ただし、トランクごとに異なる VNET タグを使用できます。

この例では、「非 EVN 対応デバイスに接続され、手動トランクによって VRF-Lite を使用し、グローバル VNET タグが別の VLAN によって使用される」シナリオを示します。

この設定により、CUST-A に関して CORE-1 と CORE-2 の間のトランクで使用される VNET タグが 100 から 101 に変更されます。

interface Ethernet0/0

vnet name CUST-A

vnet tag 101

この変更が CORE-1 で発生すると、新しいサブインターフェイスが作成されます。

CORE-1#show derived-config | b Ethernet0/0

interface Ethernet0/0

vnet trunk

ip address 192.168.1.1 255.255.255.252

!

interface Ethernet0/0.101

description Subinterface for VNET CUST-A

encapsulation dot1Q 101

vrf forwarding CUST-A

ip address 192.168.1.1 255.255.255.252

!

interface Ethernet0/0.200

description Subinterface for VNET CUST-B

encapsulation dot1Q 200

vrf forwarding CUST-B

ip address 192.168.1.1 255.255.255.252

この変更が一方のエンドでのみ発生すると、関連付けられた VRF で接続が失われ、OSPF がダウンします。

%OSPF-5-ADJCHG: Process 1, Nbr 192.168.1.5 on Ethernet0/0.101 from FULL to DOWN,

Neighbor Down: Dead timer expired

CORE-2 で同じ VNET タグが使用されると、接続が復元されて、CORE-2 トランクで dot1q タグ 101 が使用され、CORE-1 ～ CORE-3 トランクでは引き続き 100 が使用されます。

%OSPF-5-ADJCHG: Process 1, Nbr 192.168.1.5 on Ethernet0/0.101 from LOADING to

FULL, Loading Done

確認

現在、この設定に使用できる確認手順はありません。

トラブルシュート

現在、この設定に関する特定のトラブルシューティング情報はありません。

関連情報

- Easy Virtual Network - レイヤ 3 ネットワーク仮想化の簡素化

- テクニカル サポートとドキュメント – Cisco Systems