やっぱり実機でコマンドを打って覚えるのが一番大切です。
当サイトではCiscoルータの実機にログインできる環境を用意しています。
このページを見ながら、コマンドを打って設定や状態を確認をしたら、シュミレーション対策にもなりますし、OSPFのスキルが大幅に向上します。
では、早速ログインしてみましょう!

環境

runsuru-01、runsuru-02、runsuru-03の3台のルータがOSPFに参加しています。エリアは、0です。

では、どんな設定が必要か見ていきます。

OSPFの設定が正しいか確認する

ステップ1.OSPFに参加するインタフェースとエリアの設定を確認する。

今回は、各ルータの赤い四角のインタフェースがOSPFに参加していて、エリア0に属しているか確認します。

各ルータにログインをして設定を確認する

当サイトのCiscoルータのログイン方法

ここで3台のルータにログインをして、OSPFの設定を確認していきます。router ospf のところです。

OSPFの設定から見る場合は、以下のコマンドが有効です。「 | begin router ospf」は、show running-configの中から router ospfで始まる(begin)ところから表示してくれます。

show running-config | begin router ospf

3台分で実施すると以下のようになります。router ospf 1の箇所です。

【runsuru-01】

【runsuru-02】

【runsuru-03】

確認するポイント

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の設定を確認する

当サイトのCiscoルータのログイン方法

ネットワークタイプの設定は、インタフェースのところにあります。

まずは、3台分のvlan101のコンフィグを見てみましょう。

show running-config interface vlan101

【runsuru-01】

【runsuru-02】

【runsuru-03】

◾️コマンドの書式
ip ospf network <networkタイプ>

全てbroadcastです。なお、ここではあえて明示的にbroadcastとして設定しました。しかし、実は設定しなくてもEthernetの場合は、broadcastになっています。もし、Ethernetのインタフェースの設定に何も表示されていなかったら、broadcastだと思ってください。

(オプション)ip ospf priorityの設定について

これは必須ではないですが、どのルータ優先的にDRにするか、という設定です。vlan101の設定のところにあります。

【runsuru-01】

【runsuru-02】

【runsuru-03】

◾️コマンドの書式

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

【runsuru-01】

【runsuru-02】

全てpoint-to-pointです。Ethernetの場合は、設定しないとbroadcastになってしまうので、明示的にpoint-to-pointにしています。

OSPFの状態が正しいか確認する

ネイバーが確立されているか確認する(show ip ospf neighbor)

当サイトのCiscoルータのログイン方法

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のスキルを上げるために、ぜひ実機にログインして何度も試してみてください。

当サイトのCiscoルータのログイン方法

今回出てきた設定の確認のコマンドや状態確認のコマンドは、以下の通りです。

===設定確認

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