このドキュメントでは、multipoint Generic Routing Encapsulation(mGRE)トンネル機能を使用して、ダイナミック レイヤ 3(L3)VPN を設定する方法について説明します。
mGRE トンネル機能を使用してダイナミック L3 VPN を設定する前に、マルチプロトコル ラベル スイッチング(MPLS)VPN が設定され、正常に動作していること、および IPv4 ネットワークのエンドツーエンド接続が確立されていることを確認してください。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
mGRE トンネル機能を使用したダイナミック L3 VPN では、IP ネットワークで使用できる拡張 mGRE トンネリング テクノロジーに基づいて L3 トランスポート メカニズムが提供されます。ダイナミック L3 トンネリング トランスポートは、IP ネットワーク内で使用することもできます。これにより、VPN トラフィックをサービス プロバイダーと企業ネットワークにまたがって転送したり、IP VPN と MPLS VPN 間のパケット転送の相互運用性を提供したりできます。この機能では、企業ネットワーク向けの IP バックボーン サービスのアウトソーシングを定義した RFC 2547 がサポートされます。
mGRE トンネルを使用したダイナミック L3 VPN に適用される制限事項のリストを次に示します。
ここでは、次の 2 つの設定について説明します。
ルータ 3(R3)とルータ 2(R2)に必要な設定を次に示します。
R3 の設定を次に示します。
l3vpn encapsulation ip MGRE
transport ipv4 source Loopback0
route-map MGRE-NEXT-HOP permit 10
set ip next-hop encapsulate l3vpn MGRE
router bgp 65534
!
address-family vpnv4
neighbor 192.168.2.2 route-map MGRE-NEXT-HOP in
R2 の設定を次に示します。
l3vpn encapsulation ip MGRE
transport ipv4 source Loopback0
route-map MGRE-NEXT-HOP permit 10
set ip next-hop encapsulate l3vpn MGRE
router bgp 65534
!
address-family vpnv4
neighbor 192.168.3.3 route-map MGRE-NEXT-HOP in
ここでは、設定が正常に機能しているかどうかを確認します。
R2#show tunnel endpoints
Tunnel0 running in multi-GRE/IP mode
Endpoint transport 192.168.3.3 Refcount 3 Base 0x1E8E1B74 Create Time 00:47:53
overlay 192.168.3.3 Refcount 2 Parent 0x1E8E1B74 Create Time 00:47:53
R2#show l3vpn encapsulation ip MGRE
Profile: MGRE
transport ipv4 source Loopback0
protocol gre
payload mpls
mtu default
Tunnel Tunnel0 Created [OK]
Tunnel Linestate [OK]
Tunnel Transport Source Loopback0 [OK]
R2#show ip route vrf MGRE 172.16.3.3
Routing Table: MGRE
Routing entry for 172.16.3.3
Known via "bgp 65534", distance 200, metric 0, type internal
Last update from 192.168.3.3 on Tunnel0, 01:03:25 ago
Routing Descriptor Blocks:
* 192.168.3.3 (default), from 172.16.112.1, 01:03:25 ago, via Tunnel0 <points to tunnel
Route metric is 0, traffic share count is 1
AS Hops 0
MPLS label: 17 <BGP vpnv4 label>
MPLS Flags: MPLS Required
一方の接続が MPLS でもう一方が非 MPLS となるデュアル接続のシナリオでは、関係するすべての PE ルータに mGRE を設定する必要があります。このトポロジでは、3 つの PE ルータのすべてに mGRE を設定する必要があります。
R3 と R1 間の接続(MPLS リンク)に対して mGRE を設定しなかった場合、R3 の背後のサブネットは R2 の背後のサブネットと通信できません。
R1 と R2 は、L3 VPN プロファイルに基づいて R3 とのトンネル エンドポイントを構築します。L3 VPN プロファイルが設定されていない部分、R3 で Border Gateway Protocol(BGP)ピアに対するルート マップが適用されていない部分、および R1 で R3 の L3 VPN に対するルート マップが適用されていない部分については、このドキュメントの設定を参照してください。
R1、R2、および R3 に必要な設定を次に示します。
R1 の設定を次に示します。
l3vpn encapsulation ip MGRE
transport ipv4 source Loopback0
route-map MGRE-NEXT-HOP permit 10
set ip next-hop encapsulate l3vpn MGRE
router bgp 65534
address-family vpnv4
neighbor 192.168.2.2 send-community extended
neighbor 192.168.2.2 route-map MGRE-NEXT-HOP in
neighbor 192.168.3.3 activate
R2 の設定を次に示します。
l3vpn encapsulation ip MGRE
transport ipv4 source Loopback0
route-map MGRE-NEXT-HOP permit 10
set ip next-hop encapsulate l3vpn MGRE
router bgp 65534
address-family vpnv4
neighbor 192.168.1.1 route-map MGRE-NEXT-HOP in
neighbor 192.168.1.1 activate
R3 の設定を次に示します。
router bgp 65534
address-family vpnv4
neighbor 192.168.1.1 activate
これで、R2 loopback1 から R3 loopback1 に対して ping を実行できます。
R2#ping vrf MGRE 172.16.3.3 source 172.16.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.3.3, timeout is 2 seconds:
Packet sent with a source address of 172.16.2.2
.....
Success rate is 0 percent (0/5)
R2#show ip route vrf MGRE 172.16.3.3
Routing Table: MGRE
Routing entry for 172.16.3.3/32
Known via "bgp 65534", distance 200, metric 0, type internal
Last update from 192.168.3.3 on Tunnel0, 00:50:23 ago
Routing Descriptor Blocks:
* 192.168.3.3 (default), from 192.168.1.1, 00:50:23 ago, via Tunnel0pointed towards a tunnel>
Route metric is 0, traffic share count is 1
AS Hops 0
MPLS label: 19
MPLS Flags: MPLS Required
R2#show tunnel endpoints
Tunnel1 running in multi-GRE/IP mode
Tunnel0 running in multi-GRE/IP mode
Endpoint transport 192.168.1.1 Refcount 3 Base 0x507665E4 Create Time 01:24:25
overlay 192.168.1.1 Refcount 2 Parent 0x507665E4 Create Time 01:24:25
Endpoint transport 192.168.3.3 Refcount 3 Base 0x507664D4 Create Time 00:50:51
overlay 192.168.3.3 Refcount 2 Parent 0x507664D4 Create Time 00:50:51
R2 では、172.16.3.3 ルートの BGP ネクスト ホップに基づいて 192.168.3.3 のダイナミック トンネルが作成されました。
R2#show ip bgp vpnv4 vrf MGRE 172.16.3.3
BGP routing table entry for 43984:300:172.16.3.3/32, version 29
Paths: (1 available, best #1, table MGRE)
Advertised to update-groups:
1
Local, imported path from 300:300:172.16.3.3/32
192.168.3.3 (metric 3) (via Tunnel0) from 192.168.1.1 (192.168.1.1)
Origin incomplete, metric 0, localpref 100, valid, internal, best
Extended Community: RT:43984:300
Originator: 192.168.3.3, Cluster list: 192.168.1.1
mpls labels in/out nolabel/19
R1 で R2 が確認され、R2 では両方の PE ルータのトンネル エンドポイントも作成されました。
R1#show tunnel endpoints
Tunnel1 running in multi-GRE/IP mode
Tunnel0 running in multi-GRE/IP mode
Endpoint transport 192.168.2.2 Refcount 3 Base 0x1E8EE7B0 Create Time 01:36:41
overlay 192.168.2.2 Refcount 2 Parent 0x1E8EE7B0 Create Time 01:36:41
Endpoint transport 192.168.3.3 Refcount 3 Base 0x1E8EE590 Create Time 00:59:34
overlay 192.168.3.3 Refcount 2 Parent 0x1E8EE590 Create Time 00:59:34
R3 では、トンネル エンドポイントは作成されていません。
R3#show tunnel endpoints
ping を発信した R2 サブネットのルートを次に示します。
R3#show ip route vrf MGRE 172.16.2.2
Routing Table: MGRE
Routing entry for 172.16.2.2/32
Known via "bgp 65534", distance 200, metric 0, type internal
Last update from 192.168.2.2 01:01:57 ago
Routing Descriptor Blocks:
* 192.168.2.2 (default), from 192.168.1.1, 01:01:57 ago
Route metric is 0, traffic share count is 1
AS Hops 0
MPLS label: 17
MPLS Flags: MPLS Required
このように、パケットは GRE でカプセル化され、R3 に向けて送信されます。R3 にはトンネルが存在しないため、R3 は GRE パケットを受け入れず、廃棄します。
したがって、mGRE が正常に機能するには、パスで mGRE をエンドツーエンドで設定する必要があります。R3 に必要な mGRE の設定を次に示します。
l3vpn encapsulation ip MGRE
transport ipv4 source Loopback0
route-map MGRE-NEXT-HOP permit 10
set ip next-hop encapsulate l3vpn MGRE
L3 VPN プロファイルを作成すると、ただちにトンネル エンドポイントが作成され、先に廃棄されたトラフィックが受信されます。ただし、BGP ピアでプロファイルを適用するまで、リターン トラフィックは GRE ではなく MPLS です。R1 には IP 専用で動作する R2 のラベル情報がないため、このトラフィックは R1 では廃棄されます。
R3#show tunnel endpoints
Tunnel0 running in multi-GRE/IP mode
Endpoint transport 192.168.1.1 Refcount 3 Base 0x2B79FBD4 Create Time 00:00:02
overlay 192.168.1.1 Refcount 2 Parent 0x2B79FBD4 Create Time 00:00:02
Endpoint transport 192.168.2.2 Refcount 3 Base 0x2B79FAC4 Create Time 00:00:02
overlay 192.168.2.2 Refcount 2 Parent 0x2B79FAC4 Create Time 00:00:02
R3#show ip cef vrf MGRE 172.16.2.2
172.16.2.2/32
nexthop 192.168.13.1 GigabitEthernet0/0.1503 label 21 17
router bgp 65534
address-family vpnv4
neighbor 192.168.1.1 route-map MGRE-NEXT-HOP in
R3#show ip cef vrf MGRE 172.16.2.2
172.16.2.2/32
nexthop 192.168.2.2 Tunnel0 label 17
R2#ping vrf MGRE 172.16.3.3 source 172.16.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.3.3, timeout is 2 seconds:
Packet sent with a source address of 172.16.2.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms
シナリオ 3
R3 と通信する必要がある R5 の背後のサブネットでは mGRE を使用する必要がないと仮定します。この場合は、L3 VPN プロファイルで使用されたルート マップを使用してネクスト ホップを設定し、プレフィックス リストを呼び出して、mGRE トンネルを必要とするプレフィックスのみを許可できます。
R1 の設定を次に示します。
route-map MGRE-NEXT-HOP permit 10
match ip address prefix-list test
set ip next-hop encapsulate l3vpn MGRE
route-map MGRE-NEXT-HOP permit 20
プレフィックス リスト test で mGRE トンネルを必要とするプレフィックスを許可できます。それ以外はすべて出口インターフェイスとしてのトンネルを持たず、通常のルーティングに従います。R3 と R5 にはエンドツーエンドの MPLS 接続があるため、この設定は正常に機能します。
現在、この設定に関する特定のトラブルシューティング情報はありません。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
29-Oct-2013 |
初版 |