[Cisco] OSPF基本設定の例とshowコマンドの見方

OSPFの基本設定サンプルを以下に示します。

(config)# router ospf 1
 プロセス番号1のOSPFプロセスを起動
(config-router)# network 10.0.0.0 0.0.0.255 area 0
 10.0.0.0~10.0.0.255のレンジ内のIPアドレスを持つIFにてOSPFのエリア0を有効化
(config-router)# router-id 1.1.1.1
 (任意) ルータIDを1.1.1.1にセット

基本的には①と②の設定を隣接するルータ同士で入れればOSPFのルート情報を交換し始めます。

スポンサーリンク

router ospf [process-id]

プロセス番号(process-id)は1~65535の値であれば任意のものでよく、また、隣接ルータと異なっていても問題ありません。(EIGRPの場合はrouter eigrpの後は[AS番号]が来るので、隣接ルータと同じAS番号を指定する必要がありますが)。

OSPFはプロセスIDを分けることで、1つのルータに複数プロセスを起動できます(主にVRF環境で利用されます)。

network [nw-address] [wild-card] area [area#]

例えば FastEthernet0/0 のIPアドレスが10.0.12.1/24であれば、"network 10.0.12.1 0.0.0.0 area 0" であっても "network 10.0.12.0 0.0.0.255 area 0" であっても、同じ意味合いになります。好みの問題ではありますが、当方はワイルドカードをサブネットに合わせる、後者好みです(隣接ルータと同じ設定が入れられるので)。

全てのインタフェースで有効にしたいのであれば、"network 0.0.0.0 255.255.255.255 area 0"という指定も有りです。("network 0.0.0.0 0.0.0.0 area 0"と指定しても何故か0.0.0.0 255.255.255.255と変換され、正しく動作します。)

また、IFでOSPFを有効化するコマンドはこれ以外に、(config-if)#モードで以下コマンドを打つことで、IFのみの指定も可能です。

(config-if)# ip ospf 1 area 0

これを使えば、例えばSerial IFやTunnel IFで物理IFからIPを借りている場合(同じIPになっている場合)であっても片方のIFのみをOSPF有効化することができます

router-id [router-id]

OSPFのルータIDは「IPアドレスと同じ形式のX.X.X.Xというドット区切りの32bitの情報」になりますがIPアドレスやルーティングには関係しません。あくまでもただのルータの識別子です。以下の優先順位により決まります。

  1. router-id コマンドで指定されているもの
  2. 指定されていない場合はループバックIFのIPアドレスの中で最大値のもの(OSPFが有効でなくてもよい)
  3. ループバックIFが無い場合はその他のIFのIPアドレスの中で最大値のもの(OSPFが有効でなくてもよい)

スポンサーリンク

設定はしなくても動作に問題はありませんが、運用管理の面においては以下の理由で設定したほうがよいです。

  1. show コマンドでOSPFの状態確認するときにはルータIDで表示されるが、例えばルータ#1のルータIDを1.1.1.1としておけば、どのルータなのかが分かり易くなります
  2. Virtual-Linkの設定コマンド上で、対向ルータの指定はルータIDを設定するため、ルータIDを指定しないと別作業(例えばLoopback IFのIPアドレスを設定)が影響し、OSPF再起動時にVirtual Linkの設定が崩れる可能性があります

なお、ルータIDはOSPFプロセス起動時に上記ルールで決まり、プロセス起動中はそのルータIDを使い続けます。なのでrouter-idコマンドを打った後は以下コマンドでプロセス再起動しないとルータIDは変わりません

# clear ip ospf proccess

基本設定の例として下記構成での設定と確認コマンド結果を見ます。

スポンサーリンク

また、OSPFの基本確認コマンド2つを紹介します。

# show ip ospf neighborネイバーの状態を確認します。
# show ip ospf databaseOSPFにより交換されたLSAの情報を確認します。

各ルータでこれらを実行した結果は以下の通りです。

R1

R2

R3

R4

R5

show ip ospf neighbor

R2以外のルータはLoopbackのIPがルータIDになっています。他にLoopbackのIFがなく、それが最大のものだからです。R4ではLoopbackでOSPFを有効にしていませんが、それでもルータIDとして使われています。

R1~R4のマルチアクセス環境で、R2がDRとなっています。これはプライオリティが全て同じなため、ルータIDが一番大きいものが選出されたためです。(「DR/BDRの選定プロセスについて」を参照)

R3⇔R5はポイントtoポイント環境のため、FULL/の後にDRやBDR、DROTHERの表記がありません。ポイントtoポイント環境ではIPアドレスのサブネットを揃える必要はありません

R4⇔R5はR4のs0/0でOSPFが有効になっていないため、ネイバーは張れません。

スポンサーリンク

show ip ospf database

今回は全て同一エリアなので、全て同じ情報を持っていることが分かります。

show ip route

R2でshow ip routeを見ると下記のようになっています。

以下コマンドにより、何も接続されていないf0/1インタフェースをリンクアップさせることができます

(config-if)# no keepalive

また、R3やR5のループバックのIPアドレスが/24のはずなのに/32で伝わってきているのが見えます。

OSPFにおいてLoopback-IFのルート情報はデフォルトでサブネットが /32 に変換されます。しかし"ip ospf network point-to-point"コマンドによって、/32になるのを防ぐことができます

なのでR1のLoopbackのNWアドレスは正しく/24で伝わってきているのが分かります。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする