概要
DMVPN phase3を設定する際、ip nhrp ~ というコマンドをたくさん入力します。
それぞれのコマンドは何のために必要なのか?debugを見ながら検証しました。
NHRPとは
ブロードキャスト通信ができない環境でネクストホップを解決するプロトコルです。
主にDMVPNで使用します。
↑めちゃくちゃわかりやすい!
構成
前提
・アンダーレイはRIPv2で接続、それぞれの物理IFへのpingは通る
・オーバーレイではeigrpを動作させている
・HUB(R1)とSPOKE-1(R3)はDMVPN phase3が確立できている
・SPOKE-2(R4)含め、eigrp設定済み
検証
SPOKE-2(R4)のトンネルIFにコマンドを追加していき、nhrpやeigrpの動作を確認します。
入力するコマンド
R3とほとんど同じです。
IPアドレスだけ"100.1.1.4"に変更します。
トンネルIFを作成する
カプセル化がデフォルトのpoint-to-point GREになりました。
mGREでカプセル化する
GREがmultipointに変更されています。
トンネルIFがupして、eigrp helloパケットが送信され始めました。
nhrpを有効化する
nhsが見つからないため、nhrpのメッセージを送信できていません。
HUBをnhrpのnext-hop server(nhs)として指定する
nhsのオーバーレイアドレス(100.1.1.1)と通信を試みているものの、何度か失敗しています。
実際の宛先であるアンダーレイのアドレスが不明なようです。
nhsのオーバーレイとアンダーレイアドレスをマッピングする
nhrpのマッピングは成功しましたが、eigrpはupとdownを繰り返しています。
R2-R4間のキャプチャを見てみると、SPOKE-2(100.1.1.4)からeigrpマルチキャスト(224.1.1.10)宛にhelloパケットが送信できていません。
debugだとhelloパケットを送信しているように見えるのですが、届いていないみたいです。悲しい。
eigrpはhelloパケットをマルチキャスト、updateパケットをユニキャストで送信します。
ネイバを確立してお互いの情報を交換するためには、マルチキャストとユニキャスト両方を送受信できる必要があります。
マルチキャストをnhsのアンダーレイアドレスに送信する
マルチキャストとアンダーレイのマッピングが成功しました。
eigrpも安定してお互いの情報を送受信できているようです。
R2-R4間のキャプチャを見てみると、SPOKE-2(100.1.1.4)からeigrpマルチキャスト(224.1.1.10)宛にhelloパケットが送信できています。
eigrpの場合は、no ip split-horizon eigrp の設定が必要です。
設定か所はオーバーレイのIFであるトンネルIFです。
no ip split-horizon eigrp (AS) が正解で、no ip split-horizon は違うコマンドです。
調べてみると、何もつかない方はRIPで使用できるみたいですね。
確認のため、SPOKE-1(R3)にLoopbackアドレス(3.3.3.3)を設定してeigrpでアドバタイズします。
おまけ
nhrpで入力したコマンドをshow runで確認するとき、表示されない場合があります。
そんなときはshow run allで確認するといいかもしれません。
例えば、SPOKEのip nhrp shortcutはshow runには表示されませんが、show run allには表示されます。
show run allは出力が膨大なので、include | ip nhrpで表示するのがおすすめです。
私はDMVPNの勉強を始めたころ、何を設定したかわからなくなってよく混乱していました。
参考
・CCIE Enterprise Infrastructure Foundation
Chapter7:DMVPN
改めてじっくり読むと発見があります。
・IP Addressing Configuration Guide, Cisco IOS XE 17.x
Chapter: Configuring NHRP
・Cisco Community NHRP シリーズ : その1 NHRP とは?
上にも書いたけど、わかりやすい!
・31 Days Before Your CCNP and CCIE Enterprise Core Exam
簡潔で図がわかりやすいです。eigrpの図を載せたかった..
もしお持ちの方がいましたら、Figure 26-2 EIGRP Operation Overview を見ながら読んでほしいです。
まとめ
キャプチャがきれいに取得できて嬉しかったので記事を書こうと思いました。
正直、SPOKEの設定はip nhrp nhs ~ nbma ~ multiを多用しています。
----------------