跳至內容

如何疑難排解 Direct Connect 中的第 3 層問題?

3 分的閱讀內容
0

我想在 AWS Direct Connect 連線因第 3 層問題中斷時進行疑難排解。

解決方法

**注意:**對於第 1 層問題,請參閱如何疑難排解 Direct Connect 中的第 1 層問題?對於第 2 層問題,請參閱如何疑難排解 Direct Connect 中的第 2 層問題?

檢查 AWS Health 儀表板是否有維護活動

Direct Connect 連線可能會因持續進行的 AWS 維護而變為中斷,維護時間可能從幾分鐘到幾小時不等。在維護期間,邊界閘道協定 (BGP) 連線會進入閒置狀態。

檢查 AWS Health 儀表板中的 Events (事件) 區段,查看是否有正在進行或最近完成且可能影響您 Direct Connect 連線的 AWS 維護。

為關鍵指標設定通知,以便立即收到警示。

檢查您的 BGP 組態

如果您的虛擬介面狀態為可用,但您無法建立 BGP 連線,請採取以下動作:

  • 檢查您的本機 BGP 自治系統編號 (ASN) 與 AWS ASN 是否有組態問題。
  • 檢查 BGP 對等互連工作階段雙方的對等 IP 位址是否有組態問題。
  • 設定您的 MD5 驗證金鑰,讓它與下載的路由器組態檔中的金鑰相符。確認您的金鑰不包含多餘的空格或字元。
  • 私有虛擬介面公告的首碼不得超過 100 個,公共虛擬介面公告的首碼不得超過 1,000 個。<br id=hardline_break/> **注意:**您無法修改或超過這些配額。
  • 停用會封鎖 TCP 連接埠 179,或高編號暫時性 TCP 連接埠的防火牆或網路存取控制清單 (網路 ACL) 規則。<br id=hardline_break/> **注意:**BGP 必須使用這些連接埠,才能在對等端之間建立 TCP 連線。
  • 檢查您的 BGP 日誌中是否有錯誤或警告訊息。

如果前述步驟無法解決您的 BGP 問題,請採取以下動作:

  • 檢查您是否已在閘道上正確設定 BGP。
  • 在 BGP 對等 IP 位址之間執行 ping 測試。
  • 從您的閘道裝置收集 BGP 對等 IP 位址之間流量的封包擷取資料。

對 BGP 狀態進行疑難排解

如果您已正確設定 BGP,但仍然遇到第 3 層問題,請疑難排解 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 狀態。

若要對連線狀態問題進行疑難排解,請採取以下動作:

  • 若要確認兩個 BGP 相鄰節點之間有 TCP 連線能力,請在 TCP 連接埠 179 上執行 telnet 測試。如果沒有 TCP 連線能力,請檢查日誌中是否有 TCP 連線期間的錯誤或封包遭捨棄的情況。
  • 確認您已在 BGP、您的閘道以及 AWS 上正確設定 BGP 相鄰節點的 IP 位址。
  • 確認您已在路由器上輸入正確的 BGP 驗證資訊。

OpenSent 狀態

在 BGP 將開啟訊息傳送給對等端後,BGP 會在 OpenSent 狀態中等待開啟回覆。如果 BGP 成功收到回覆,則 BGP 狀態會移至 OpenConfirm,並向對等端傳送保持連線訊息。當連線失敗時,BGP 會回到閒置作用中狀態。

如果 BGP 未建立連線,請檢查您的日誌中是否有 BGP 相鄰節點傳送與接收且包含 BGP 參數的開啟訊息。

開啟訊息範例:

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

另外,也請檢查 OpenSent 日誌,以識別失敗原因。

注意:AWS 不接受將 0 作為保持時間值。

OpenConfirm 狀態

BGP 會在 OpenConfirm 狀態中等待來自對等端的保持連線訊息。如果 BGP 成功收到訊息,則狀態會移至已建立。否則,狀態會回到閒置作用中狀態。

請在您的日誌中確認對等端已傳送保持連線訊息,而且 BGP 已收到該訊息。

BGP 對等端之間保持連線訊息的範例:

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

已建立狀態

已建立狀態中,BGP 會在對等端之間交換資訊。

BGP 更新訊息範例:

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 未建立連線,請採取以下動作:

  • 檢查日誌,確認路由器正確交換更新。確認公告的首碼符合預期路由。
  • 確認 BGP 篩選條件或首碼清單不會阻止路由在路由表內傳播。
  • 確認對等端路由表上公告的路由項目正確無誤。
  • 您的 BGP 日誌或內部部署裝置可能會顯示,在虛擬閘道的 Direct Connect 虛擬介面上,BGP 對等互連工作階段已從已建立狀態變更為閒置狀態。在此情況下,請確認對等端透過 BGP 對等互連工作階段公告的路由少於 100 條。

對 BFD 問題進行疑難排解

AWS 會自動為 AWS 上的 Direct Connect 虛擬介面開啟非同步雙向轉送偵測 (BFD)。

若要疑難排解 BFD 問題,請採取以下動作:

  • 如果您已在路由器上啟用 BFD,請檢查您是否已正確設定 BFD。
  • 確認您路由器上的 BFD 對等互連工作階段狀態為啟動
  • 檢閱您路由器上的 BFD 事件或日誌。

**注意:**AWS 的預設 BFD 存活偵測最小間隔為 300 毫秒 (ms)。預設 BFD 存活偵測乘數為 3。

為避免發生容錯移轉或連線問題,最佳實務是不在同一時間設定平穩重啟和 BFD。如需快速容錯移轉,請在關閉正常重新啟動的情況下設定 BFD。

相關資訊

對第 3/4 層 (網路/傳輸) 問題進行疑難排解

AWS 官方已更新 5 個月前