RackShare

OSPFでデフォルトルートが配布されない原因と対処法

運営 ・ 公開 2026-08-03 ・ 更新 2026-08-03 ・ 閲覧 1
通常記事 CCNA

OSPFでデフォルトルートが配布されない原因と対処法

OSPF環境で、インターネット接続ルータから内部ルータへデフォルトルートを配布したい場合、次のコマンドを使用します。

router ospf 1
 default-information originate

しかし、このコマンドを設定したにもかかわらず、ほかのルータにデフォルトルートが配布されないことがあります。

この記事では、その原因と対処法をCisco IOSの設定例で解説します。

検証構成

次の構成を使用します。

インターネット
     |
  192.0.2.1
     |
  192.0.2.2
    R1
10.0.12.1/30
     |
10.0.12.2/30
    R2

R1はインターネットへ接続する境界ルータです。

R1とR2の間ではOSPFが動作しています。R1からR2へデフォルトルートを配布することが目的です。

OSPFの基本設定

R1には次の設定を行います。

R1(config)# router ospf 1
R1(config-router)# router-id 1.1.1.1
R1(config-router)# network 10.0.12.0 0.0.0.3 area 0
R1(config-router)# default-information originate

R2には次の設定を行います。

R2(config)# router ospf 1
R2(config-router)# router-id 2.2.2.2
R2(config-router)# network 10.0.12.0 0.0.0.3 area 0

OSPFネイバーが確立していることを確認します。

R2# show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address       Interface
1.1.1.1           1   FULL/DR         00:00:32    10.0.12.1    GigabitEthernet0/0

ところが、R2のルーティングテーブルを確認しても、デフォルトルートがありません。

R2# show ip route

Gateway of last resort is not set

原因:R1自身がデフォルトルートを持っていない

default-information originateは、設定しただけで必ずデフォルトルートを生成するコマンドではありません。

通常は、OSPFルータ自身のルーティングテーブルにデフォルトルートが存在する場合に限り、その経路をOSPFへ配布します。

R1のルーティングテーブルを確認します。

R1# show ip route 0.0.0.0
% Network not in table

R1自身がデフォルトルートを持っていないため、R2にもデフォルトルートが配布されていません。

対処法1:R1にデフォルトルートを設定する

R1に、インターネット側をネクストホップとするスタティックデフォルトルートを設定します。

R1(config)# ip route 0.0.0.0 0.0.0.0 192.0.2.1

R1のルーティングテーブルを確認します。

R1# show ip route 0.0.0.0

Routing entry for 0.0.0.0/0
  Known via "static", distance 1, metric 0
  Routing Descriptor Blocks:
  * 192.0.2.1

これで、R1のルーティングテーブルにデフォルトルートが登録されました。

R2でも確認します。

R2# show ip route ospf

O*E2  0.0.0.0/0 [110/1] via 10.0.12.1, 00:00:08, GigabitEthernet0/0

R1から配布されたデフォルトルートが、O*E2として登録されています。

  • O:OSPFで学習した経路
  • *:デフォルトルート候補
  • E2:OSPF外部タイプ2の経路

対処法2:alwaysを指定する

R1がデフォルトルートを持っていない状態でも、強制的にデフォルトルートを配布する方法があります。

R1(config)# router ospf 1
R1(config-router)# default-information originate always

alwaysを追加すると、R1のルーティングテーブルにデフォルトルートが存在しなくても、OSPFへ0.0.0.0/0を配布します。

R2# show ip route ospf

O*E2  0.0.0.0/0 [110/1] via 10.0.12.1, 00:00:05, GigabitEthernet0/0

alwaysを安易に使うとブラックホールが発生する

alwaysを使えば簡単にデフォルトルートを配布できますが、注意が必要です。

R1が実際にはインターネットへ到達できない状態でも、R2は引き続きR1をデフォルトゲートウェイとして使用します。その結果、R2から送信されたパケットがR1で破棄される「ブラックホール」が発生する可能性があります。

本番環境では、単純にalwaysを指定するのではなく、IP SLAやトラッキングを組み合わせて、上位回線へ到達できる場合だけデフォルトルートを有効にする方法があります。

IP SLAを使って到達性を監視する

R1から上位ネットワークのIPアドレスへ定期的にICMP Echoを送信します。

R1(config)# ip sla 1
R1(config-ip-sla)# icmp-echo 192.0.2.1 source-interface GigabitEthernet0/1
R1(config-ip-sla-echo)# frequency 5
R1(config-ip-sla-echo)# exit
R1(config)# ip sla schedule 1 life forever start-time now

続いて、IP SLAの結果をトラッキングします。

R1(config)# track 1 ip sla 1 reachability

スタティックデフォルトルートにトラックを関連付けます。

R1(config)# ip route 0.0.0.0 0.0.0.0 192.0.2.1 track 1

OSPFには通常のdefault-information originateを設定します。

R1(config)# router ospf 1
R1(config-router)# default-information originate

この構成では、次のように動作します。

  1. IP SLAが上位ルータへの到達性を監視する
  2. 到達可能な場合は、R1にデフォルトルートが登録される
  3. R1がOSPFでデフォルトルートを配布する
  4. 到達不能になると、R1のデフォルトルートが削除される
  5. OSPFによるデフォルトルートの配布も停止する

IP SLAの状態は次のコマンドで確認できます。

R1# show ip sla statistics
R1# show track 1

OSPFのE1とE2の違い

default-information originateによって配布されるデフォルトルートは、デフォルトではE2経路になります。

E2では、OSPFドメイン内部を通過するコストが、外部経路のメトリックに加算されません。一方、E1では、外部メトリックにOSPF内部コストが加算されます。

E1として配布する場合は、次のように設定します。

R1(config)# router ospf 1
R1(config-router)# default-information originate metric-type 1

メトリックも指定できます。

R1(config-router)# default-information originate metric 50 metric-type 1

R2では、次のように表示されます。

R2# show ip route ospf

O*E1  0.0.0.0/0 [110/51] via 10.0.12.1, 00:00:06, GigabitEthernet0/0

複数の出口ルータが存在し、出口までのOSPF内部コストも含めて経路を選択させたい場合は、E1が適しています。

まとめ

default-information originateを設定してもデフォルトルートが配布されない場合は、まずOSPFを設定したルータ自身が0.0.0.0/0を持っているか確認します。

show ip route 0.0.0.0

ポイントは次の3つです。

  • default-information originateは、原則として自分が持つデフォルトルートをOSPFへ配布する
  • alwaysを付けると、デフォルトルートがなくても強制的に配布する
  • 実環境ではIP SLAとtrackを組み合わせると、到達不能時のブラックホールを防ぎやすい

OSPFネイバーが正常なのにデフォルトルートだけ学習できない場合は、ネイバー関係ではなく、ASBR側のルーティングテーブルを確認することが重要です。

♥ 0(いいねはログイン後)

コメント 0 件

コメントするにはログインしてください。