Pnt273_009さんの助け合いフォーラム投稿一覧
arashi1977様、tym78様
ご回答いただき誠にありがとうございます。
お二人の回答から、「ip nhrp holdtime」の設定はDMVPNのフェーズによって役割が変わるのではないかと理解しました。
★フェーズ1、2(NHS→NHCへNBMAアドレスがアドバタイズされる)
・NHS側・・・アドバタイズするNBMAアドレスが有効な時間を、NHCに指示する。
・NHC側・・・間接的にNHRP登録要求の間隔を変更する。
★フェーズ3(NHC→NHCへNBMAアドレスがアドバタイズされる)
・NHS側・・・設定可能だが効果なし。
・NHC側・・・アドバタイズするNBMAアドレスが有効な時間を、NHCに指示する。
タイトルの通りなのですが、「ip nhrp holdtime」コマンドと「ip nhrp registration timeout」コマンドは、
ハブルータ(NHS)とスポークルータ(NHC)のどちらに設定するのでしょうか?
「ip nhrp holdtime」コマンドの方は、解説にある「ハブがスポークにアドバタイズするNBMAアドレスが有効な時間を示す」という記述からはハブルータの方に設定するように読めますが、
「NHRP情報が期限切れになるとNHRPクライアントはその情報をデータベースから削除」するともあり、スポークルータ側の設定でもあるように受け取れます。
また、「ip nhrp registration timeout」コマンドはスポークルータからハブルータにNHRP登録要求を送信する間隔を指定するコマンドであり、
スポーク側に設定するコマンドであると認識しているのですが、理解が合っているでしょうか?
どなたかご教示いただけると幸いです。
解説にある通り「EIGRPの自動集約を行うのはクラスフルの境界になっているルータ」である点は理解しています。
しかし、設問のネットワークをクラスフルで考えるとすべてクラスB(128.0.0.0~191.255.255.255)に属しているため、
RBとRC(ひいてはRAも)クラスフルの境界に位置するルータとは言えず自動集約も行われないのではないかと考えたのですが、認識が間違っているでしょうか?
(例えば、RBのFa0/0側のネットワークが192.168.0.0/24(クラスC)とかであれば、RBはクラスフルの境界であると言えるかもしれませんが・・・)
ご回答ありがとうございます。
パケトレでは「show ip ospf events」コマンドはサポートされていないようで確認することができませんでした。
代わりにR2で「debug ip ospf events」コマンドを使ってログを出力してみましたが、
やはり最終的にルータID:10.10.10.10のほうがDRに選出されているようで、ご指摘の通りパケトレ特有の挙動なのかもしれません。
ちなみに、R2がDRに選出されている今の状況で、例えばR2のプライオリティを255に変更かつR2がDRに選ばれたままにするためには、
両方のルータのプロセスを同時にリセットする必要があるということでしょうか?
R2#debug ip ospf events
00:19:40: OSPF: Cannot see ourself in hello from 192.168.12.1 on GigabitEthernet0/0/0, state INIT
00:19:40: OSPF: Send immediate hello to nbr 192.168.12.1, src address 192.168.12.1 on GigabitEthernet0/0/0
00:19:40: OSPF: DR/BDR election on GigabitEthernet0/0/0
00:19:40: OSPF: Elect BDR 2.2.2.2
00:19:40: OSPF: Elect DR 2.2.2.2
00:19:40: OSPF: Elect BDR 0.0.0.0
00:19:40: OSPF: Elect DR 2.2.2.2
00:19:40: DR: 2.2.2.2 (Id) BDR: none
00:19:40: OSPF: End of hello processing
00:19:40: OSPF: Rcv DBD from 10.10.10.10 on GigabitEthernet0/0/0 seq 0x3e73d8d7 opt 0x00 flag 0x7 len 32 mtu 1500 state INIT
00:19:40: OSPF: Send DBD to 10.10.10.10 on GigabitEthernet0/0/0 seq 0x2f29024c opt 0x00 flag 0x7 len 32
00:19:40: OSPF: NBR Negotiation Done. We are the SLAVE
00:19:40: OSPF: Send DBD to 10.10.10.10 on GigabitEthernet0/0/0 seq 0x3e73d8d7 opt 0x00 flag 0x2 len 112
00:19:40: OSPF: Neighbor change Event on interface GigabitEthernet0/0/0
00:19:40: OSPF: DR/BDR election on GigabitEthernet0/0/0
00:19:40: OSPF: Elect BDR 0.0.0.0
00:19:40: OSPF: Elect DR 10.10.10.10
00:19:40: OSPF: Elect BDR 2.2.2.2
00:19:40: OSPF: Elect DR 10.10.10.10
00:19:40: DR: 10.10.10.10 (Id) BDR: 2.2.2.2 (Id)
00:19:40: OSPF: Rcv hello from 10.10.10.10 area 0 from GigabitEthernet0/0/0 192.168.12.1
00:19:40: OSPF: End of hello processing
00:19:40: OSPF: Rcv DBD from 10.10.10.10 on GigabitEthernet0/0/0 seq 0x3e73d8d8 opt 0x00 flag 0x3 len 32 mtu 1500 state EXCHANGE
00:19:40: OSPF: Send DBD to 10.10.10.10 on GigabitEthernet0/0/0 seq 0x3e73d8d8 opt 0x00 flag 0x0 len 32
00:19:40: OSPF: Rcv DBD from 10.10.10.10 on GigabitEthernet0/0/0 seq 0x3e73d8d9 opt 0x00 flag 0x1 len 32 mtu 1500 state EXCHANGE
00:19:40: OSPF: Send DBD to 10.10.10.10 on GigabitEthernet0/0/0 seq 0x3e73d8d9 opt 0x00 flag 0x0 len 32
00:19:40: Exchange Done with 10.10.10.10 on GigabitEthernet0/0/0
00:19:40: Synchronized with with 10.10.10.10 on GigabitEthernet0/0/0, state FULL
00:19:40: %OSPF-5-ADJCHG: Process 1, Nbr 10.10.10.10 on GigabitEthernet0/0/0 from LOADING to FULL, Loading Done
00:19:40: OSPF: Send DBD to 10.10.10.10 on GigabitEthernet0/0/0 seq 0x3e73d8d9 opt 0x00 flag 0x0 len 32
00:19:50: OSPF: Rcv hello from 10.10.10.10 area 0 from GigabitEthernet0/0/0 192.168.12.1
00:19:50: OSPF: End of hello processing
00:19:50: OSPF: DR/BDR election on GigabitEthernet0/0/0
00:19:50: OSPF: Elect BDR 2.2.2.2
00:19:50: OSPF: Elect DR 10.10.10.10
00:19:50: **DR: 10.10.10.10 (Id) BDR: 2.2.2.2 (Id)**
00:20:00: OSPF: Rcv hello from 10.10.10.10 area 0 from GigabitEthernet0/0/0 192.168.12.1
00:20:00: OSPF: End of hello processing
パケトレで設問の状況を再現してOSPFプロセスのリセットを実行したところ、リセット後もR1がDRのままでした。
解説では「DRであるR1がDownすると、自動的にBDRであるR2がDRになる」とありますが、
考えるに、プロセスをリセットするとネイバー関係を一度解消してHelloパケットのやり取りからやり直すことになり、Helloパケットに含まれるルータIDを比較してDR/BDRを選出しなおすため、結局ルータIDの大きいR1が再びDRに選ばれるのではないかと思います。
一度DR/BDRが決定すると後からプライオリティやルータIDを変更しても役割は変わらないため、確かにプロセスのリセットは必要かと思いますが、
解答としては、
・R1にR2よりも小さいルータIDを設定する
・R1のOSPFプロセスをリセットする
あるいは
・R2のプライオリティを最大値にする
・R2のOSPFプロセスをリセットする
のいずれかの組み合わせがより正確ではないかと思います。
少なくとも、解説にある「プロセスリセットのみによってDRをBDRに変更できます」という記述は誤りではないかと思うのですが、
ご教示いただけると幸いです。
〈リセット前のR1のネイバーテーブル〉
R1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 FULL/BDR 00:00:38 192.168.12.2 GigabitEthernet0/0/0
〈リセット前のR2のネイバーテーブル〉
R2#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
10.10.10.10 1 FULL/DR 00:00:38 192.168.12.1 GigabitEthernet0/0/0
〈R1でプロセスをリセット〉
R1#clear ip ospf process
Reset ALL OSPF processes? [no]: y
00:09:26: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on GigabitEthernet0/0/0 from FULL to DOWN, Neighbor Down: Adjacency forced to reset
00:09:26: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on GigabitEthernet0/0/0 from FULL to DOWN, Neighbor Down: Interface down or detached
00:09:32: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on GigabitEthernet0/0/0 from LOADING to FULL, Loading Done
〈リセット後のR1のネイバーテーブル〉
R1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 FULL/BDR 00:00:36 192.168.12.2 GigabitEthernet0/0/0
〈リセット後のR2のネイバーテーブル〉
R2#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
10.10.10.10 1 FULL/DR 00:00:39 192.168.12.1 GigabitEthernet0/0/0
パケトレで設問と同様、ルータにconsoleパスワードとVTYパスワードを設定し、enableパスワードは未設定の状態でtelnetを試したところ、
ログインはできましたがenableコマンドを実行すると「No password set.」と表示されコマンド自体が拒否されました。
(SSH接続でも試しましたが、やはり「No password set.」と拒否されます。)
解説ではenableパスワードが設定されていない場合代わりにconsoleパスワードを使用するとありますが、解答が誤っているのではないでしょうか?
ご教示いただけると幸いです。