DMVPN(Dynamic Multipoint VPN)は、本社と多数の拠点を少ない設定でつなぐためのシスコの技術です。CCNP ENARSIのVPN分野(比重20%)で必ず押さえておきたいテーマです。この記事では、仕組みとフェーズごとの違いを順に説明します。
先に結論から
- DMVPNは「mGRE」「NHRP」「IPsec」の3つを組み合わせた仕組みです。
- ハブに拠点(スポーク)を登録させ、必要なときだけスポーク同士で直接トンネルを作ります。
- フェーズ1はハブ経由のみ、フェーズ2と3はスポーク同士で直接通信できます。
- フェーズ3では、ハブが経路を集約してもスポーク間の直接通信ができます。
DMVPNを構成する3つの技術

| 技術 | 役割 |
|---|---|
| mGRE(マルチポイントGRE) | 1つのトンネルインターフェースで、複数の相手とトンネルを張れるようにする |
| NHRP | トンネルのIPアドレスから、相手の実際のIPアドレス(NBMAアドレス)を調べる。スポークはハブ(NHS)に自分のアドレスを登録する |
| IPsec | トンネルを通るデータを暗号化する(DMVPNの必須要素ではないが、実際の運用ではほぼ使う) |
ポイントはNHRPです。スポークは起動するとハブに「自分のトンネルIPと実際のIPはこれです」と登録します。ほかのスポークと通信したいときは、ハブに問い合わせて相手の実際のIPを教えてもらい、直接トンネルを作ります。
フェーズ1・2・3の違い

| フェーズ1 | フェーズ2 | フェーズ3 | |
|---|---|---|---|
| スポーク同士の通信 | 常にハブ経由 | 直接トンネルを作る | 直接トンネルを作る |
| スポークのトンネル | ポイントツーポイントのGRE | mGRE | mGRE |
| ハブでの経路集約 | できる | できない(ネクストホップを変えずに広告する必要がある) | できる |
| 直接トンネルのきっかけ | なし | 経路表のネクストホップ | ハブからのNHRPリダイレクト |
フェーズ2では、スポークは「相手スポークのトンネルIP」をネクストホップとする経路を持つ必要があります。そのため、ハブは経路を集約できず、ネクストホップも書き換えずに広告しなければなりません。フェーズ3では、ハブが「直接つないだほうが早い」とスポークに知らせる(NHRPリダイレクト)ので、ハブでの集約が可能になり、大規模な構成に向いています。
フェーズ3の基本設定
ハブ
interface Tunnel0
ip address 10.0.0.1 255.255.255.0
ip nhrp network-id 1
ip nhrp map multicast dynamic
ip nhrp redirect
tunnel source GigabitEthernet0/0
tunnel mode gre multipoint
スポーク
interface Tunnel0
ip address 10.0.0.2 255.255.255.0
ip nhrp network-id 1
ip nhrp nhs 10.0.0.1 nbma 203.0.113.1 multicast
ip nhrp shortcut
tunnel source GigabitEthernet0/0
tunnel mode gre multipoint
ハブのip nhrp redirectと、スポークのip nhrp shortcutがフェーズ3の目印です。203.0.113.1はハブの実際のIPアドレス(例)です。
確認に使うコマンド
show dmvpn:トンネルの相手と状態(UPかどうか)を一覧で確認するshow ip nhrp:NHRPで登録・解決したアドレスの対応を確認するshow ip route:スポーク宛ての経路とネクストホップを確認する
ENARSIで問われやすいポイント
- EIGRPをフェーズ2で使う場合、ハブでスプリットホライズンを無効にし、ネクストホップを自分に書き換えない設定が必要です。
- OSPFを使う場合は、ネットワークタイプの選び方がポイントです。ブロードキャスト型ならハブをDRにし、スポークはDRにならないよう優先度を0にします。
show dmvpnの出力から、トンネルが張れていない拠点を見つける問題が出やすいです。
ENARSI全体の勉強の進め方は、ENARSIの勉強法でまとめています。
よくある質問
DMVPNにIPsecは必須ですか?
必須ではありません。mGREとNHRPだけでも動きますが、インターネットを通る構成では暗号化のためにIPsecを組み合わせるのが一般的です。
フェーズ2とフェーズ3の一番の違いは何ですか?
フェーズ3では、ハブで経路を集約してもスポーク同士が直接通信できる点です。ハブがNHRPリダイレクトでスポークに直接つなぐよう知らせます。
NHRPのNHSとは何ですか?
Next Hop Serverの略で、スポークが自分のアドレスを登録する先のことです。DMVPNでは通常ハブがNHSになります。
