この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、アプリケーションセントリックインフラストラクチャ(ACI)のOpen Shortest Path First(OSPF)の隣接関係のトラブルシューティングについて説明します。
OSPFは、Cisco ACIと外部ルータ間で有効にできるプロトコルの1つです。Cisco ACIは、バックボーン、さまざまなスタブオプション、ネイバー認証、その他の類似オプションを含む、OSPFエリアなどのすべての共通オプションをサポートします。
L3Outには、ルーティングプロトコルオプション、スイッチ固有の設定(ノードプロファイル)、およびインターフェイス固有の設定(インターフェイスプロファイル)が含まれます。OSPF関連のパラメータは、通常のルータと同様に、主に2つの場所で設定できます。1つ目は、Virtual Routing and Forwarding(VRF)全体またはノード全体の設定です。これには、エリアIDやエリアタイプなどが含まれ、L3Out自体で設定できます。2つ目は、OSPF hello間隔やインターフェイスタイプ(ブロードキャスト、ポイントツーポイント(P2P))などのインターフェイスレベルのパラメータです。
ACI境界リーフと外部ルータの間にOSPF隣接関係を確立するための要件を次に示します。
ホワイトペーパーでは、サポートしているルーティングプロトコルのACI L3Outに関連する設計概念とオプションについて詳細に説明しました。
L3Outの設定およびその他の基本要件に慣れていない場合は、ホワイトペーパーを参照してください。
OSPFアジャセンシー関係が以前にアップしたか、またはまだアップしたことがないかに関係なく、最初に基本要件を検証するのが最善です。
ステップ 1:リモートエンドインターフェイスに対してpingを実行します。これは、OSPFが起動するための主要な要件である遠端へのIP到達可能性があるかどうかを確認するのに役立ちます。
iping -V <vrf> <remote_end_IP>
example:
BL-301# iping -V abc1:vrf-1 192.0.2.50
ステップ 2:基本設定パラメータを検証します。
コマンド出力には、リーフにプッシュされた設定属性が表示されます。
BL-301# show ip int bri vrf abc1:vrf-1 IP Interface Status for VRF "abc1:vrf-1"(137) Interface Address Interface Status vlan1 192.0.2.1/24 protocol-up/link-up/admin-up --> l3out SVI lo9 192.168.0.1/32 protocol-up/link-up/admin-up --> Router ID SVI
BL-301# show ip ospf interface vlan 1
Vlan1 is up, line protocol is up
IP address 192.0.2.1/24, Process ID default VRF abc1:vrf-1, area backbone
Enabled by interface configuration
State P2P, Network type P2P, cost 4
Index 84, Transmit delay 1 sec
1 Neighbors, flooding to 1, adjacent with 1
Timer intervals: Hello 10, Dead 40, Wait 40, Retransmit 5
Hello timer due in 00:00:03
No authentication
Number of opaque link LSAs: 0, checksum sum 0
BL-301# show int vlan 1 | egrep "MTU"
MTU 9000 bytes, BW 10000000 Kbit, DLY 1 usec
BL-301# show ip ospf vrf abc1:vrf-1 | grep Routing
Routing Process default with ID 192.168.0.1 VRF abc1:vrf-1 --> Router ID
強調表示された詳細情報をすべてメモし、対応するリモートエンドパラメータが同期されていることを確認します。
[+]From the border Leaf we can identify the state of the neighbor state
BL-301# show ip ospf neighbors vrf abc1:vrf-1
<<EMPTY>>
[+] You can check the associated faults to the VRF.
BL-301# moquery -c faultInst -x 'query-target-filter=wcard(faultInst.dn,"abc1:vrf-1")' | egrep "code|rule|dn|descr|lastTransition"
<<EMPTY>>
環境にアクティブな障害がないシナリオもありますが、リーフ上に1つの障害レコードF1385(protocol-ospf-adjacency-down)が存在し、このネイバーシップが最後に起動された時点、または完全な状態に達していなかった時点を指している場合があります。
これは、moquery -c faultRecord -f 'fault.Inst.code=="F1385"' -x 'query-target-filter=wcard(faultRecord.dn,"abc1:vrf-1")' | grep dnコマンドで識別できます。
moquery -c faultRecord -f 'fault.Inst.code=="F1385"' -x 'query-target-filter=wcard(faultRecord.dn,"abc1:vrf-1")' -x 'query-target-filter=wcard(faultRecord.created,"2024-01-01")' | egrep "dn" | wc -lコマンドで、特定の日付の障害レコード数を確認します。
OSPFインターフェイスと、ローカルおよびリモートの設定済みIPを特定する必要があります。
[+] Identify the IP applied on the external device from the ARP associated to the interface
BL-301# moquery -c arpAdjEp -x 'query-target-filter=wcard(arpAdjEp.ifId,"vlan1")' | grep "ip "
ip : 192.0.2.50
ノードでのコントロールプレーントラフィックのキャプチャ
境界リーフから予測される送信元および宛先スイッチ仮想インターフェイス(SVI)を使用して、tcpdumpユーティリティを使用して確認できます。
注:このために、すべてのCPUインバンドコントロールプレーンネットワークトラフィックを表示できるインターフェイスkpm_inbが使用されます。
[+] Capture a single OSPF hello packet using TCPDUMP coming for local BL OSPF IP 192.0.2.1
BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb
tcpdump: listening on kpm_inb, link-type EN10MB (Ethernet), capture size 262144 bytes
192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 44
Router-ID 192.168.0.1, Backbone Area, Authentication Type: none (0)
Options [External]
Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
[+] Capture a single OSPF hello packet using TCPDUMP coming from external device OSPF IP 192.0.2.50
BL-301# tcpdump src host 192.0.2.50 -vv -e -i kpm_inb
tcpdump: listening on kpm_inb, link-type EN10MB (Ethernet), capture size 262144 bytes
192.0.2.50 > ospf-all.mcast.net: OSPFv2, Hello, length 44
Router-ID 172.16.0.1, Backbone Area, Authentication Type: none (0)
Options [External]
Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
Wiresharkの検証
OSPFおよびホスト固有のトラフィックをキャプチャして、Wiresharkで分析できます。
BL-301# tcpdump -i kpm_inb proto ospf -vv -e -w - | tee /data/techsupport/Node-XXX_OSPF.pcap | tcpdump -r - host any
BL-301# tcpdump -xxxvi kpm_inb 'proto ospf and (host <<X.X.X.X>> or host <<Y.Y.Y.Y>>)' -w /data/techsupport/Node-XXX_OSPF_HOST.pcap
BL-301# tcpdump -i kpm_inb proto ospf -vv -e -w - | tee /data/techsupport/Node-XXX_OSPF_HOST.pcap | tcpdump -r - host X.X.X.X
pcapキャプチャでは、Analyze > Apply as a Columnを使用して検索を行い、Wiresharkフィルタを使用できます。
ospf.area_id = AreaIDを識別するため
ospf.auth.type =照合する設定済みの認証タイプを確認する
ospf.hello.hello_interval =異なるMTUをチェックする
ospf.hello.router_dead_interval =別のdead間隔設定を確認する
ospf.srcrouter =ルータID
トラブルシューティングのシナリオ
OSPF隣接関係のトラブルシューティング:エリアIDの不一致
エリアID 0.0.0.42のAPIC設定から、Fabric > Tenants > Networking > L3Outs > <<L3outName>> > Policy > Mainの順に移動します。
誤ったOSPFエリアIDが0.0.0.42に設定されている
境界リーフから:
[+] Check OSPF interface details to confirm current area
BL-301# show ip ospf interface vlan 1 | grep area
IP address 192.0.2.1/24, Process ID default VRF abc1:vrf-1, area 0.0.0.42
Or
BL-301# moquery -c ospfIf -x 'query-target-filter=wcard(ospfIf.id,"vlan1")' | grep area
area : 0.0.0.42
[+] Capture a single packet TCPDUMP for local BL OSPF IP
BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb -c 1
192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 44
Router-ID 192.168.0.1, Area 0.0.0.42, Authentication Type: none (0)
Options [External]
Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
[+] Capture a single OSPF hello packet using TCPDUMP coming from external device OSPF IP
BL-301# tcpdump src host 192.0.2.50 -vv -e -i kpm_inb -c 1
192.0.2.50 > ospf-all.mcast.net: OSPFv2, Hello, length 44
Router-ID 172.16.0.1, Backbone Area, Authentication Type: none (0)
Options [External]
Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
外部デバイスから:
NX-OS# show logging log | tail -n 100 | grep ospf-bootcamp
2023 Dec 28 15:17:09 NX-OS %OSPF-4-AREA_ERR: ospf-bootcamp [22263] (301-l3-abc1) Packet from 192.0.2.1 on Ethernet1/2 received for wrong area 0.0.0.42
NX-OS# show ip ospf interface Ethernet1/2 | grep area
Process ID bootcamp VRF 301-l3-abc1, area 0.0.0.0
解決策:OSPFエリアを、BLの0.0.0.0またはバックボーン、または外部デバイスの0.0.0.42に一致させてください。
OSPF隣接関係のトラブルシューティング:エリアタイプの不一致
ACI GUIで、エリアタイプがNSSAまたはスタブの設定から、Fabric > Tenants > Networking > L3Outs > "L3outName" > Policy > Mainの順に移動します。
NSSAまたはスタブエリアの設定
境界リーフから:
[+] Capture a single packet TCPDUMP for local BL OSPF IP
BL-301# moquery -c ospfArea -x 'query-target-filter=wcard(ospfArea.dn,"abc1:vrf-1")' | egrep "type"
type : nssa
BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb -c 1
192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 44
Router-ID 192.168.0.1, Area 0.0.0.42, Authentication Type: none (0)
Options [NSSA]
Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
or
BL-301# moquery -c ospfArea -x 'query-target-filter=wcard(ospfArea.dn,"abc1:vrf-1")' | egrep "type"
type : stub
BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb -c 1
192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 44
Router-ID 192.168.0.1, Area 0.0.0.42, Authentication Type: none (0)
Options [none]
Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
[+] Capture a single OSPF hello packet using TCPDUMP coming from external device OSPF IP
BL-301# tcpdump src host 192.0.2.50 -vv -e -i kpm_inb -c 1
192.0.2.50 > ospf-all.mcast.net: OSPFv2, Hello, length 44
Router-ID 172.16.0.1, Area 0.0.0.42, Authentication Type: none (0)
Options [External]
Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
外部デバイスから:
[+] Check OSPF interfaces con vrf
NX-OS# show ip int bri vrf 301-l3-abc1
IP Interface Status for VRF "301-l3-abc1"(21)
Interface IP Address Interface Status
Lo1001 110.1.0.1 protocol-up/link-up/admin-up
Eth1/2.1120 192.0.2.50 protocol-up/link-up/admin-up
NX-OS# show ip ospf interface Ethernet1/2 | grep area
Process ID bootcamp VRF 301-l3-abc1, area 0.0.0.0
解決策:OSPFエリアタイプをL3Outで定期的に照合するか、外部デバイスから照合します。
OSPF隣接関係のトラブルシューティング:ルータIDの重複
ルータIDが重複していると、OSPF隣接関係が形成されません。ACIファブリックでは、OSPFルータIDを設定した後、リーフがルータID IPアドレスでループバックを作成します。このアドレスはループバックに使用されるため、障害が発生したときに使用するインターフェイスIPと重複させることはできません。
この例では、ネイバーデバイスからのルータIDを使用して誤って設定されたことを確認できます。
ACIのGUIで、
Fabric > Tenants > Networking > L3Outs > "L3outName" > "Node-X" > Configured Nodes > topology/pod-Y/node-Xに移動します。
ネイバーデバイスからのルータIDが誤って設定されている。
境界リーフから:
[+] Check OSPF interfaces associated with the VRF
BL-301# show ip int bri vrf abc1:vrf-1
IP Interface Status for VRF "abc1:vrf-1"(137)
Interface Address Interface Status
vlan1 192.0.2.1/24 protocol-up/link-up/admin-up
lo9 172.16.0.1/32 protocol-up/link-up/admin-up
[+] Capture a single packet TCPDUMP for local BL OSPF IP
BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb -c 1
192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 44
Router-ID 172.16.0.1, Backbone Area, Authentication Type: none (0)
Options [External]
Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
[+] Capture a single OSPF hello packet using TCPDUMP coming from external device OSPF IP
BL-301# tcpdump src host 192.0.2.50 -vv -e -i kpm_inb -c 1
192.0.2.50 > ospf-all.mcast.net: OSPFv2, Hello, length 48
Router-ID 172.16.0.1, Backbone Area, Authentication Type: none (0)
Options [External]
Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
外部装置から
NX-OS# show logging log | tail -n 100 | grep ospf-bootcamp
2024 Jan 4 13:55:36 NX-OS %OSPF-4-DUPRID: ospf-bootcamp [22263] (301-l3-abc1) Router 192.0.2.1 on interface Ethernet1/2.1120 is using our routerid, packet dropped
解決策:両方のデバイスで異なるルータIDを使用します。
両方のデバイスで異なるルータIDを使用する
OSPF隣接関係のトラブルシューティング:MTUの不一致
2台のOSPF隣接ルータが双方向通信を確立し、ブロードキャストネットワークでDesignated Router(DR;代表ルータ)/BDR選定が完了すると、ルータはExstart状態に移行します。この状態では、ネイバールータがアクティブ/スタンバイ関係を確立し、DBDパケットの交換中に使用する初期Database Descriptor(DBD;データベース記述子)シーケンス番号を決定します。
アクティブ/スタンバイ関係がネゴシエートされると(最も高いルータIDを持つルータがアクティブになる)、ネイバールータはexchange状態に移行します。この状態では、リンク ステート データベース全体を記述した DBD パケットをルータが交換します。ルータはリンクステートリクエストパケットも送信し、近隣ルータからの最新の Link-State Advertisements(LSA; リンクステートアドバタイズメント)を要求します。
隣接ルータインターフェイスのMTU設定が一致しない場合、ルータはExstart/Exchange状態でスタックします。これは、MTUが大きい側のルータからネイバールータのMTU設定よりも大きいパケットが送信され、ネイバールータではそのパケットが無視されるためです。
デフォルトの継承設定を使用したAPIC GUIの設定から、
Fabric > Tenants > Networking > L3Outs > "L3outName" > "Node-X" > Logical Interface Profiles > OSPF Interface Profileに移動します。
デフォルトでは、ACIファブリックはレイヤ3インターフェイスMTUを1500ではなく9000に設定します
デフォルトでは、ACIファブリックはレイヤ3インターフェイスMTUを1500ではなく9000に設定します。ACIのMTUの方が大きいため、ACIは外部ルータからのDBDパケットを引き続き受け入れ、その確認応答を試みます。
外部ルータのMTUが低いか高い場合、ACIからのACKとともにDBDパケットが無視され、初期DBDパケットの再送信が続行され、Exstart/Exchange状態が維持されます。
境界リーフから:
[+]From the border Leaf we can identify the state of the neighborship relation
BL-301# show ip ospf neighbors vrf abc1:vrf-1
OSPF Process ID default VRF abc1:vrf-1
Total number of neighbors: 1
Neighbor ID Pri State Up Time Address Interface
172.16.0.1 1 EXCHANGE/ - 01:10:05 192.0.2.50 Vlan1
[+] You can check the associated faults to the Tenant:VRF / OSPF interface
BL-301# moquery -c faultInst -x 'query-target-filter=wcard(faultInst.dn,"abc1:vrf-1\/if-\[vlan1\]")' | egrep "code|rule|dn|descr|lastTransition"
code : F1385
descr : OSPF adjacency is not full, current state Exchange
dn : topology/pod-1/node-301/sys/ospf/inst-default/dom-abc1:vrf-1/if-[vlan1]/adj-172.16.0.1/fault-F1385
lastTransition : 2023-12-28T12:26:23.369-05:00
rule : ospf-adj-ep-failed
title : OSPF Adjacency Down
code : F3592
descr : OSPF interface vlan1 mtu is different than neighbor mtu
dn : topology/pod-1/node-301/sys/ospf/inst-default/dom-abc1:vrf-1/if-[vlan1]/fault-F3592
lastTransition : 2023-12-28T12:26:23.369-05:00
rule : ospf-if-mtu-config-mismatch-err
[+] Identify the MTU applied on the OSPF interface
BL-301# show int vlan 1 | egrep "MTU"
MTU 9000 bytes, BW 10000000 Kbit, DLY 1 usec
[+] If the default configuration is on place there will be a missmatch with the 1500 default
BL-301# show ip ospf event-history adjacency | grep "neighbor mtu"
2023-12-28T12:24:31.986149000-05:00 ospf default [20751]: TID 21885:ospfv2_check_ddesc_for_nbr_state:492:(abc1:vrf-1-base) DBD from 192.0.2.50,neighbor mtu [1500] is smaller than if mtu 9000
[+] Or if the locally configured MTU is lower tham external router
[2023-12-28T14:05:48.495659000-05:00:T:ospfv2_check_ddesc_for_nbr_state:478] abc1:vrf-1DBD from 192.0.2.50,neighbor mtu [1500] is large than if mtu 1200
考えられる解決策:
- 両方のデバイスのMTUに一致する
いずれかの側でMTUが変更された場合、メンバーシップはすでに確立されているため、次のネゴシエーションまで同じ方法が使用され、さまざまな理由でトリガーされる可能性があります。 たとえば、ダウンしている物理インターフェイス、ポリシーの再導入、リーフのリロード、アップグレードなどです。
図に示すように、
Fabric > Tenants > Networking > L3Outs > "L3outName" > "Node-X" > Logical Interface Profiles > OSPF Interface Profile に移動します。
1500に設定されたMTU
- MTU ignore in the Associated OSPF Interface Policyは、接続を再確立します。
MTU ignoreに関する問題は、OSPFデータベースが拡大すると発生する可能性があります。MTUの差が数バイトにすぎない場合、DBDまたはアップデートパケットを生成するLSAの正しい組み合わせに遭遇して適切なサイズになるまで、セットアップは長時間動作する可能性があります。
小規模なラボでのテストは正常に機能しますが、実稼働ネットワークで予期しない動作が発生する可能性があります。
図に示すように、
Fabric > Tenants > Networking > L3Outs > "L3outName" > "Node-X" > Logical Interface Profiles > OSPF Interface Profile > Associated OSPF Interface Policy に移動します。
MTU ignore設定
OSPF隣接関係のトラブルシューティング:認証の不一致
ルーティングアップデート情報を安全に交換するために、OSPFで認証をイネーブルにできます。OSPF 認証は、None(またはヌル)、Simple、または MD5 のいずれかです。認証方式「none」は、OSPFで認証が使用されないことを意味し、これがデフォルトの方式です。簡易認証では、パスワードはクリアテキストでネットワークを通過します。MD5 認証では、パスワードはネットワークを通過しません。
OSPF では次の 3 種類の認証がサポートされています。
ヌル認証:Type 0 とも呼ばれ、パケット ヘッダーに認証情報が含まれていないことを意味します。これがデフォルト設定です。
簡易認証:Type 1とも呼ばれ、シンプルなクリアテキストパスワードを使用します。
MD5 認証:Type 2 とも呼ばれ、MD5 暗号化パスワードを使用します。
認証を設定する必要はありません。認証を設定する場合は、同じセグメント上のすべてのピア ルータで、パスワードと認証方式が同じである必要があります。
ACIのGUIから、図に示すように
Fabric > Tenants > Networking > L3Outs > "L3outName" > "Node-X" > Logical Interface Profiles > OSPF Interface Profile に移動します。
MD5認証または簡易認証の設定
CLI から:
[+] Check Authentication type configured
APIC# moquery -c ospfIfP -x 'query-target-filter=wcard(ospfIfP.dn,"tn-abc1\/out-Site2-L3Out-OSPF-BL-301")' | grep authType
authType : simple
[+] Capture a single packet TCPDUMP for local BL OSPF IP
BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb -c 1
192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 44
Router-ID 192.168.0.1, Backbone Area, Authentication Type: simple (1)
Simple text password: cisco
Options [External]
Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
or
[+] Check Authentication type configured
APIC# moquery -c ospfIfP -x 'query-target-filter=wcard(ospfIfP.dn,"tn-abc1\/out-Site2-L3Out-OSPF-BL-301")' | grep authType
authType : md5
[+] Capture a single packet TCPDUMP for local BL OSPF IP
BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb -c 1
192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 44
Router-ID 192.168.0.1, Backbone Area, Authentication Type: MD5 (2)
Key-ID: 1, Auth-Length: 16, Crypto Sequence Number: 0x026c0a34
Options [External]
Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
[+] Capture a single OSPF hello packet using TCPDUMP coming from external device OSPF IP
BL-301# tcpdump src host 192.0.2.50 -vv -e -i kpm_inb -c 1
192.0.2.50 > ospf-all.mcast.net: OSPFv2, Hello, length 48
Router-ID 172.16.0.1, Backbone Area, Authentication Type: none (0)
Options [External]
Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
[+] Live OSPF trace Decode for VRF
BL-301# log_trace_bl_print_tool /var/sysmgr/tmp_logs/ospfv2_1_trace.bl | tail -n 250 | grep abc1:vrf-1 | grep key
[2024-01-04T16:23:29.650806000-05:00:T:ospfv2_set_authentication:70] abc1:vrf-1out pkt on Vlan1: auth simple text: key cisco
or
[2024-01-04T16:24:22.794682000-05:00:T:ospfv2_set_authentication:96] abc1:vrf-1out pkt on Vlan1: auth md5: key cisco, key id 1 Seq 40635829 (time 1704403462)
外部デバイスから:
NX-OS# show logging log | tail -n 100 | grep ospf-bootcamp
2024 Jan 4 16:55:01 NX-OS %OSPF-4-AUTH_ERR: ospf-bootcamp [22263] (301-l3-abc1) Received packet from 192.0.2.1 on Ethernet1/2.1120 with bad authentication 1
or
2024 Jan 4 16:55:20 NX-OS %OSPF-4-AUTH_ERR: ospf-bootcamp [22263] (301-l3-abc1) Received packet from 192.0.2.1 on Ethernet1/2.1120 with bad authentication 2
解決策:認証を照合します。
OSPF隣接関係のトラブルシューティング:Hello/Deadタイマーの不一致
OSPF helloパケットは、OSPFプロセスがOSPFネイバーとの接続を維持するためにOSPFネイバーに送信するパケットです。helloパケットは、設定可能な間隔(秒単位)で送信されます。イーサネットリンク(P2Pおよびブロードキャストネットワークタイプ)のデフォルトは10秒です。helloパケットには、dead間隔内にhelloパケットが受信されたすべてのネイバーのリストが含まれます。dead間隔も設定可能で(秒単位)、デフォルトはhello間隔の値の4倍です。すべてのHello間隔の値は、ネットワーク内で同じである必要があります。同様に、dead間隔の値はすべて、ネットワーク内で同じである必要があります。
これら2つのインターバルは、リンクが動作可能であることを示すことによって接続を維持するために連携します。ルータがdead間隔内にネイバールータからhelloパケットを受信しなかった場合、そのネイバールータはダウン状態であると宣言します。
ACIファブリックでデフォルトのOSPF helloタイマーとdeadタイマーを変更する場合は、外部ルータと一致させる必要があります。
ACIのGUIから、図に示すように
Fabric > Tenants > Networking > L3Outs > "L3outName" > "Node-X" > Logical Interface Profiles > OSPF Interface Profile > Associated OSPF Interface Policy に移動します。
カスタムHello/Deadタイマー
境界リーフから:
[+] Check OSPF interface configuration
BL-301# show ip ospf interface vlan 1 | egrep "Timer|Network"
State P2P, Network type P2P, cost 4
Timer intervals: Hello 20, Dead 42, Wait 42, Retransmit 5
Or
BL-301# moquery -c ospfIf -x 'query-target-filter=wcard(ospfIf.id,"vlan1")' | egrep "deadIntvl|helloIntvl|nwT"
deadIntvl : 42
helloIntvl : 20
nwT : p2p
Or
APIC# moquery -c ospfRsIfPol -x 'query-target-filter=wcard(ospfIfP.dn,"abc1\/out-Site2-L3Out-OSPF-BL-301")' | grep tnOspfIfPolName
tnOspfIfPolName : Custom_OSPF_Interface_Policy
APIC# moquery -c ospfIfPol -x 'query-target-filter=wcard(ospfIfPol.name,"Custom_OSPF_Interface_Policy")' | egrep "deadIntvl|helloIntvl|nwT"
deadIntvl : 42
helloIntvl : 20
nwT : p2p
[+] Capture a single packet TCPDUMP for local BL OSPF IP
BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb -c 1
192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 44
Router-ID 192.168.0.1, Backbone Area, Authentication Type: none (0)
Options [External]
Hello Timer 20s, Dead Timer 42s, Mask 255.255.255.0, Priority 1
[+] Capture a single OSPF hello packet using TCPDUMP coming from external device OSPF IP
BL-301# tcpdump src host 192.0.2.50 -vv -e -i kpm_inb -c 1
192.0.2.50 > ospf-all.mcast.net: OSPFv2, Hello, length 44
Router-ID 172.16.0.1, Backbone Area, Authentication Type: none (0)
Options [External]
Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
外部デバイスから:
[+] Check OSPF interfaces con vrf
NX-OS# show ip int bri vrf 301-l3-abc1
IP Interface Status for VRF "301-l3-abc1"(21)
Interface IP Address Interface Status
Lo1001 110.1.0.1 protocol-up/link-up/admin-up
Eth1/2.1120 192.0.2.50 protocol-up/link-up/admin-up
[+] Check OSPF configuration by default Dead timer on NX-OS devices is 4 times hello interval
NX-OS# show run ospf all | section Ethernet1/2.1120 | grep hello
ip ospf hello-interval 10
[+] Check OSPF interface advertized parameters
NX-OS# show ip ospf interface Ethernet1/2.1120 | grep Timer
Timer intervals: Hello 10, Dead 40, Wait 40, Retransmit 5
解決策:OSPFタイマーを一致させます。
OSPF隣接関係のトラブルシューティング:インターフェイスタイプの不一致
この項では、ACIでブロードキャストまたは未指定が設定され、外部デバイスがP2Pの場合のトラブルシューティングについて説明します。
ブロードキャスト
- ブロードキャストネットワークタイプは、OSPF対応イーサネットインターフェイスのデフォルトです
- ブロードキャストネットワークタイプでは、リンクがレイヤ2ブロードキャスト機能をサポートする必要があります
- ブロードキャストネットワークタイプには、10秒のhelloタイマーと40秒のdeadタイマーがあります(P2Pと同じ)
- OSPFブロードキャストネットワークタイプでは、DR/BDRを使用する必要があります。
ポイントツーポイント
- P2P OSPFネットワークタイプはDR/BDR関係を維持しない
- P2Pネットワークタイプには、10秒のhelloタイマーと40秒のdeadタイマーがあります
- P2Pネットワークタイプは、2台の直接接続されたルータ間で使用することを目的としています
ACIのGUIから、図に示すように
Fabric > Tenants > Networking > L3Outs > "L3outName" > "Node-X" > Logical Interface Profiles > OSPF Interface Profile > Associated OSPF Interface Policy に移動します。
ブロードキャストまたは未指定のネットワークタイプが設定済み
境界リーフから:
[+] Check OSPF neighborship relation
BL-301# show ip ospf neighbors vrf abc1:vrf-1
OSPF Process ID default VRF abc1:vrf-1
Total number of neighbors: 1
Neighbor ID Pri State Up Time Address Interface
172.16.0.1 1 INITIALIZING/DROTHER 00:06:42 192.0.2.50 Vlan1
[+] Check OSPF interface configuration
BL-301# moquery -c ospfIf -x 'query-target-filter=wcard(ospfIf.id,"vlan1")' | egrep "deadIntvl|helloIntvl|nwT"
deadIntvl : 40
helloIntvl : 10
nwT : bcast
or
BL-301# moquery -c ospfIf -x 'query-target-filter=wcard(ospfIf.id,"vlan1")' | egrep "deadIntvl|helloIntvl|nwT"
deadIntvl : 40
helloIntvl : 10
nwT : unspecified
Or
APIC# moquery -c ospfRsIfPol -x 'query-target-filter=wcard(ospfIfP.dn,"abc1\/out-Site2-L3Out-OSPF-BL-301")' | grep tnOspfIfPolName
tnOspfIfPolName : Custom_OSPF_Interface_Policy
APIC# moquery -c ospfIfPol -x 'query-target-filter=wcard(ospfIfPol.name,"Custom_OSPF_Interface_Policy")' | egrep "deadIntvl|helloIntvl|nwT"
deadIntvl : 40
helloIntvl : 10
nwT : bcast
APIC# moquery -c ospfIfPol -x 'query-target-filter=wcard(ospfIfPol.name,"Custom_OSPF_Interface_Policy")' | egrep "deadIntvl|helloIntvl|nwT"
deadIntvl : 40
helloIntvl : 10
nwT : unspecified
[+] Whether it is bcast or unspecified the interface will show as Broadcast
BL-301# show ip ospf interface vlan 1 | egrep "Timer|Network"
State DR, Network type BROADCAST, cost 4
Timer intervals: Hello 10, Dead 40, Wait 40, Retransmit 5
[+] Capture a single packet TCPDUMP for local BL OSPF IP
BL-301# tcpdump src host 192.0.2.1 -vv -e -i kpm_inb -c 1
192.0.2.1 > ospf-all.mcast.net: OSPFv2, Hello, length 48
Router-ID 192.168.0.1, Backbone Area, Authentication Type: none (0)
Options [External]
Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
Designated Router 192.0.2.1
Neighbor List:
172.16.0.1
[+] Capture a single OSPF hello packet using TCPDUMP coming from external device OSPF IP
BL-301# tcpdump src host 192.0.2.50 -vv -e -i kpm_inb -c 1
192.0.2.50 > ospf-all.mcast.net: OSPFv2, Hello, length 44
Router-ID 172.16.0.1, Backbone Area, Authentication Type: none (0)
Options [External]
Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
外部デバイスから:
[+] Check OSPF interfaces con vrf
NX-OS# show ip int bri vrf 301-l3-abc1
IP Interface Status for VRF "301-l3-abc1"(21)
Interface IP Address Interface Status
Lo1001 110.1.0.1 protocol-up/link-up/admin-up
Eth1/2.1120 192.0.2.50 protocol-up/link-up/admin-up
[+] Check OSPF configuration by default Dead timer on NX-OS devices is 4 times hello interval
NX-OS# show run ospf all | section Ethernet1/2 | grep network
ip ospf network point-to-point
[+] Check OSPF interface advertized parameters
NX-OS# show ip ospf interface Ethernet1/2 | grep type
State P2P, Network type P2P, cost 1
検証コマンドチートシート
これらのコマンドは、さまざまなシナリオをトラブルシューティングするために、このドキュメント全体を通じて参照されています。
ノード |
コマンド |
目的 |
ACIスイッチ |
|
VRFのネイバーシップ関係を確認します |
|
VRFに関連付けられたOSPFインターフェイスを確認します |
|
|
VRFに関連する障害を確認できます |
|
|
VRFに関連付けられているすべてのOSPFインターフェイスの詳細を確認します |
|
|
OSPFインターフェイス設定をチェックします |
|
|
インターフェイスに関連付けられたARPから、外部デバイスに適用されているIPを確認します |
|
|
VRFのライブOSPFトレースデコード |
|
|
OSPFトラフィックをキャプチャしてWiresharkで分析 |
|
|
Wiresharkで分析するためにホストの特定のトラフィックをキャプチャします。 |
|
|
Wiresharkで分析するためにホストのSRCおよびDST固有のトラフィックをキャプチャします。 |
|
|
特定のホスト用の単一のインバンドコントロールプレーンをキャプチャ |
|
ACI APIC |
|
設定されている認証タイプを確認します |
|
L3out Path設定のチェック |
|
|
F1385 protocol-ospf-adjacency-downの障害の履歴レコードを確認します。 |
|
|
L3outでカスタムの関連OSPFインターフェイスポリシーを確認する |
|
|
カスタムの関連付けられたOSPFインターフェイスポリシーの詳細を確認する |
|
NXOSスイッチ |
|
OSPFインターフェイスcon vrfを確認します。 |
|
OSPF設定のチェック |
|
|
OSPFインターフェイスのアドバタイズされたパラメータを確認します |
関連情報
改定 | 発行日 | コメント |
---|---|---|
1.0 |
15-May-2024
|
初版 |