HA A/Pフェイルオーバー後にOSPFルートがRIBに反映されず、Cisco Nexus VPCクラスタでネイバーシップが exstart状態のままになる
946
Created On 12/12/23 10:25 AM - Last Modified 10/29/25 18:42 PM
Symptom
- アクティブ/パッシブHAセットアップのPalo Alto Networksファイアウォールと L3 HSRP が設定された Cisco Nexus スイッチ間でOSPF隣接関係が確立されました。
- 隣接する Nexus スイッチからアドバタイズされたOSPFルートが、アクティブ FW-A に正しく表示されます。
FW-A(active)> show routing route VIRTUAL ROUTER: DR-VR (id 8) ========== destination nexthop metric flags age interface next-AS 0.0.0.0/0 192.168.139.42 11 A O1 1809717 ethernet1/18.705 10.19.12.0/24 192.168.139.42 20 A O2 1809717 ethernet1/18.705 10.19.13.0/24 192.168.139.42 20 A O2 1809717 ethernet1/18.705 10.19.14.0/24 192.168.139.42 20 A O2 1809717 ethernet1/18.705 10.19.15.0/25 192.168.139.42 58 A Oo 1809717 ethernet1/18.705 10.19.16.0/25 192.168.139.42 54 A Oi 1809717 ethernet1/18.705
- ランニングFW-A(アクティブノード)では、 DR 192.168.139.42 がフル状態に表示されますが、 BDR 192.168.139.43 は「交換開始」状態です。
virtual router: DR-VR neighbor address: 192.168.139.42 local address binding: 0.0.0.0 type: dynamic status: full <<<<<<<<<<<<<<<< neighbor router ID: 192.168.129.245 area id: 0.0.0.0 neighbor priority: 1 lifetime remain: 30 messages pending: 0 LSA request pending: 0 options: 0x42: O E hello suppressed: no restart helper status: not helping restart helper time remaining: 0 restart helper exit reason: none ========== virtual router: DR-VR neighbor address: 192.168.139.43 local address binding: 0.0.0.0 type: dynamic status: exchange start <<<<<<<<<<<<<<<< neighbor router ID: 192.168.129.246 area id: 0.0.0.0 lines 1-62 neighbor priority: 1 lifetime remain: 39 messages pending: 0 LSA request pending: 0 options: 0x00 hello suppressed: no restart helper status: not helping restart helper time remaining: 0 restart helper exit reason: none
- フェイルオーバーが発生し、FW-Bがアクティブになると、 OSPFルートはルーティングテーブルに表示されなくなりますが、出力。
- ランニングFW-B (フェイルオーバー後にアクティブ) では、 DR 192.168.139.42 が「exchange start」で停止しているが、 BDR 192.168.139.43 は Full状態であることが示されます。
virtual router: DR-VR neighbor address: 192.168.139.42 local address binding: 0.0.0.0 type: dynamic status: exchange start <<<<<<<<<<<<<<<< neighbor router ID: 192.168.129.245 area id: 0.0.0.0 neighbor priority: 1 lifetime remain: 37 messages pending: 0 LSA request pending: 0 options: 0x00 hello suppressed: no restart helper status: not helping restart helper time remaining: 0 restart helper exit reason: none ========== virtual router: DR-VR neighbor address: 192.168.139.43 local address binding: 0.0.0.0 type: dynamic lines 1-59 status: full <<<<<<<<<<<<<<<< neighbor router ID: 192.168.129.246 area id: 0.0.0.0 neighbor priority: 1 lifetime remain: 32 messages pending: 0 LSA request pending: 0 options: 0x42: O E hello suppressed: no restart helper status: not helping restart helper time remaining: 0 restart helper exit reason: none
- FW-B で取得されたpacket capture ( パケット キャプチャ - pcap)では、time-to-leave を超過した ICMP パケットがBDRから FW に送信されていることが確認できます。
- ICMP 部分のTTL超過パケットの詳細を調べると、ファイアウォールからDRルーターに送信されたOSPFパケットが転送中に失われたことがわかります。
- これにより、転送中に失われたパケットIDの詳細も提供され、同じPCAPで追跡できます。
- そのパケット ID で PCAP をフィルタリングことで、ファイアウォールからDRルータに送信されたOSPF DBD パケットが転送中に失われたパケットであることを確認できます。
Environment
PAN-OS: すべて
Cause
- OSPFはパケットのTTL値として1を使用する。
- この vPCセットアップでは、Cisco L2 スイッチのポート チャネル ハッシュ アルゴリズムにより、FW-B からDR Nexus 宛てのOSPFパケットがBDR Nexus 経由で送信されます。
- これらのパケットはVPCピア リンクを通過するため、 TTLが 0 に減少し、ドロップされてOSPF隣接関係の形成が妨げられます。
- ICMP TTL超過メッセージはBDRによって生成され、FW に送信されます。
Resolution
Nexus スイッチで「layer3 peer-router」コマンドを有効にすると、vPC ピア リンクをレイヤー3ルーティングに使用できるようになり、 OSPFパケットがTTL を減少させることなく通過できるようになります。
# config t (config) # vpc domain <domain-ID> (config-vpc-domain) # layer3 peer-router (config-vpc-domain) # end