AWS VPN または Direct Connect 経由の BGP 接続障害をトラブルシューティングする方法を教えてください。

所要時間2分
0

VPN または AWS Direct Connect でパラメータが一致しないために接続を確立できない BGP セッションをデバッグしたいのですが。

簡単な説明

動的な AWS Site-to-Site VPN と AWS Direct Connect 接続を設定しているときに、ボーダーゲートウェイプロトコル (BGP) に関連する接続の問題が発生する可能性があります。これに対処するには、まず BGP ログを分析し、BGP ネゴシエーションプロセス内の具体的な障害点を特定する必要があります。

**注:**接続を確立できない、または VPN トンネル経由でアイドル状態になっている BGP セッションのトラブルシューティングについては、「VPN を介した BGP 接続の問題をトラブルシューティングするにはどうすればよいですか?」を参照してください。

接続を確立できない、または Direct Connect 経由でアイドル状態になっている BGP セッションのトラブルシューティングについては、「Direct Connect 経由の BGP 接続に関する問題をトラブルシューティングするにはどうすればよいですか?」を参照してください。

解決策

カスタマーゲートウェイの BGP 設定が検証済みで、BGP ピア IP 間の ping が機能していることを確認します。次に、カスタマーゲートウェイデバイスから BGP ピア IP 間のトラフィックのパケットキャプチャを収集します。最後に、BGP 状態ごとに次のようにデータを分析します。

BGP 状態

アイドル

これは、BGP が「開始イベント」を待つ最初の状態です。 開始イベントは、新しい BGP ネイバーを設定したとき、または確立された BGP ピアリングをリセットしたときに発生します。次に、BGP は一部のリソースを初期化し、ConnectRetry タイマーをリセットして、リモート BGP ネイバーへの TCP 接続を開始します。

接続

この段階では、BGP は TCP スリーウェイハンドシェイクが完了するまで待機します。この段階が正常に完了すると、接続は OpenSent 状態に移行します。

2021-07-04 22:50:20 169.254.60.146 169.254.60.145 TCP 74 34516 → 179 [SYN] Seq=0 Win=2920 Len=0 MSS=1460 SACK_PERM TSval=3030456 TSecr=0 WS=1
2021-07-04 22:50:20.719228 169.254.60.145 169.254.60.146 TCP 74	179 → 34516 [SYN, ACK] Seq=0 Ack=1 Win=26844 Len=0 MSS=1375 TSval=64921081 TSecr=3030456 WS=128
2021-07-04 22:50:20.719453 169.254.60.146 169.254.60.145 TCP 66	34516 → 179 [ACK] Seq=1 Ack=1 Win=2920 Len=0 TSval=3030476 TSecr=64921081

接続または ConnectRetry が失敗しても、その接続はアクティブ状態のままで、OpenSent 状態にはなりません。

接続ログを確認して、障害の原因を特定してください。

  • 動的 VPN の場合は、TCP ポート 179 で「telnet」テストを実行して、2 つの BGP ネイバー間に TCP 接続があることを確認します。
  • TCP 接続がない場合は、ログをチェックして、TCP 接続中にエラーやドロップされたパケットがないかどうかを確認します。
  • ネイバーの IP アドレスが両方の BGP、カスタマーゲートウェイ、AWS で正しく設定されていることを確認します。
  • Direct Connect の仮想インターフェースを使用している場合は、ルーターに正しい BGP 認証 (MD5 パスワード) が入力されているかどうかを確認してください。

OpenSent

ピアに OPEN メッセージを送信すると、BGP はこの状態で OPEN 応答を待ちます。正常に応答を受け取ると、BGP ステートは OpenConfirm に移行し、ピアに KEEPALIVE を送信します。接続に失敗すると、BGP はアイドル状態またはアクティブ状態に戻ります。

Border Gateway Protocol - OPEN Message
Type: OPEN Message (1)  
Version: 4   
My AS: 65000  
Hold Time: 30  
BGP Identifier: 54.241.242.80

OpenSent メッセージでは、ピアはバージョン番号、AS 番号、ホールドタイマー (デフォルト値: VPN 経由の BGP の場合は 30 秒、Direct Connect 経由の BGP の場合は 90 秒)、および BGP 識別子 IP アドレスなどの BGP パラメータを送信します。BGP の確立に失敗した場合は、ログを調べて、OPEN メッセージが BGP パラメータを使用してネイバーによって正しく送受信されたことを確認します。また、OpenSent ログを確認して障害の原因も特定します。

**注:**AWS はホールドタイムの値として 0 を受け入れません。

OpenConfirm

BGP の状態は、最終状態 (確立済み) に達するまであと一歩です。この状態では、BGP はピアからの KEEPALIVE を待ちます。成功すると、状態は「確立済み」に移行します。それ以外の場合は、エラーに基づいて状態がアイドルまたはアクティブ状態に戻ります。

65	2021-07-04 22:50:20.744297	169.254.60.146	169.254.60.145	BGP	85	KEEPALIVE Message
66	2021-07-04 22:50:20.765323	169.254.60.145	169.254.60.146	BGP	85	KEEPALIVE Message

ログをチェックして、KEEPALIVE メッセージが正しく送受信されたことを確認します。

確立済み

この状態では、BGP はピア間で情報を交換します。情報は、更新 (ルートアドバタイズ)、KEEPALIVE、または通知で構成されます。

Border Gateway Protocol - UPDATE Message
Path attributes
Path Attribute - AS_PATH: 65000
Path Attribute - NEXT_HOP: 169.254.60.146
Network Layer Reachability Information (NLRI)
   192.168.0.0/16

接続が確立されていない場合は、次の操作を行います。

  • ログをチェックして、ルーターがアップデートを正しく交換していることを確認します。アドバタイズされたプレフィックスが予想されるルートと一致していることを確認します。
  • BGP フィルターまたはプレフィックスリストがルートテーブル内のルートの伝播を妨げていないか確認してください。
  • ピアルートテーブルでアドバタイズされたルートエントリを確認します。
  • 仮想ゲートウェイ上の VPN または Direct Connect 仮想インターフェイスの場合、BGP セッションが確立状態からアイドル状態に移行することがあります。ピアが BGP セッションでアドバタイズしているルートが 100 未満であることを確認します。
AWS公式
AWS公式更新しました 10ヶ月前
コメントはありません

関連するコンテンツ