如何對 Transit Gateway Connect 附件進行 BGP 連線的疑難排解?
我的邊界閘道協定 (BGP) 工作階段無法透過 AWS Transit Gateway Connect 附件建立。
解決方法
檢查 BGP 工作階段的需求
請採取以下動作:
- 確認一般路由封裝 (GRE) 通道的最大傳輸單元 (MTU) 小於外部介面 MTU。從外部介面 MTU 減去 24 位元組的 GRE 標頭和 20 位元組的外部 IP 位址標頭額外負荷。
**注意:**GRE 通道也稱為 Transit Gateway Connect 對等節點。 - 確認您已正確設定 Connect 對等節點,且該對等節點在您的設備和傳輸閘道之間正常運作。
- 檢查您是否使用支援的 BGP 類型,例如內部 BGP (iBGP) 和外部 BGP (eBGP),以實現特定路由行為。
- 在 Connect 附件上建立一或多個 Connect 對等節點,並透過每個 Connect 對等節點建立兩個 BGP 工作階段以提供備援。
**重要:**最佳實務是設定兩個 BGP 對等互連工作階段。只有單一 BGP 工作階段的 Connect 對等節點可能會在 AWS 基礎結構維護期間暫時失去連線。
**注意:**Connect 附件不支援雙向轉送偵測 (BFD) 和正常重新啟動。
如需 Connect 附件需求的更多資訊,請參閱需求與考量事項。
檢查 AWS 資源是否處於正確狀態
檢視您的 Connect 附件與 Connect 對等節點,以確定其處於可用狀態。
**注意:**新的 Connect 對等節點會保持在「擱置中」狀態,直到佈建完成。
此外,請確認 Connect 對等節點組態顯示 BGP 的 Transit Gateway 位址、對等節點 IP 位址和內部 CIDR 區塊。
檢查 AWS 和您設備上的 BGP 位址與 ASN 組態
如果您未在對等節點之間正確設定 IP 位址或自治系統編號 (ASN),則 BGP 相鄰節點建立將會失敗。
**注意:**為了備援,請為每個 Connect 對等節點使用兩個 BGP 對等互連工作階段。AWS 預設會建立兩個 BGP 對等互連工作階段。如果您有多個 Connect 對等節點,請設定兩個 BGP 對等互連工作階段。
首先,檢查您的 Connect 對等節點是否具有以下組態:
- 對於 InsideCIDR,確認 BGP 工作階段針對對等節點 IP 位址使用 /29 CIDR 區塊。
- 對於 Peer ASN,檢查您是否指定了 ASN,或 AWS 是否指派了預設 ASN。
**注意:**如果您在建立 Connect 對等節點時未指定 ASN,則 AWS 會使用相同的傳輸閘道 ASN,並建立 iBGP 工作階段。這可能會導致非預期的路由行為。
接著,檢查您的設備是否具有以下組態:
-
確認您已使用內部 CIDR 區塊中的第一個 IP 位址設定通道介面。例如,如果內部 CIDR 區塊範圍是 169.254.6.0/29,則在設備通道上設定 169.254.6.1。
-
確認傳輸閘道使用內部 CIDR 區塊範圍中的第二個 IP 位址。
Cisco IOS 的範例組態:interface Tunnel0 ip address 169.254.6.1 255.255.255.248 tunnel source GRE OUTER IP ADDDRESS tunnel destination TGW TUNNEL IP router bgp 65001 neighbor 169.254.6.2 remote-as 64512 neighbor 169.254.6.2 ebgp-multihop 2 neighbor 169.254.6.2 timers 10 30**注意:**將 169.254.6.1 和 169.254.6.2 替換為您內部 CIDR 區塊中的 IP 位址。將 TGW TUNNEL IP 和 GRE OUTER IP ADDRESS 替換為您的值。在 eBGP,設定 ebgp-multihop,並將存留時間 (TTL) 值設定為 2。
疑難排解 BGP 相鄰節點狀態
檢查您設備上的 BGP 摘要和相鄰節點詳細資訊。例如,如果您的設備執行 Cisco IOS,請執行以下命令。
若要檢視所有相鄰節點的 BGP 工作階段狀態摘要,請執行以下 show ip bgp summary 命令:
show ip bgp summary
若要檢視 BGP 和 TCP 與相鄰節點連線的相關資訊,請執行以下 show ip bgp neighbors 命令:
show ip bgp neighbors
若要檢視 BGP 偵錯記錄,請執行以下 debug ip bgp 命令:
debug ip bgp
如果您的 BGP 相鄰節點處於閒置、作用中或連線狀態,請完成以下步驟:
-
執行以下 telnet 命令,測試與設定在傳輸閘道上 BGP 對等節點 IP 位址的連線:
telnet TGW-BGP-PEER-IP 179**注意:**將 TGW-BGP-PEER-IP 替換為您傳輸閘道的 BGP 對等節點 IP 位址。
-
在您的設備上執行 tcpdump 命令,以監控 GRE 封包和 BGP 流量 (例如 TCP 連接埠 179)。
-
確認出現 GRE 封裝封包以及連接埠 179 的 TCP SYN/ACK。
-
如果您的設備使用不同或較短的 BGP 計時器,最佳實務是設定您的設備以符合傳輸閘道預設設定。將 keepalive 設定為 10 秒,並將 hold time 設定為 30 秒。
確認路由表關聯與傳播
請完成以下步驟:
- 開啟 Amazon VPC console (Amazon VPC 主控台)。
- 在導覽窗格中,選擇 Transit gateway attachments (傳輸閘道附件),然後選取您的附件 ID。
- 在 Details (詳細資訊) 索引標籤上,選取路由表 ID,然後檢查您是否已將附件與正確的路由表建立關聯。
- 在相同路由表,選擇 Propagations (傳播) 索引標籤。
- 確認您已開啟傳播,讓路由表可以接受來自 Connect 附件的傳播。
如果路由出現在傳輸閘道路由表中,但未出現在連線附件的路由表中,請檢查您的路由表關聯和傳播設定。
如果預期的路由未出現,請採取以下動作:
- 檢查您的設備是否傳送 BGP 公告。此外,檢查是否有可能封鎖公告的匯出篩選條件或路由對應。
- 對於 iBGP 連線,只有在路由源自 eBGP 對等節點時,傳輸閘道才會安裝路由。確認您的設備透過 iBGP 連線公告的路由具有 ASN,或改用 eBGP。
您可以從設備公告到 Connect 對等節點的動態路由預設配額為 1,000。您可以調整該配額。不過,最佳實務是將動態路由數量限制限制在 1,000 以內,以避免 BGP 不穩定。
檢查 MTU 與分段問題
GRE 封裝會增加封包大小,並導致封包分段。封包分段時,無法建立 BGP 工作階段。
若要解決此問題,請採取以下動作:
-
確認您已在設備上正確設定 GRE MTU。若要計算 GRE MTU,請從外部 MTU 減去 24 位元組的 GRE 標頭和 20 位元組的 IP 位址標頭 (共計 44 位元組)。例如,如果您的外部 MTU 為 1,500,則將 MTU 設定為 1,456。
-
若要檢查 MTU 路徑問題,請從您的設備使用不同的封包大小執行以下 ping 命令,並包含「不要分段」旗標 -M:
ping -M do -s 1400 TRANSIT_GATEWAY_BGP_PEER_IP**注意:**將 1400 替換為不同的值,以找出可在不分段情況下運作的最大 MTU 大小。將 TRANSIT_GATEWAY_BGP_PEER_IP 替換為內部 CIDR 區塊範圍中的 BGP 對等節點 IP 位址。如果您設定了兩個 BGP 工作階段,請對兩個 BGP 對等節點 IP 位址執行 ping 命令。
-
在您的 GRE 介面上執行 tcpdump 或 Wireshark,以檢查分段封包。尋找顯示 More Fragments 的 IP 位址旗標,並檢查 TCP 重新傳輸。
如果您發現 MTU 問題,請降低設備上的 GRE 通道 MTU。此外,在您的設備上開啟最大區段大小 (MSS) 鎖定,讓大型封包不會讓路徑負荷過重。
相關資訊
- 語言
- 中文 (繁體)

相關內容
已提問 3 年前
AWS 官方已更新 3 年前