【CCNP ENARSI勉強メモ】DMVPN

CCNP

【CCNP ENARSI勉強メモ】DMVPN

DMVPNはシスコ独自のVPNソリューションです。複数拠点が存在する環境でVPNを効率よく設定できます。

DMVPNには、暗号化や認証機能はないので、IPSecと組み合わせて使います。

サイト間VPNの問題点

サイト間VPNで複数拠点をVPN接続するにはハブ&スポークまたはフルメッシュトポロジーを使用しますが、以下のような問題点が発生します。

ハブ&スポークの弱点

スポークからスポークに通信したい場合にもハブを経由しなければならないので、遅延が発生する。

ハブルータに負荷がかかる

フルメッシュの問題点

フルメッシュ構成の場合、各ルータで対向サイトの数だけ設定する。

DMVPNを使うメリット

DMVPNの設定するを行うことで、動的にスポーク(ブランチ、拠点)間でVPNを張ることができます。DMVPNでは、NHRPを使って、VPNゲートウェイのグローバルIPアドレスを解決してくれます。スポーク間でVPNを張って通信するときは、ハブに相手先のIPアドレスを尋ねて解決し、スポーク間でVPNを張ります。

これにより、上記のハブを経由しないといけない問題や、対向の数だけコンフィグを打ったりする必要がなくなります。

DMVPN(Dynamic Multipoint VPN)とは (infraexpert.com) より図を引用させていただいております。

DMVPNで使う技術など

DMVPNでは、mGREとNHRPを使って構築します。

mGRE(マルチポイントGRE)

mGREは、複数の対向ルータと接続ができるトンネルインターフェースです。

インターフェースをmGREとして動作させるには、「tunnel mode gre multipoint」コマンドを使用します。

(config)#interface tunnel 1

(config-if)#ip address 192.168.10.1 255.255.255.0 (ここはトンネルのIPアドレスなので、プライベートアドレス)

(config-if)#tunnel source 198.3.56.3(ここはインターネット側のIPなのでグローバルIPが多い)

(config-if)#tunnel mode gre multipoint

以上です。通常のGREは、トンネルのあて先にtunnel destinationを使いますが、mGREではNHRPプロトコルを使って、自動的にあて先を取得します。

NHRP(Next Hop Resolution Protocol)

NHRPはmGREを使っている場合にトンネルのあて先IPアドレスを受動的に認識させるためのプロトコルです。

用語

  • トンネルIPアドレス・・・トンネルインターフェースに設定したIPアドレスをトンネルIPアドレスと呼ぶ。
  • NBMAアドレス(Non-Broadcast Multiple Address)・・-他の物理インターフェースを設定したIPアドレスをNBMAアドレスという。
  • NHS(Next Hop Server)・・・NHRP上の管理ルータ。本社のルータであることが多い。
  • NHC(Next Hop Client)・・・NHS以外のルータ

NHCにはNHSのトンネルIPアドレスとNBMAアドレスのマッピング情報を手動で設定します。この情報を使って、NHCはNHSにNHRPメッセージを送信し、自分の情報をNHSに登録します。

NHSはNHCからのメッセージを基にして、すべてのルータのトンネルIPアドレスとNBMAアドレスを管理するNHRPデータベースを作成します。NHC動詞の通信が必要になった場合、NHSがNHCに相手側のNHCのIPアドレスを通知します。

DMVPN設定

DMVPN(Dynamic Multipoint VPN)- mGRE / NHRP / IPsecコンフィグ設定 (infraexpert.com) から引用させていただきました。

上記の構成で、IPSecなしで作成します。

R1(config)#int tunnel 0
R1(config-if)#ip address 172.16.0.1 255.255.255.0
R1(config-if)#tunnel source 1.1.1.1
R1(config-if)#tunnel mode gre multipoint
R1(config-if)#ip nhrp network-id 100
R1(config-if)#ip nhrp map multicast dynamic
R1(config-if)#ip ospf network broardcast
R1(config-if)#exit
R1(config)#router ospf 1
R1(config-router)#network 172.16.0.1 0.0.0.0 area 0
R1(config-router)#network 192.168.1.254 0.0.0.0 area 0

R2(config)#int tunnel 0
R2(config-if)#ip address 172.16.0.2 255.255.255.0
R2(config-if)#tunnel source 2.2.2.2
R2(config-if)#tunnel mode gre multipoint
R2(config-if)#ip nhrp network-id 100
R2(config-if)#ip nhrp nhs 172.16.0.1
R2(config-if)#ip nhrp map 172.16.0.1 1.1.1.1
R2(config-if)#ip nhrp multicast 1.1.1.1
R2(config-if)#ip ospf primary 0
R2(config-if)#ip ospf network broadcast
R2(config-if)#exit
R2(config)#router ospf 1
R2(config-router)#network 172.16.0.2 0.0.0.0 area 0
R2(config-router)#network 192.168.2.254 0.0.0.0 area 0

R3(config)#int tunnel 0
R3(config-if)#ip address 172.16.0.3 255.255.255.0
R3(config-if)#tunnel source 3.3.3.3
R3(config-if)#tunnel mode gre multipoint
R3(config-if)#ip nhrp network-id 1
R3(config-if)#ip nhrp nhs 172.16.0.1
R3(config-if)#ip nhrp map 172.16.0.1 1.1.1.1
R3(config-if)#ip nhrp map multicast 1.1.1.1
R3(config-if)#ip ospf primary 0
R3(config-if)#ip ospf network broardcast
R3(config-if)#exit
R3(config)#router ospf 1
R3(config-router)#network 172.16.0.3 0.0.0.0 area 0
R3(config-router)#network 192.168.3.254 area 0

確認コマンド

R1#sh ip nhrp briefで、NHC(R2とR3)を動的にデータベースに登録していることがわかります。テーブルが表示され、ModeがDynamicになっていればオッケー

R2#sh ip nhrp briefで、NHSが手動で設定されていることがわかります。

Targetが172.16.0.1になっていて、ModeがStaticになっています。

R2#sh ip routeで、NHC同士の情報は好感していないにもかかわらず、NHS経由で情報が好感されていてルーティングテーブルに表示されます。

この場合、OSPFで172.16.0.3 via 172.16.0.1 tunnel 0と表示されます。

NHC同士のセグメントからトレースルートすると、直接接続されているように見えます。

まとめ

以上です。少し複雑ですが、DMVPNは複数拠点間のVPNソリューションとまず覚え、mGREとNHRPを使って設定することをまず理解しましょう。

参考に他のCCNPの記事も書いてます。

【CCNP ENARSI 勉強メモ】ルートマップ | 海外生活情報ブログ (jotsu.blog)

【CCNP ENARSI 勉強メモ】再配送について | 海外生活情報ブログ (jotsu.blog)

コメント

タイトルとURLをコピーしました