目次
OSPFの基本的な設定手順
OSPFの基本的な設定手順は、次の2つです。
- OSPFルーティングプロセスの起動
- インタフェースでOSPFを有効化
その他にもさまざまな設定がありますが、この2つの手順でOSPFの基本的な設定はOKです。
OSPFルーティングプロセスの起動
「ルーティングプロセス」とは、実行中のルーティングプロトコル用のプログラムです。「OSPFルーティングプロセスを起動」とは、ルータで「OSPF用のプログラムを実行する」ということを意味します。
OSPFルーティングプロセスを起動するには、グローバルコンフィグレーションモードで次のコマンドを入力します。
(config)#router ospf <process-id>
(config-router)#
<process-id> : OSPFプロセス番号
プロセス番号は1~65535の任意の番号を指定します。1台のルータで複数のOSPFプロセスを起動することもでき、プロセス番号はルータローカルでOSPFプロセスを識別するためのものです。ただ、特別な理由がない限り、複数のOSPFプロセスを起動することはありません。
プロセス番号はルータローカルで利用するので、他のルータと合わせる必要はありません。しかし、ルータごとにバラバラなプロセス番号だと設定がわかりづらくなるので、同じプロセス番号を利用することが一般的です。
インタフェースでOSPFを有効化
そして、インタフェースでOSPFを有効化するには2通りの設定があります。以前より利用している設定はOSPFのコンフィグレーションモードでのnetworkコマンドの設定です。
(config)#router ospf <process-id>
(config-router)#network <ip-address> <wildcardmask> area <area-id>
<process-id> : OSPFプロセス番号
<ip-address> : IPアドレス
<wildcardmask> : ワイルドカードマスク
<area-id> : エリア番号
<ip-address> <wildcardmask>の組み合わせで、OSPFを有効化したいインタフェースに設定されているIPアドレスのビットパターンを指定します。たとえば、「192.168.0.0 0.0.255.255」であれば、先頭16ビットが「192.168」のIPアドレスのインタフェースという意味です。インタフェースでOSPFを有効化するのですが、設定上はインタフェース名ではなく「インタフェースに設定されているIPアドレスのビットパターン」を指定することになります。そして、OSPFを有効化したインタフェースが所属するエリア番号を指定します。
もう1つの設定方法は、OSPFを有効にしたいインタフェースのインタフェースコンフィグレーションモードのip ospf areaコマンドの設定です。
(config)#interface <interface-name>
(config-if)#ip ospf <process-id> area <area-id>
<interface-name> : インタフェース名
<process-id> : OSPFプロセス番号
<area-id> : エリア番号
ip ospf areaコマンドのほうがnetworkコマンドよりも、「このインタフェースでOSPFを有効にするんだ!」ということがわかりやすくなりますね。ただ、OSPFを有効にしたいインタフェースがたくさんあるときは、ip ospf areaコマンドの設定は面倒です。networkコマンドのワイルドカードマスクを工夫すれば、1つのnetworkコマンドで複数のインタフェース一括でOSPFを有効にできます。どちらの設定方法にせよ、「インタフェースでOSPFを有効にする」ということをしっかりと意識してください。
もし、networkコマンドの設定とip ospf areaコマンドの設定が重複している場合は、ip ospf areaコマンドの設定のほうが優先されます。
マルチエリアでABRとして設定する場合は、エリア0のインタフェースとそれ以外のエリアのインタフェースの設定を行えばよいだけです。ABRとするための特別なコマンドはありません。
関連記事
networkコマンドのワイルドカードマスクはACL(Access Control List)の設定でもよく使います。ワイルドカードマスクについて、以下の記事もご覧ください。
インタフェースでOSPFを有効化することの詳細について、以下の記事で解説しています。
その他のさまざまな設定
基本的な設定以外にも、以下のようなよく行う設定もあります。
- ルータIDの設定
- Hello/Deadインターバルの設定
- ネイバー認証の設定
- OSPFコストの設定
- DR/BDRを決定するためのプライオリティの設定
- パッシブインタフェース(passive-interface)の設定
- デフォルトルート生成の設定
これらの設定について、別のページで詳しくまとめています。
関連記事
OSPFの設定例
以下は、シンプルなネットワーク構成でのOSPFの設定例です。
R1の設定
R1はABRです。「network 192.168.12.0 0.0.0.255 area 0」は、IPアドレス「192.168.12.x(x:任意)」のインタフェースでOSPFを有効化してエリア0に所属させるという意味です。つまり、E0/0でOSPFを有効化して、エリア0のインタフェースとしています。そして、「network 192.168.13.1 0.0.0.0 area 1」は、IPアドレス「192.168.13.1」のインタフェース、すなわち、S1/0でOSPFを有効化してエリア1のインタフェースとする設定です。
R1(ABR)のOSPF設定コマンド
router ospf 1 network 192.168.12.0 0.0.0.255 area 0 network 192.168.13.1 0.0.0.0 area 1
R2の設定
R2はインタフェースコンフィグレーションモードでのOSPF有効化の設定例です。E0/0とE0/1の2つのインタフェースでOSPFを有効にして、エリア0に所属させています。
R2 のOSPF設定コマンド
router ospf 1 ! interface Ethernet 0/0 ip ospf 1 area 0 ! interface Ethernet 0/1 ip ospf 1 area 0
R3の設定
そして、R3ではワイルドカードマスクの指定で、E0/1とS1/0の2つのインタフェースを1行のnetworkコマンドで有効化している例です。「network 192.168.0.0 0.0.255.255 area 1」は、IPアドレス「192.168.x.x(x:任意)」のインタフェースが対象です。すなわち、E0/1とS1/0の2つのインタフェースを一括で指定していることになります。
R3 のOSPF設定コマンド
router ospf 1 network 192.168.0.0 0.0.255.255 area 1
OSPFプロセス番号はすべて共通で1としています。これは設定をわかりやすくするためで、プロセス番号は一致していなくても問題ありません。
OSPFの確認コマンド
OSPFの動作を確認するための主な確認コマンドを表にまとめています。
確認コマンド | 概要 |
---|---|
#show running-config | section router ospf | running-configのOSPFのセクションのみを表示します。 |
#show ip protocols | ルーティングプロトコルの全般的な情報を表示します。 |
#show ip ospf | OSPFの全般的な情報を表示します。 |
#show ip ospf interface [brief] | OSPFが有効なインタフェースの情報を表示します。 |
#show ip ospf neighbor | OSPFネイバーを表示します。 |
#show ip ospf database | LSDBの概要を表示します。 |
#show ip route ospf | ルーティングテーブルのOSPFルートを表示します。 |
#debug ip ospf hello | Helloパケットのやり取りを表示します。 |
#debug ip ospf adj | LSDB同期の処理を表示します。 |
show running-config | section router ospf
show running-config | section router ospfコマンドでrunning-configのOSPFのセクションのみを表示できます。OSPFについての設定コマンドが正しく入力されているかを効率よく確認できます。ただ、これではOSPFの設定が入っているかどうかしかわかりません。他のルータとの相互作用が正しくできているかを確認するためには、さらに以降のさまざまなshowコマンドも必要です。
show running-config | section router ospf サンプル
R1#show running-config | section router ospf router ospf 1 log-adjacency-changes network 192.168.12.0 0.0.0.255 area 0 network 192.168.13.1 0.0.0.0 area 1
関連記事
show ip protocols
show ip protocolsコマンドはOSPFに限らずルーティングプロトコルの全般的な情報を表示します。OSPFに関しては、プロセス番号やルータID、networkコマンドの設定、コスト計算式の分子の値などを確認できます。また、後半の「Routing Information Sources」には、同一エリア内のOSPFルータのルータIDが表示されます。
show ip protocols サンプル
R1#show ip protocols Routing Protocol is "ospf 1" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Router ID 192.168.13.1 It is an area border router Number of areas in this router is 2. 2 normal 0 stub 0 nssa Maximum path: 4 Routing for Networks: 192.168.12.0 0.0.0.255 area 0 192.168.13.1 0.0.0.0 area 1 Reference bandwidth unit is 100 mbps Routing Information Sources: Gateway Distance Last Update 192.168.12.2 110 00:02:20 192.168.13.3 110 00:02:20 Distance: (default is 110)
show ip ospf
show ip ospfコマンドでOSPFの処理を行う際のさまざまなタイマの値などを確認できます。また、エリアごとのSPF計算の実行回数もわかります。
show ip ospf サンプル
R1#show ip ospf Routing Process "ospf 1" with ID 192.168.13.1 Start time: 00:01:20.912, Time elapsed: 00:24:17.452 Supports only single TOS(TOS0) routes Supports opaque LSA Supports Link-local Signaling (LLS) Supports area transit capability It is an area border router Router is not originating router-LSAs with maximum metric Initial SPF schedule delay 5000 msecs Minimum hold time between two consecutive SPFs 10000 msecs Maximum wait time between two consecutive SPFs 10000 msecs Incremental-SPF disabled Minimum LSA interval 5 secs Minimum LSA arrival 1000 msecs LSA group pacing timer 240 secs Interface flood pacing timer 33 msecs Retransmission pacing timer 66 msecs Number of external LSA 0. Checksum Sum 0x000000 Number of opaque AS LSA 0. Checksum Sum 0x000000 Number of DCbitless external and opaque AS LSA 0 Number of DoNotAge external and opaque AS LSA 0 Number of areas in this router is 2. 2 normal 0 stub 0 nssa Number of areas transit capable is 0 External flood list length 0 Area BACKBONE(0) Number of interfaces in this area is 1 Area has no authentication SPF algorithm last executed 00:04:34.996 ago SPF algorithm executed 2 times Area ranges are Number of LSA 5. Checksum Sum 0x025DEE Number of opaque link LSA 0. Checksum Sum 0x000000 Number of DCbitless LSA 0 Number of indication LSA 0 Number of DoNotAge LSA 0 Flood list length 0 Area 1 Number of interfaces in this area is 1 Area has no authentication SPF algorithm last executed 00:04:35.000 ago SPF algorithm executed 2 times Area ranges are Number of LSA 4. Checksum Sum 0x00A9B3 Number of opaque link LSA 0. Checksum Sum 0x000000 Number of DCbitless LSA 0 Number of indication LSA 0 Number of DoNotAge LSA 0 Flood list length 0
show ip ospf interface
show ip ospf interfaceはOSPFが有効なインタフェースを表示します。briefをつけると、概要を一覧表示します。briefなしのときは、ネットワークタイプやコスト、Hello/DeadインターバルなどOSPFが有効になっているインタフェースの詳細がわかります。
show ip ospf interface サンプル
R1#show ip ospf interface brief Interface PID Area IP Address/Mask Cost State Nbrs F/C Et0/0 1 0 192.168.12.1/24 10 BDR 1/1 Se1/0 1 1 192.168.13.1/24 64 P2P 1/1 R1#show ip ospf interface Ethernet0/0 is up, line protocol is up Internet Address 192.168.12.1/24, Area 0 Process ID 1, Router ID 192.168.13.1, Network Type BROADCAST, Cost: 10 Transmit Delay is 1 sec, State BDR, Priority 1 Designated Router (ID) 192.168.12.2, Interface address 192.168.12.2 Backup Designated router (ID) 192.168.13.1, Interface address 192.168.12.1 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 oob-resync timeout 40 Hello due in 00:00:09 Supports Link-local Signaling (LLS) Index 1/1, flood queue length 0 Next 0x0(0)/0x0(0) Last flood scan length is 1, maximum is 3 Last flood scan time is 0 msec, maximum is 4 msec Neighbor Count is 1, Adjacent neighbor count is 1 Adjacent with neighbor 192.168.12.2 (Designated Router) Suppress hello for 0 neighbor(s) Serial1/0 is up, line protocol is up Internet Address 192.168.13.1/24, Area 1 Process ID 1, Router ID 192.168.13.1, Network Type POINT_TO_POINT, Cost: 64 Transmit Delay is 1 sec, State POINT_TO_POINT Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 oob-resync timeout 40 Hello due in 00:00:07 Supports Link-local Signaling (LLS) Index 1/2, flood queue length 0 Next 0x0(0)/0x0(0) Last flood scan length is 1, maximum is 2 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 1, Adjacent neighbor count is 1 Adjacent with neighbor 192.168.13.3 Suppress hello for 0 neighbor(s)
show ip ospf neighbor
show ip ospf neighborコマンドでOSPFネイバーを表示します。OSPFはまずネイバーを確立しないといけません。OSPFの動作を確認するには、まず、show ip ospf neighborコマンドで正しくネイバーを確立できているかどうかが重要です。
show ip ospf neighbor サンプル
R1#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 192.168.12.2 1 FULL/DR 00:00:32 192.168.12.2 Ethernet0/0 192.168.13.3 0 FULL/ - 00:00:31 192.168.13.3 Serial1/0
Stateの部分が「FULL/ -」となっているのは、ポイントツーポイントインタフェースであるためDRの選出が必要ないことを表しています。
関連記事
代表的なマルチアクセスネットワークのイーサネット上でのshow ip ospf neighborコマンドがどのように表示されるかについて、以下の記事で詳しく解説しています。
show ip ospf database
OSPF LSDBを表示するためにshow ip ospf databaseコマンドを利用します。show ip ospf databaseコマンドは、LSDBに含まれるLSAを一覧表示します。ABRはエリアごとにLSDBを保持します。
show ip ospf database サンプル
R1#show ip ospf database OSPF Router with ID (192.168.13.1) (Process ID 1) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count 192.168.12.2 192.168.12.2 677 0x80000003 0x00289C 2 192.168.13.1 192.168.13.1 667 0x80000005 0x00B691 1 Net Link States (Area 0) Link ID ADV Router Age Seq# Checksum 192.168.12.2 192.168.12.2 677 0x80000001 0x00DB80 Summary Net Link States (Area 0) Link ID ADV Router Age Seq# Checksum 192.168.3.0 192.168.13.1 671 0x80000001 0x0030DE 192.168.13.0 192.168.13.1 671 0x80000001 0x005DB1 Router Link States (Area 1) Link ID ADV Router Age Seq# Checksum Link count 192.168.13.1 192.168.13.1 667 0x80000005 0x001C2D 2 192.168.13.3 192.168.13.3 1789 0x80000001 0x0012B1 3 Summary Net Link States (Area 1) Link ID ADV Router Age Seq# Checksum 192.168.2.0 192.168.13.1 673 0x80000001 0x001D29 192.168.12.0 192.168.13.1 673 0x80000001 0x004AFB
LSDB内の各LSAの詳細を確認するには、show ip ospf dabaseコマンドにさらにオプションを追加します。
コマンド | 表示する詳細なLSAのタイプ |
---|---|
#show ip ospf database router | LSAタイプ1 ルータLSA |
#show ip ospf database network | LSAタイプ2 ネットワークLSA |
#show ip ospf database summary | LSAタイプ3 ネットワークサマリーLSA |
#show ip ospf database asbr-summary | LSAタイプ4 ASBRサマリーLSA |
#show ip ospf database external | LSAタイプ4 AS外部LSA |
#show ip ospf database nssa-external | LSAタイプ7 NSSA外部LSA |
show ip route ospf
show ip route ospf コマンドでルーティングテーブルのOSPFルートのみを表示します。
show ip route ospf サンプル
R1#show ip route ospf O 192.168.2.0/24 [110/20] via 192.168.12.2, 00:12:23, Ethernet0/0 O 192.168.3.0/24 [110/74] via 192.168.13.3, 00:12:23, Serial1/0
OSPFルートのコードには、以下の表のようにいくつかの種類があります。
コード | OSPFルート種類 |
---|---|
O | エリア内のOSPFルート |
O IA | 他のエリアのOSPFルート |
O E1 | 非OSPFドメインのルート(メトリックタイプ1) |
O E2 | 非OSPFドメインのルート(メトリックタイプ2) |
debug ip ospf hello
debug ip ospf helloでOSPF Helloパケットのやり取りをリアルタイムにコンソールに表示します。
debug ip ospf hello サンプル
R1#debug ip ospf hello OSPF hello events debugging is on R1# *Mar 1 00:36:29.707: OSPF: Rcv hello from 192.168.13.3 area 1 from Serial1/0 192.168.13.3 *Mar 1 00:36:29.707: OSPF: End of hello processing *Mar 1 00:36:30.223: OSPF: Send hello to 224.0.0.5 area 0 on Ethernet0/0 from 192.168.12.1 *Mar 1 00:36:30.223: OSPF: Send hello to 224.0.0.5 area 1 on Serial1/0 from 192.168.13.1 *Mar 1 00:36:30.611: OSPF: Rcv hello from 192.168.12.2 area 0 from Ethernet0/0 192.168.12.2 *Mar 1 00:36:30.611: OSPF: End of hello processing R1#undebug all All possible debugging has been turned off
debug ip ospf adj
debug ip ospf adjでOSPF LSDB同期の処理をリアルタイムにコンソールに表示します。
debug ip ospf adj サンプル
R1#debug ip ospf adj OSPF adjacency events debugging is on R1#clear ip ospf process Reset ALL OSPF processes? [no]: y R1# *Mar 1 00:37:43.267: OSPF: Interface Ethernet0/0 going Down *Mar 1 00:37:43.267: OSPF: 192.168.13.1 address 192.168.12.1 on Ethernet0/0 is dead, state DOWN *Mar 1 00:37:43.267: OSPF: Neighbor change Event on interface Ethernet0/0 *Mar 1 00:37:43.267: OSPF: DR/BDR election on Ethernet0/0 *Mar 1 00:37:43.267: OSPF: Elect BDR 0.0.0.0 *Mar 1 00:37:43.267: OSPF: Elect DR 192.168.12.2 *Mar 1 00:37:43.267: OSPF: Elect BDR 0.0.0.0 *Mar 1 00:37:43.267: OSPF: Elect DR 192.168.12.2 *Mar 1 00:37:43.267: DR: 192.168.12.2 (Id) BDR: none *Mar 1 00:37:43.267: OSPF: 192.168.12.2 address 192.168.12.2 on Ethernet0/0 is dead, state DOWN *Mar 1 00:37:43.267: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.12.2 on Ethernet0/0 from FULL to DOWN, Neighbor Down: Interface down or detached ~省略~
まず見るのは、show ip ospf neighbor
OSPFに関するshowコマンドにはたくさんの種類があります。この中でまず見るべきは、show ip ospf neighborコマンドです。ネイバーがいないと話になりません。そのため、show ip ospf neighborコマンドでネイバーを正常に確立できているかどうかを最初に確認するとよいでしょう。
ネイバーが正常に確立できていないときは、OSPFの設定が間違っているかインタフェースの障害などが考えられます。OSPFの設定が間違っていないかはshow ip ospf interfaceコマンドで意図したとおりにインタフェースでOSPFが有効になっているかを確認するとよいでしょう。
ネイバーが正常に確立できていれば、よっぽど特殊な設定をしていない限り、問題なくOSPFルートがルーティングテーブルに登録されているはずです。show ip route ospfコマンドでOSPFルートを確認しましょう。
OSPFの仕組み
- OSPFとは? 初心者にもわかりやすくOSPFの特徴を解説
- OSPFの処理の流れ
- OSPFルータID ~OSPFルータを識別~
- OSPFルータのルータIDが重複してしまったら?
- OSPF ネイバーとアジャセンシー
- OSPF DR/BDR
- イーサネット上のshow ip ospf neighborの見え方
- OSPFネットワークタイプ ~OSPFが有効なインタフェースの分類~
- OSPF LSDBの同期処理
- 大規模なOSPFネットワークの問題点
- OSPFエリア ~エリア内は詳しく、エリア外は概要だけ~
- OSPFルータの種類
- OSPF LSAの種類
- OSPF エリアの種類
- OSPFの基本的な設定と確認コマンド [Cisco]
- インタフェースでOSPFを有効化することの詳細
- OSPF ループバックインタフェースのアドバタイズ
- OSPF Hello/Deadインターバルの設定と確認コマンド
- OSPFコストの設定と確認
- OSPFルータプライオリティの設定と確認コマンド
- OSPFネイバー認証の設定 ~正規のルータとのみネイバーになる~
- バーチャルリンク上のネイバー認証
- OSPF スタブエリアの設定と確認[Cisco]
- OSPF スタブエリアの設定例 [Cisco]
- OSPFデフォルトルートの生成 ~default-information originateコマンド~
- OSPFデフォルトルートの生成 ~スタブエリア~
- OSPF バーチャルリンク ~仮想的なエリア0のポイントツーポイントリンク~
- OSPF バーチャルリンクの設定と確認 [Cisco]
- OSPF バーチャルリンクの設定例 [Cisco]
- OSPF 不連続バックボーンのVirtual-link設定例
- OSPFのルート集約と設定
- OSPFルート集約の設定例(Cisco)
- OSPF ルート種類による優先順位
- OSPFネイバーの状態がExstartでスタックする原因
- OSPFパケットの種類とOSPFヘッダフォーマット
- OSPF Helloパケット
- OSPF DD(Database Description)パケット
- OSPF LSR(Link State Request)パケット
- OSPF LSU(Link State Update)パケット
- OSPF LSAck(Link State Acknowledgement)パケット
- OSPF 再配送ルートの制限 ~redistribute maximum-prefixコマンド~
- OSPFでのディストリビュートリスト/プレフィクスリストの動作
- OSPFでのディストリビュートリストの設定例 Part1
- OSPFでのディストリビュートリストの設定例 Part2
- OSPFのLSAフィルタの概要 ~LSAタイプ3/タイプ5をフィルタ~
- LSAタイプ3のフィルタ設定例
- LSAタイプ5のフィルタ設定例
- 3階層モデルLANのOSPFルーティング
- 演習:実践的なOSPFルーティング Part1:OSPFの基本設定
- 演習:実践的なOSPFルーティング Part2:デフォルトルートの生成
- 演習:実践的なOSPFルーティング Part3:スタブエリア
- 演習:実践的なOSPFルーティング Part4:ルート集約
- 演習:実践的なOSPFルーティング Part5:トラブルシューティング
- OSPF 設定ミスの切り分けと修正 Part1
- OSPF 設定ミスの切り分けと修正 Part2
- OSPF 設定ミスの切り分けと修正 Part3
- OSPF 設定ミスの切り分けと修正 Part4
- OSPF 設定ミスの切り分けと修正 Part5
- OSPF 設定ミスの切り分けと修正 Part6
- Cisco OSPFv3 for IPv4の設定と確認コマンド
- Cisco OSPFv3 for IPv4の設定例
- OSPFv3の設定例 [Cisco]
- OSPFv3 ルート集約の設定例 [Cisco]