如何疑難排解 Direct Connect 中的第 3 層問題?
我想在 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。
相關資訊
- 語言
- 中文 (繁體)

相關內容
- 已提問 1 年前