DMVPN フェーズ1のトンネルで OSPF を有効にしたら、ハブでネイバーのダウンのログが大量に出て、隣接関係ができない。この記事では、この現象の原因がトンネルインターフェースの OSPF ネットワークタイプにあることを確かめ、DMVPN で使えるネットワークタイプを整理します。
- トンネルインターフェースの既定のネットワークタイプは point-to-point であること
- point-to-point で複数のスポークとネイバーになろうとすると隣接関係がリセットを繰り返すこと
- DMVPN で使う OSPF のネットワークタイプの違い
DMVPN フェーズ1の構成
ハブの R2 と、スポークの R5・R6 は、中継ルータ R3 を通るアンダーレイのネットワーク(169.254.x.0/24)でつながっています。その上に、DMVPN のトンネルでオーバーレイのネットワーク 192.168.0.0/24 を作ります。アンダーレイとオーバーレイの設定は 【DMVPN】フェーズ1をわかりやすく解説 を参照してください。
DMVPN フェーズ1上の OSPF の構成
アンダーレイは省き、オーバーレイのネットワークだけに注目します。トンネル(192.168.0.0/24)と各ルータのループバックをエリア0にして、ループバックのアドレスを広告します。
トンネルとループバックで OSPF を有効にする
R2(ハブ)
R2(config)#router ospf 1 R2(config-router)# network 2.2.2.2 0.0.0.0 area 0 R2(config-router)# network 192.168.0.0 0.0.0.255 area 0
R5(スポーク)
R5(config)#router ospf 1 R5(config-router)#network 5.5.5.5 0.0.0.0 area 0 R5(config-router)#network 192.168.0.0 0.0.0.255 area 0
R6(スポーク)
R6(config)#router ospf 1 R6(config-router)#network 6.6.6.6 0.0.0.0 area 0 R6(config-router)#network 192.168.0.0 0.0.0.255 area 0
ハブに出るログを確認する
設定すると、ハブの R2 で次のログが大量に出て、R5・R6 との隣接関係ができません。
%OSPF-5-ADJCHG: Process 1, Nbr 5.5.5.5 on Tunnel0 from EXCHANGE to DOWN, Neighbor Down: Adjacency forced to reset %OSPF-5-ADJCHG: Process 1, Nbr 6.6.6.6 on Tunnel0 from EXCHANGE to DOWN, Neighbor Down: Adjacency forced to reset %OSPF-5-ADJCHG: Process 1, Nbr 5.5.5.5 on Tunnel0 from EXCHANGE to DOWN, Neighbor Down: Adjacency forced to reset %OSPF-5-ADJCHG: Process 1, Nbr 6.6.6.6 on Tunnel0 from EXCHANGE to DOWN, Neighbor Down: Adjacency forced to reset %OSPF-5-ADJCHG: Process 1, Nbr 5.5.5.5 on Tunnel0 from EXCHANGE to DOWN, Neighbor Down: Adjacency forced to reset %OSPF-5-ADJCHG: Process 1, Nbr 6.6.6.6 on Tunnel0 from EXCHANGE to DOWN, Neighbor Down: Adjacency forced to reset %OSPF-5-ADJCHG: Process 1, Nbr 5.5.5.5 on Tunnel0 from EXCHANGE to DOWN, Neighbor Down: Adjacency forced to reset
| 表示 | 意味 |
|---|---|
| from EXCHANGE to DOWN | LSDB の情報を交換している途中(EXCHANGE)で、ネイバーが DOWN に戻った |
| Adjacency forced to reset | 隣接関係が強制的にリセットされた。R5 と R6 で交互に起きている |
ネットワークタイプを確認する
原因は OSPF のネットワークタイプです。R2 のトンネルインターフェースを確認すると、ネットワークタイプは POINT_TO_POINT です。トンネルインターフェースでは、OSPF のネットワークタイプは既定で point-to-point になります。
R2# show ip ospf interface tunnel 0
Tunnel0 is up, line protocol is up
Internet Address 192.168.0.2/24, Area 0, Attached via Network Statement
Process ID 1, Router ID 2.2.2.2, Network Type POINT_TO_POINT, Cost: 1000
Topology-MTID Cost Disabled Shutdown Topology Name
0 1000 no no Base
point-to-point は、相手が1台だけのリンクのためのネットワークタイプで、ネイバーは1台しか持てません。ハブの R2 は、R5 と R6 の2台とネイバーになろうとします。片方と隣接関係を作り始めると、もう片方の Hello で隣接関係がリセットされ、これを繰り返します。
DMVPN で使うネットワークタイプ
DMVPN で複数のスポークをつなぐには、トンネルインターフェースで ip ospf network コマンドを使ってネットワークタイプを変えます。OSPF には次の5つのネットワークタイプがあります。
| ネットワークタイプ | ネイバーの検出 | DR・BDR | Hello/Dead (既定) | DMVPN での使い方 |
|---|---|---|---|---|
| broadcast | 自動 | 選ぶ | 10/40 秒 | ハブを DR、スポークは優先度 0。フェーズ2でスポーク間を直接通信できる |
| non-broadcast | neighbor で指定 | 選ぶ | 30/120 秒 | broadcast と同じだが、ハブで neighbor を指定する |
| point-to-point | 自動 | 選ばない | 10/40 秒 | ネイバーは1台だけ。ハブには使えない(この記事の現象) |
| point-to-multipoint | 自動 | 選ばない | 30/120 秒 | 設定が簡単。ネクストホップがハブになるので、フェーズ1向け |
| point-to-multipoint non-broadcast | neighbor で指定 | 選ばない | 30/120 秒 | point-to-multipoint と同じだが、ハブで neighbor を指定する |
それぞれのネットワークタイプを DMVPN で動かした結果は、下の記事で確かめています。
- フェーズ1:broadcast/non-broadcast/point-to-multipoint/point-to-multipoint non-broadcast
- フェーズ2:broadcast/non-broadcast
まとめ
DMVPN のトンネルで OSPF を有効にしただけでは、ネットワークタイプは point-to-point のままで、ハブが複数のスポークと隣接関係を作れません。Adjacency forced to reset のログが繰り返し出たら、show ip ospf interface でネットワークタイプを確認し、DMVPN のフェーズに合ったネットワークタイプに変えます。
コメント