【Cisco】OSPF Multi-VRF 環境でルートが学習できない? DN Bit と capability vrf-lite の役割

  • URLをコピーしました!
目次

はじめに

OSPF の Multi-VRF 環境を構築する際、データベース上にはルートが存在するにもかかわらず、ルーティングテーブルに LSA Type-3 のルートが反映されないという事象に遭遇することがあります。

この記事では、そのようなルート学習のトラブル原因となる DN Bit の仕様や、解決策となる capability vrf-lite コマンドの役割について解説します。

この記事でわかること
  • OSPF Multi-VRF 環境でルートが反映されない原因
  • DN Bit の仕組みとループ防止機能の概要
  • capability vrf-lite の設定手順と確認方法
  • VRF-lite 環境における設計上の注意点

お時間がない方向けに、 2 分の音声で要点をサクッと解説しています。
※解説はブログ記事をもとに AI で生成しています。

OSPF Multi-VRF 環境でルートが反映されない事象

検証構成と発生したトラブルの概要

一般的な OSPF ネットワークにおいて、エリアを跨いでルート情報を伝播させる際には、 ABR(Area Border Router)によって生成される LSA Type-3(Summary LSA)が利用されます。しかし、 Multi-VRF 環境を構築した際、データベース上には該当の LSA が存在しているにもかかわらず、ルーティングテーブルに反映されないトラブルが発生することがあります。

LSA Type-3(Summary LSA)のみが反映されない原因

通常、 LSA Type-1(Router LSA)や、再配送によって生成された LSA Type-5(AS External LSA)は、 Multi-VRF 環境でも問題なく学習され、ルーティングテーブルに反映されます。

一方で、 LSA Type-3 だけが計算から除外されてしまう事象は、 OSPF プロセスが「ループ防止」を目的として特定の LSA をフィルタリングしているために起こります。 具体的には、 ospf dn bit(down bit / dnbit) と呼ばれるフラグの存在が、この挙動に深く関わっています。

DN Bit によるループ防止機能の仕組み

DN Bit(Downward Bit)とは

DN Bit は、主に MP-BGP を用いた L3VPN 環境などにおいて、 PE ルーター間でのルーティングループを防止するためのフラグです。 PE ルーターが MP-BGP から学習したルートを OSPF に再配送して CE ルーターへ広告する際、該当する LSA の Options フィールドに DN Bit(Downward)を付与します。

もし別の PE ルーターが、この DN Bit が付与された LSA を受信した場合、そのルートは意図的に SPF 計算の対象外となります。これにより、拠点側に配信したルートが再びバックボーン網へ逆流するループ現象の発生を防ぎます。

MP-BGP を使用しない環境での挙動と「仕様」の正体

今回検証したような MP-BGP を使用しない VRF-lite 環境では、本来 DN Bit は付与されません。実際に実機で show ip ospf database summary コマンドを実行して LSA の詳細を確認しても、 Options 項目の一番右に Downward は表示されていません。

R1#show ip ospf database summary
            OSPF Router with ID (192.168.1.101) (Process ID 1)
                Summary Net Link States (Area 1)
  LS age: 751
  Options: (No TOS-capability, DC, Upward) 
  LS Type: Summary Links(Network)
  Link State ID: 10.2.2.1 (summary Network Number)
  Advertising Router: 192.168.1.102
  LS Seq Number: 8000000C
  Checksum: 0x4908
  Length: 28
  Network Mask: /32
        MTID: 0         Metric: 1

また、シスコの公式ドキュメント(OSPF Command Reference)には、以下のような記載があります。

Type-3 LSA received The DN bit is checked. If the DN bit is set, the Type-3 LSA is not considered during the shortest path first (SPF) calculation.

この説明文をそのまま解釈すると、「DN Bit が付与されていない LSA Type-3 は SPF 計算の対象になり、ルーティングテーブルに反映される」と読み取れます。 しかし実際の動作としては、 OSPF プロセスを VRF 上で稼働させた時点で厳格な PE チェックが有効になり、 DN Bit の有無にかかわらず LSA Type-3 がルーティングテーブルから除外される仕様となっています。

過去の検証にてメーカーへ問い合わせた結果、この挙動はソフトウェアの仕様であり、マニュアル上で明確になっていない「ドキュメントのバグ」として扱われるケースがあることが判明しています。

解決策:capability vrf-lite コマンド

コマンドの概要と設定手順

前述したような OSPF の仕様を回避し、 VRF 環境下でも通常通りに LSA Type-3 の情報をルーティングテーブルに反映させるには、 capability vrf-lite コマンドを使用します。

このコマンドを該当する OSPF プロセス(VRF 側)に適用することで、 PE ルーターとしての厳格なチェック機能(DN Bit や VPN Tag の確認)が無効化され、 LSA Type-3 も SPF 計算の対象に含まれるようになります。

設定手順は以下のとおりです。

R1(config)# router ospf 1 vrf poc
R1(config-router)# capability vrf-lite
R1(config-router)# end

設定適用後のルーティングテーブルの変化

capability vrf-lite コマンドの適用前は、以下のように Type-1 と Type-5 のルートのみがルーティングテーブルに学習されていました。

R1#show ip route vrf poc ospf | begin Gateway
Gateway of last resort is not set
      10.0.0.0/32 is subnetted, 1 subnets
O        10.2.2.2 [110/2] via 192.168.1.102, 00:08:33, GigabitEthernet2
      172.16.0.0/32 is subnetted, 1 subnets
O E2     172.16.2.1 [110/1] via 192.168.1.102, 00:08:33, GigabitEthernet2

設定を適用した後は、除外されていた LSA Type-3 の SPF 計算が正常に行われ、新たに O IA としてルート情報(10.2.2.1)が反映されるようになります。

R1#show ip route vrf poc ospf | begin Gateway
Gateway of last resort is not set
      10.0.0.0/32 is subnetted, 2 subnets
O IA     10.2.2.1 [110/2] via 192.168.1.102, 00:04:37, GigabitEthernet2
O        10.2.2.2 [110/2] via 192.168.1.102, 00:04:37, GigabitEthernet2
      172.16.0.0/32 is subnetted, 1 subnets
O E2     172.16.2.1 [110/1] via 192.168.1.102, 00:04:37, GigabitEthernet2

設計上の注意点とトラブルシューティング

ルーティングループのリスクと回避策

capability vrf-lite はルート学習の問題を解決する非常に有用なコマンドですが、本来 OSPF に備わっているループ防止機構(PE チェック)を無効化してしまう点に注意が必要です。

複数ポイントでの再配送を行うような複雑な構成(冗長化された PE ルーター環境など)では、意図しないルーティングループが発生するリスクを伴うため、ルートマップやタグを活用した確実なループ防止策の導入を推奨します。

実運用環境へ適用する前に、シミュレータ等を用いてトポロジ全体の動作検証を行うことをおすすめします。手軽な検証環境の構築については、当ブログの 【Cisco】実機は不要 |「Packet Tracer」のインストールから使い方まで の記事も参考にしてみてください。

よくあるトラブルと確認ポイント

設定変更後もルートが反映されない場合、以下のポイントを確認することがトラブルシューティングの第一歩となります。

  • show ip ospf database summary を実行し、該当の LSA Type-3 が対象ルーターのデータベースに到達しているか
  • OSPF のネイバー関係が FULL ステータスで正常に確立されているか
  • 該当する OSPF プロセス(VRF に紐づくプロセス)に対して、正しくコマンドが適用されているか

OSPF 関連の他の Tips(コスト計算やエリア設計など)を読む

まとめ

  • OSPF の Multi-VRF 環境では LSA Type-3 が SPF 計算から除外される仕様がある。
  • MP-BGP を使わない構成でも PE チェックが働き、 DN Bit の有無に関わらずルートが除外される。
  • 解決には OSPF プロセス内で capability vrf-lite の設定が必要となる。
  • 本機能はループ防止機構をオフにするため、冗長構成での再配送設計には注意が必要である。

以上、最後までお読みいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

主にインフラを得意とするエンジニアです。日々の業務で得た実践的なノウハウや、最新の脆弱性ニュースなどを備忘録を兼ねて発信しています。
同じエンジニアの方々の課題解決のヒントになれば嬉しいです。

[ Certs ] CCIE Lifetime Emeritus / VCAP-DCA ✒️ [ Life ] 技術書・ビジネス書愛好家📖 / 小・中学校で卓球コーチ👟

目次