OSPF設定ガイド

$Date: 2023/07/06 20:30:27 $

OSPFの設定を行う上での基本的なガイドラインを示します。

OSPFを使用する

OSPFを使用するためには、ospf useコマンドを設定します。

  # ospf use on

ルーターIDの指定

このルーターのルーターIDをospf router idコマンドで指定します。 ルーターIDとはネットワーク内の各OSPFルーターを一意に識別するための識別番号であり、複数のルーター間で重複しないように指定する必要があります。 ルーターIDには、ルーターのインターフェースに付与されているIPアドレスをルーターIDとして使用するのがよいでしょう。

  # ospf router id 192.168.128.1
ospf router idコマンドでルーターIDを指定しない場合、以下のインターフェースに付与されているプライマリーIPアドレスのいずれかが自動的に選択され、ルーターIDとして使用されます。

しかし、意図しないIPアドレスがルーターIDとして使用されることを防ぐため、明示的にルーターIDを指定することを推奨します。

OSPFとBGP-4とを併用する場合には、ospf router idコマンドかbgp router idコマンドのいずれか一方を設定します。
以下のファームウェアでは、ospf router idコマンドとbgp router idコマンドの両方を設定することができますが、必ず同一のルーターIDを指定するようにしてください。

機種ファームウェア
vRX VMware ESXi版すべてのリビジョン
vRX Amazon EC2版
RTX3510
RTX1300
RTX1220
RTX830
NVR700WRev.15.00.03以降
RTX1210Rev.14.01.16以降
RTX5000Rev.14.00.21以降
RTX3500
FWX120Rev.11.03.22以降

エリアの設定

このルーターが含まれるエリアをospf areaコマンドで設定します。

ospf areaコマンドでは同時にエリアがスタブエリアであるかどうかを設定できます。 スタブエリアであるかどうかの設定はそのエリアに含まれるすべてのルーターで一致している必要があります。

また、ospf areaコマンドでは、エリアで使用する認証の形式を設定することができます。 認証にはプレーンテキスト認証とMD5認証がありますが、ネットワークをモニターしていても認証鍵が分からないMD5認証の利用を推奨します。

このルーターがエリア境界ルーターである場合には、必ずバックボーンエリアも設定します。 エリア境界ルーターは直接バックボーンエリアに接しているか、そうでない場合にも仮想リンクにより必ずバックボーンエリアと接続しているためです。

  # ospf area backbone		バックボーンエリア
  # ospf area 1 stub			エリア1はスタブエリア
  # ospf area 2 auth=md5		エリア2ではMD5認証を利用

エリアのネットワーク範囲の設定

エリア境界ルーターでは、バックボーン以外のエリアに対して、エリア内のネットワークの範囲をospf area networkコマンドで設定できます。 ospf area networkは必ずしも必要な設定ではありませんが、このコマンドを設定しておくと、他のエリアへ経路を広告する時に、個々の経路をospf area networkで設定したネットワーク経路に要約して広告してくれるため、他のエリアで扱う情報が少なくなるというメリットがあります。

また、restrictキーワードをつけたospf area networkコマンドを設定しておくと、そのネットワークに含まれる経路は要約した経路も含めて一切、他のエリアに広告しなくなります。

  # ospf area network 1 192.168.128.0/20
	エリア1以外のエリアには、経路として192.168.128.0/20を広告する

インターフェースの設定

ヤマハルーターの実装では、OSPFのエリアに属するインターフェースは必ずIPアドレスが設定された、numberedの形でなくてはいけません。 そのため、ip INTERFACE addressコマンドで適切なIPアドレスを設定します。

OSPF特有の設定としては、そのインターフェースが属するエリアと、インターフェースのタイプ、認証鍵、その他の各種パラメーターをip INTERFACE ospf areaコマンドで設定します。

LANインターフェースの場合には、INTERFACEにはインターフェース名(lan1, lan2...)が入ります。 PPインターフェースの場合には、ppが入り、pp selectコマンドで設定したPPインターフェースについての設定となります。

インターフェースのタイプについて

インターフェースのタイプはtypeパラメーターで設定します。LANインターフェースの場合にはブロードキャスト型を表すbroadcastのみが設定できます。 PPインターフェースの場合には、PPPを利用する場合にはポイント・ポイントを表すpoint-to-pointのみが、FRを利用する場合にはNBMAを表すnon-broadcastと、ポイント・マルチポイントを表すpoint-to-multipointが設定できます。

PPPを利用する時には、ポイント・ポイント(point-to-point)をネットワークタイプとして利用します。 このとき、近隣ルーターのIPアドレスはip pp remote addressコマンドでの設定か、またはPPPのIPCP IPアドレスオプションを利用して入手します。そのため、ポイント・ポイントを利用する場合には、ip pp remote addressコマンドで接続相手のルーターのIPアドレスを指定するか、あるいはppp ipcp ipaddress onでIPCP IPアドレスオプションのネゴシエーションを行うよう設定します。

FRでNBMA(non-broadcast)を利用するときには、FRの各拠点間のすべての間でPVCが設定されており、FRに接続された各ルーターは他のルーターと直接通信できるような状態、すなわちフルメッシュになっている必要があります。 また、NBMAでは近隣ルーターを自動的に認識することができないため、すべての近隣ルーターをip INTERFACE ospf neighborコマンドで設定する必要があります。

ポイント・マルチポイント(point-to-multipoint)を利用する場合には、FRのPVCはフルメッシュである必要はなく、一部が欠けたパーシャルメッシュ、あるいはスター状の形態でも利用できます。 近隣ルーターはInArpによって自動的に認識するため、InArpの利用が必須となります。 InArpを使うかどうかはfr inarpコマンドで制御できますが、デフォルトではInArpを使用する設定になっているので、ip pp addressコマンドでインターフェースに適切なIPアドレスを与えるだけでInArpを利用するかたちとなります。

ポイント・マルチポイント(point-to-multipoint)と設定されたインターフェースでは、ip INTERFACE ospf neighborコマンドの設定は無視されます。

ポイント・マルチポイントの方がNBMAよりもネットワークの制約が少なく、また設定も簡単ですが、その代わりに回線を流れるトラフィックが大きくなります。 NBMAでは、ブロードキャスト型と同じように指定ルーターが選定され、HELLOなどのOSPFトラフィックは各ルーターと指定ルーターの間だけに限定されますが、ポイント・マルチポイントではすべての通信可能なルーターペアの間にポイント・ポイントリンクがあるという考え方なので、OSPFトラフィックもすべての通信可能なルーターペアの間でやりとりされます。

また、ポイント・マルチポイントはすべてのOSPFルーターで実装されているわけではありません。 例えば、GateDのパブリックコードや初期のCisco IOSの実装ではポイント・マルチポイントはサポートされていません。 このような実装と相互接続する場合にはNBMAを利用する必要があります。

認証鍵について

MD5認証の認証鍵は、md5keyパラメーターで設定できます。

md5keyパラメーターでは、鍵IDと鍵文字列の組を設定します。近隣ルーターとの間で双方が一致していなくてはいけません。 また、md5keyパラメーターは同時に2つまで設定することができます。 2つの鍵が設定された場合、データの送信時にはデータを複製して、それぞれの鍵で認証したデータを2つ送信します。 データの受信時には鍵IDを調べて、一致する方の鍵で認証を確認します。

このように2つの鍵を設定できるようにしているのは、認証鍵を変更する手順を簡単にするためです。

通常の運用では、MD5認証鍵は1つだけ設定しておきます。MD5認証鍵を変更するときは、まず1つのルーターで新旧のMD5認証鍵を2つ設定し、その後、近隣ルーターでMD5認証鍵を新しいものに変更していきます。 そして、最後に2つの鍵を設定したルーターで古い鍵を削除することで、通信を途絶させることなく鍵を変更できます。

その他のパラメーターについて

その他のパラメーターには以下のものがあります。

priority
指定ルーター選定時の優先度。数値が大きいほど指定ルーターに選ばれやすい。 0を設定すると指定ルーターに選ばれなくなる
retransimit-interval
LSAを連続して送る時の再送間隔
transmit-delay
リンクの状態が変わってからLSAを送信するまでの時間
hello-interval
HELLOパケットの送信間隔
dead-interval
近隣ルーターからHELLOを受け取れない時に、近隣ルーターがダウンしたと判断するまでの時間
poll-interval
非ブロードキャストリンクでのみ有効なパラメーターで、近隣ルーターがダウンしている時のHELLOパケットの送信間隔
authkey
プレーンテキスト認証の認証鍵を表す文字列

これらのパラメーターはほとんどはデフォルトの設定値のまま運用できます。ただし、priorityパラメーターは指定ルーターになりたくない場合や、逆に指定ルーターになりたい場合には値を調整します。 priorityパラメーターのデフォルト値は1です。

また、hello-intervaldead-intervalパラメーターの値は近隣ルーターの間で一致している必要があります。 これらのパラメーターが食い違うHELLOパケットを受け取ると、OSPFルーターはそれを無視するので、結果として通信できないことになります。

hello-intervalのデフォルト値はインターフェースのタイプによって異なります。 インターフェースタイプがブロードキャスト(broadcast)またはポイント・ポイント(point-to-point)の場合、10秒に、インターフェースタイプがNBMA(non-broadcast)またはポイント・マルチポイント(point-to-multipoint)の場合には30秒となっています。

dead-intervalのデフォルト値はhello-intervalの値の4倍です。

近隣ルーターの設定

インターフェースタイプがNBMAの場合には、ip INTERFACE ospf neighborコマンドで近隣ルーターを指定します。近隣ルーターはルーターIDではなく、NBMAネットワークに接続するインターフェースのIPアドレスを指定して下さい。 キーワードeligibleはその近隣ルーターが指定ルーターになれることを示します。

  # ip pp ospf neighbor 192.168.128.25
  # ip pp ospf neighbor 192.168.128.26 eligible
	192.168.128.25と192.168.128.26は近隣ルーターだが、192.168.128.26だけが指定ルーターになり得る

インターフェースタイプがNBMA以外の場合には、ip INTERFACE ospf neighborコマンドの設定は無視されます。

バックボーンエリア自身を除くすべてのエリアは、バックボーンエリアと接している必要があります。 つまり、エリア境界ルーターは必ずバックボーンエリアに属するインターフェースを持っています。

しかしながら、エリアの分割の仕方によってはバックボーンエリアと接していないエリアができてしまうことがあります。この時、エリア境界ルーターは、バックボーンエリアに属するインターフェースを一つも持っていませんが、他のエリア境界ルーターとの間で仮想リンクを設定することで、バックボーンエリアに仮想的に所属する必要があります。 仮想リンクは常にバックボーンエリアに属しているとみなされます。

仮想リンクは2つのエリア境界ルーターの間で設定されます。この2つのエリア境界ルーターは同じエリアに属している必要があります。 つまり、仮想リンクはただ1つのエリアを横断する形で存在します。

仮想リンクは、ospf virtual-linkコマンドで設定します。 仮想リンクの相手となるルーターのルーターIDと、仮想リンクが横断するエリアを指定します。 その他に、インターフェースのパラメーターと同様のパラメーターが設定できます。

  # ospf virtual-link 192.168.1.1 10		エリア10を経由するルーター192.168.1.1への仮想リンク

仮想リンクは、一時的なものとして利用するべきです。仮想リンクを固定的に使用するのは、OSPFトラフィックが増大し、また、設定を複雑にしてトラブルの要因が増えるだけで好ましいものではありません。 仮想リンクが生じないようにエリア分割方式を見直すべきです。

外部プロトコルからの経路の導入

OSPFでは、OSPF以外のプロトコル(静的経路やRIP)によって得られた経路を外部経路として他のOSPFルーターに配布することができます。 この機能を利用すると、ダイヤルアップ接続の先は静的経路を設定しておいて、それをOSPFで配布したり、あるいはRIPしか使えないエリアとOSPFが使えるエリアの仲立ちをすることができます。

外部プロトコルからの経路の導入は、ospf import fromコマンドで設定します。 パラメーターとしてプロトコル名と、経路の導入の際に経路を選別するフィルター番号を指定できます。

  # ospf import from static			静的経路はすべて導入する
  # ospf import from rip filter 1			RIPによる経路はフィルター1に合致するものだけ導入する

経路のフィルターはospf import filterコマンドで設定します。 フィルターは、指定したネットワークアドレスに含まれる経路、指定したネットワークアドレス自身をのぞき、それに含まれる経路、指定したネットワークアドレスに一致する経路、およびこれら3つの否定形が記述できます。

  # ospf import filter 1 include 192.168.0.0/24		192.168.0.0/24に含まれる経路、192.168.0.0/24自身を含む
  # ospf import filter 2 refines 192.168.0.0/24		192.168.0.0/24に含まれる経路、192.168.0.0/24自身を含まない
  # ospf import filter 3 equal 192.168.0.0/24		192.168.0.0/24自身
  # ospf import filter 4 not equal 192.168.0.0/24	192.168.0.0/24以外のすべて

OSPFの設定を有効にする

以上のOSPF関係の設定は、すべてospf configure refreshコマンドを投入すると有効になります。 OSPF関係の設定変更を行ったら必ずospf configure refreshコマンドを投入して下さい。

  # ospf configure refresh

関連文書