CiscoルータのOSPFの設定方法

OSPFの設定

今回はOSPFに関する設定を解説していきます。OSPFはRIPよりも細かな設定が可能です。

OSPFを動作させる基本的な設定のみを解説していきます。OSPFに関する技術的な解説は、「ルーティング技術」で解説していますので、併せて読んでおくと良いと思います。

OSPF の設定は以下の流れで行います。

  1. router ospf コマンドでOSPFを有効にします。
    Router(config)#router ospf [プロセスID]
    ※プロセスIDは、1 ~ 65525 で任意の値
  2. networkコマンドでOSPFを動作させるネットワークアドレスを指定します。
    Router(config-router)#network [ネットワークアドレス][ワイルドカードマスク] area [エリアID]

ネットワークアドレスは、自身のルータに設定しているネットワークアドレスを指定します。
また、ワイルドカードマスクを指定することで、複数のネットワークアドレスを指定させることも可能です。

以下のルータの場合の設定例を見ていきましょう。

コマンド実行結果

Router(config)#router ospf 1
Router(config-router)#network 192.168.1.0 0.0.0.255 area 0

と設定した場合、「192.168.1.0」のネットワークのインタフェースでOSPFが動作します。
この例ですと、E0 のインタフェースが該当します。

では、下記のように設定した場合はどうでしょう?

Router(config)#router ospf 1
Router(config-router)#network 192.168.0.0 0.0.255.255 area 0

この場合は、「192.168.0.0」のネットワークのインタフェースでOSPFが動作します。(E0 と S0 のインタフェースで動作)

では、すべてのインタフェースで動作させる場合はどうすればよいのでしょうか?

今回の例では、

Router(config)#router ospf 1
Router(config-router)#network 192.168.0.0 0.0.255.255 area 0
Router(config-router)#network 172.16.1.0 0.0.0.255 area 0

とすれば全てのインタフェースで動作するようになります。
また、設定をさらに簡略化する方法として、

Router(config)#router ospf 1
Router(config-router)#network 0.0.0.0 255.255.255.255 area 0

とすることで全てのインタフェースを動作させることも可能です。ただしこのように設定してしまうと、ネットワークの構成の変更などでインタフェースを増設した場合などに、そのインタフェースでもOSPFが動作してしまいます。想定していないインタフェースで動作することを防ぐためにも、ネットワークを細かく分けた方が良い場合もあります。

さてそれでは以下の構成を例にしてOSPFを設定例を見てみましょう。

まずはすべてのインタフェースがエリア0に属しているRTBの設定例から見てみましょう。

RTBの設定例

RTB#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.

RTB(config)#router ospf 1
RTB(config-router)#network 192.168.1.0 0.255.255.255 area 0
RTB(config-router)#network 10.1.1.0 0.255.255.255 area 0
RTB(config-router)#end

続いて RTA と RTC の設定例です。

RTAの設定例

RTA#conf t
Enter configuration commands, one per line.  End with CNTL/Z.

RTA(config)#router ospf 1
RTA(config-router)#network 192.168.1.0 0.0.0.255 area 0
RTA(config-router)#network 172.16.1.0 0.0.0.255 area 1
RTA(config-router)#end
RTA#

RTCの設定例

RTC#conf t
Enter configuration commands, one per line.  End with CNTL/Z.

RTC(config)#router ospf 1
RTC(config-router)#network 10.1.1.0 0.0.0.255 area 0
RTC(config-router)#network 10.1.2.0 0.0.0.255 area 2
RTC(config-router)#end

OSPFの設定確認

OSPFの設定を確認するには、以下のコマンド確認できます。

Router#sh ip protocols

コマンド実行結果

RTA#sh ip protocols

Routing Protocol is "ospf 1" #プロセスID
  Sending updates every 90 seconds, next due in 10 seconds
  Invalid after 30 seconds, hold down 0, flushed after 60
  Outgoing update filter list for all interfaces is
  Incoming update filter list for all interfaces is
  Redistributing:   ospf 1
  Routing for Networks: 
    192.168.1.0 0.0.0.255 area 0
    172.16.1.0 0.0.0.255 area 1
  Routing Information Sources:
    Gateway         Distance      Last Update
    192.168.1.1          110      00:00:015 

  Distance: (default is 110)

OSPFのプロセスIDやアドミニストレイティブディス値などの情報を確認することが出来ます。

OSPFネイバーの確認

OSPFの設定をしたのに、通信できないなんてときは、OSPFの隣接関係(ネイバー)が確立したいない場合があります。

OSPFが正常に動作すると、隣接ルータとのネイバー関係が確立します。
OSPFのネイバー情報を確認するコマンドは、障害時によく使いますので覚えておいた方がよいでしょう。

Router#show ip ospf neighbor

コマンド実行結果

RTA#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
192.168.1.2     1     FULL/           00:26:05    192.168.1.2         FastEthernet0/0

「Neighbor ID」は認識しているネイバーのルータIDです。
「State」はネイバーとのOSPFのステータスを表していて、隣接ルータとのルーティングのやり取りが正常に行われていれば、「FULL」と表示されます。

OSPFが動作しているインタフェースの確認

OSPFを確認するコマンドでもう1つ重要なコマンドがあります。OSPFが動作しているインタフェースの情報を確認するコマンドがそれです。

実際にどのインタフェースでOSPFが動作しているのかを確認することができます。

Router#show ip ospf interface

コマンド実行結果

RTA#show ip ospf interface

FastEthernet0/0 is up, line protocol is up
  Internet Address 192.168.1.1/24 , Area 0
  Process ID 1, Router ID 192.168.1.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State BDR, Priority 1
  Designated Router (ID) 192.168.1.2, Interface address 192.168.1.1
  Backup Designated router (ID) 192.168.1.1, Interface address 192.168.1.1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 00:00:02
  Neighbor Count is 1, Adjacent neighbor count is 1
  Adjacent with neighbor 192.168.1.2(Designated Router)
  Suppress hello for 0 neighbor(s)
FastEthernet0/1 is up, line protocol is up
  Internet Address 172.16.1.1/24 , Area 0
  Process ID 1, Router ID 192.168.1.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DR, Priority 1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 00:00:02
  Neighbor Count is 0, Adjacent neighbor count is 0
  Suppress hello for 0 neighbor(s)

このコマンドでルータIDやHelloインターバルやDeadインターバルの値などを確認することができます。

ダイナミックルーティングのテーブルをリフレッシュ

ダイナミックルーティングは自動的にルーティングテーブルを構築してくれます。しかし、ルータに処理の問題などでルーティングテーブルが作られなかったり、想定通りの動きをしてくれない場合があります。

そんな時はルーティングテーブルのリフレッシュをしてみるのも一つの手です。
コマンドは以下です。

全てのルーティングテーブルをリフレッシュ

Router#clear ip route \*

ネットワークを指定してリフレッシュしたい場合

Router#clear ip route [ネットワークアドレス]

ネットワーク 192.168.1.0 のテーブルをリフレッシュしたい場合

Router#clear ip route 192.168.1.0

関連記事

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: