Contents
環境
runsuru-01、runsuru-02、runsuru-03の3台のルータがOSPFに参加しています。エリアは、0です。
では、どんな設定が必要か見ていきます。
OSPFの設定が正しいか確認する
ステップ1.OSPFに参加するインタフェースとエリアの設定を確認する。
今回は、各ルータの赤い四角のインタフェースがOSPFに参加していて、エリア0に属しているか確認します。
各ルータにログインをして設定を確認する
ここで3台のルータにログインをして、OSPFの設定を確認していきます。router ospf のところです。
OSPFの設定から見る場合は、以下のコマンドが有効です。「 | begin router ospf」は、show running-configの中から router ospfで始まる(begin)ところから表示してくれます。
show running-config | begin router ospf |
3台分で実施すると以下のようになります。router ospf 1の箇所です。
networkコマンドのところに、①参加するOSPFインタフェースがちゃんとあること。②エリアが一致していること
runsuru-01、runsuru-02、runsuru-03のインタフェースのIPアドレスが設定されているか、エリア番号が間違っていないか確認しましょう。
◾️コマンドの書式
network <IPアドレス> <Wild Card> <エリア番号>
例えば、runsuru-03の「network 10.0.0.0 0.0.0.7 area0」は、10.0.0.0 255.255.255.248(/29)に所属するインタフェースがエリア0でOSPFに参加するということになります。
Wild Cardの値は、IPアドレスのどの部分まで一致させるかを決めます。0.0.0.7だったら、サブネットマスクが 255.255.255.248の範囲までとなります。サブネットマスクの反対ですね。簡単な計算としては、255から引いてあげることです。255-7で248です。
ステップ2.OSPFのネットワークタイプを確認する
今回は、OSPFのネットワークタイプは、以下のように分けています。このタイプが間違っているとOSPFのneighborは上がりません。
- runsuru-01、02、03 :vlan101(10.0.0.0/29) :ブロードキャスト
- runsuru-01、02 :Fa8 (10.1.0.0/30) :ポイントツーポイント
vlan101(10.0.0.0/29) は、3台なのでブロードキャストとしています。runsuru-01と02のFa8は、2台しかないので、ポイントツーポイントにしています。ブロードキャストでもいいのですが、2台しかないのにDR/BDRとか選出させる必要性がないので、ポイントツーポイントにしています。
各ルータにログインをしてvlan101の設定を確認する
ネットワークタイプの設定は、インタフェースのところにあります。
まずは、3台分のvlan101のコンフィグを見てみましょう。
show running-config interface vlan101 |
◾️コマンドの書式
ip ospf network <networkタイプ>
全てbroadcastです。なお、ここではあえて明示的にbroadcastとして設定しました。しかし、実は設定しなくてもEthernetの場合は、broadcastになっています。もし、Ethernetのインタフェースの設定に何も表示されていなかったら、broadcastだと思ってください。
(オプション)ip ospf priorityの設定について
これは必須ではないですが、どのルータ優先的にDRにするか、という設定です。vlan101の設定のところにあります。
◾️コマンドの書式
ip ospf priority <0〜255>
数値が高い方から優先的にDRに選出されます。2番目はBDRです。
runsuru-01 > runsuru-02 > runsuru-03の順番です。
ただ、runsuru-03の値は、0です。これは絶対にDR/BDRに選出されないということです。
runsuru-01、02のルータにログインをしてFa8の設定を確認する
続いて、runsuru-01と02のFa8の設定を確認していきます。
show running-config interface fastEthernet 8 |
全てpoint-to-pointです。Ethernetの場合は、設定しないとbroadcastになってしまうので、明示的にpoint-to-pointにしています。
OSPFの状態が正しいか確認する
ネイバーが確立されているか確認する(show ip ospf neighbor)
3台のルータにログインをして以下のコマンドを打ちます。
show ip ospf neighbor |
サンプルとしてrunsuru-01の結果は、以下の通りです。
①ネイバーIDが表示されます
②Broadcastモードの時に表示されます。2.2.2.2(runsuru-02)は、ip ospf priorityを200に設定しています。
③Fullとなっているとネイバーが確立しています。 /BDRや/DROTHERは、broadcastの時の相手の状態です。※1
※1 BroadcastモードでDROTHER同士がネイバーを確立すると FULLではなく、以下のように2WAY/DROTHERとなります。
補足:ネイバーが確立しない場合
その場合、以下の項目を確認する必要があります。
- helloインターバルが一致していない(ip ospf dead-interval)※下記画像の③
- deadインターバルが一致していない(ip ospf hello-interval)※下記画像の③
- エリアIDが間違っている
- networkコマンドが間違っていてインタフェースがOSPFに参加していない
- ネットワークタイプが違う(ip ospf network)
- 認証パスワードが間違っている※下記画像の②
- MTUサイズが間違っている※下記画像の①
※参考 ①〜③は、interfaceの設定にある
OSPFインターフェースの状態を確認する(show ip ospf interface [brief])
OSPFに参加しているインタフェースを確認します。
もしここでインタフェースが表示されない場合は、networkコマンドでIPアドレスの指定が間違っていることになります。
3台のルータにログインをして以下のコマンドを打ちます。
show ip ospf interface |
サンプルとしてrunsuru-01の結果は、以下の通りです。
ここではhelloインターバルとdeadインターバルを確認できます。その他にも色々と確認できます。
もう少し簡易的にOSPFに参加しているインタフェースを表示される場合は、以下のコマンドを打ちます。
show ip ospf interface brief |
①参加しているOSPFインタフェース
②エリア番号
③State broadcaestだったら自分の状態。point-to-pointは、P2P
runsuru-02とrunsuru-03では表示が異なるのでログインして状態を見るといいと思います。
経路が正しく受信しているか確認する(show ip route)
OSPFネイバーの確認だけではまだ不十分です。OSPFを使うメリットは、自動で経路を学習することです。ここではちゃんと経路を学習できているか確認していきます。
①runsuru03が172.16.0.0/16の経路をOSPFで学習していることを確認する
runsuru-03は、OSPFネイバーのrunsuru-01、runsuru-02から172.16.0.0/16を学習しています。
それを以下のコマンドで確認します。
show ip route |
show ip routeの結果です。
O E2(タイプ5 AS外部LSA)で学習をしています。 via はnext-hopです。この172.16.0.0/16がどこに行けばいいかということです。10.0.0.2(runsuru-02)と10.0.0.1(runsuru-01)からOSPFで学習しているため、この2つがnext-hopになっています。
②runsuru01/02が192.168.100.0/24の経路をOSPFで学習していることを確認する
runsuru-01、runsuru-02は、OSPFネイバーのrunsuru-03から192.168.100.0/24を学習しています。
それを以下のコマンドで確認します。数が多いのでospfだけに絞ります。
show ip route ospf |
runsuru-01のshow ip route ospfの結果です。
O(タイプ1 ルータLSA)で学習をしています。 via は、10.0.0.3になっているのでrunsuru-03から学習していることがわかります。
補足:OSPFで経路を流す設定①
ネイバーの設定をしただけでは、意図した経路をOSPFで流すことはできません。何も設定しないとOSPFに参加したインタフェースだけです。例えば、runsuru-01と02は、172.16.0.0/16の経路をOSPFに流すようにに明示的に設定をしています。
runsuru-01の場合は、この設定です。
redistribute connected subnets です。connectedの経路をOSPFで流してあげるということです。
connectedは、自分が持っている経路です。runsuru-01は、vlan2001で172.16.0.1/16のIPアドレスを持っているから、自分の経路として認識します。connected は、show ip route でも確認できます。
Lは、local。つまりrunsuru-01(自分)ということです。
補足:OSPFで経路を流す設定②
runsuru-03は、上記①と少し設定が違います。このようにしてOSPFに流すようにに明示的に設定をしています。
vlan3001の192.168.100.1/24インタフェースは、neworkコマンドでOSPFに参加させています。OSPFのインタフェースに参加しているので、これだけでもOSPFで伝搬できます。ただ、下記の画像をご覧になればわかる通り、vlan3001側は、OSPFのネイバー関係になれるルータが存在しません。ですので、passive-interface vlan 3001をしてOSPFパケットを無効にしています。
その他コマンド (show ip ospf database)
OSPFのLSDBを見るには、以下のコマンドを入力します。LSAのリストがわかります。
show ip ospf database |
その他コマンド (show ip protocols)
ダイナミックルーティングの動作状況を見るには、以下のコマンドを入力します。OSPFだけでなく、そのルータで動作しているダイナミックルーティングの状況がわかります。
show ip protocol |
赤い四角がOSPFの部分です。
まとめ
ここまでご覧になっていただきましてありがとうございました。
CCNAのシュミレーション対策やOSPFのスキルを上げるために、ぜひ実機にログインして何度も試してみてください。
今回出てきた設定の確認のコマンドや状態確認のコマンドは、以下の通りです。
===設定確認
show running-config | begin router ospf show running-config interface vlan 101 show running-config interface Fastethernet8 ===状態確認 show ip ospf neighbor show ip ospf interface show ip ospf interface brief show ip route show ip route ospf show ip ospf database show ip protocol |