使用網關路由表控制進入VPC的流量
您可以使用IPv4網關/IPv6網關結合網關路由表,將公網入方向流量轉寄至安全裝置進行深度檢測與過濾,防止惡意攻擊和未經授權的訪問,實現安全防護。本文以IPv4網關與網關路由表結合使用,控制進入VPC的流量為例。
情境樣本
部分企業會在VPC內部署第三方安全裝置(由獨立廠商提供的網路安全硬體或軟體解決方案,例如防火牆,入侵偵測系統等),用於公網入方向的流量清洗。通過修改網關路由表的系統路由條目,將其與IPv4網關綁定,可以將公網入方向流量轉寄安全裝置進行檢測,控制進入VPC的流量。
前提條件
-
已在華東2(上海)地區建立了一個Virtual Private Cloud,並在其中配置了兩台ECS執行個體,分別命名為ECS-A和ECS-B。
-
已建立2個自訂路由表,分別與交換器1、交換器2綁定。
操作步驟
步驟一:建立IPv4網關並綁定網關路由表
-
建立並啟用IPv4網關
-
登入IPv4網關控制台,頂部功能表列選擇VPC所在地區,本文為華東2(上海)。
-
單擊建立IPv4網關,選擇對應的VPC,並單擊建立。在建立IPv4網關頁面,根據需要選擇資源群組並配置標籤,然後在專用網路下拉框中選擇目標VPC。
-
選擇ECS-A所在交換器綁定的路由表,單擊啟用。
-
啟用時,系統會為您選擇的交換器路由表添加一條
0.0.0.0/0的預設路由指向IPv4網關,使得路由表關聯的交換器具備公網訪問能力。如果當前路由表已經存在目標網段為0.0.0.0/0的預設路由,則無法再添加IPv4網關的預設路由。 -
在啟用IPv4網關之前,VPC內的網路流量不會受到影響。但在啟用過程中,可能會因流量路徑切換導致短暫的網路中斷。
在選擇路由表地區,勾選需要關聯的自訂路由表(建議選擇自訂路由表而非主路由表),然後單擊啟用。
-
-
完成IPv4網關啟用與交換器路由表配置。
建立完成後,確認IPv4網關狀態顯示為可用,表示IPv4網關已成功啟用並配置路由表。
-
-
建立網關路由表
-
登入路由表控制台,頂部功能表列選擇IPv4網關所在地區,本文為華東2(上海)。
-
單擊建立路由表,選擇對應的VPC,綁定物件類型選擇邊界網關,配置路由表名稱並單擊確定。
-
-
綁定網關路由表
-
在網關路由表詳情頁,綁定邊界網關。
在彈出的對話方塊中選中狀態為可綁定的目標IPv4網關,單擊確定。
-
綁定完成後,確認邊界網關狀態為可用。綁定完成後,在已綁定的邊界網關頁簽下,邊界網關的狀態顯示為可用,表示綁定成功。
-
步驟二:配置安全裝置
本方案將ECS-A類比為安全裝置,需要配置IP流量轉寄。如果您使用第三方安全裝置,您需要按照自身業務實際情況聯絡第三方安全裝置供應商協助部署。
本方案配置以Alibaba Cloud Linux 3.2104 64位作業系統為例。
登入ECS-A,執行以下命令配置IP流量轉寄。
永久啟用
# 永久啟用IP轉寄(寫入設定檔)
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
# 立即生效
sysctl -p
執行個體重啟後失效
# 臨時啟用IP轉寄(重啟後失效)
sysctl -w net.ipv4.ip_forward=1
步驟三:配置路由
-
配置自訂路由表,路由出方向流量
-
在路由表頁面,找到ECS-B所在交換器綁定的自訂路由表,單擊路由表ID。
-
找到路由條目列表>自訂路由條目 頁簽,單擊添加路由條目,將目標網段設定為
0.0.0.0/0,將下一跳類型設定為ECS執行個體,在ECS執行個體下拉框中選擇ECS-A。
-
-
配置網關路由表,路由入方向流量
-
在路由表頁面,找到已建立的網關路由表,單擊路由表ID。
-
找到路由條目列表>系統路由條目頁簽,可以查看到系統路由條目。系統預設添加以交換器網段為目標網段的系統路由。
-
編輯目標網段指向交換器2的路由條目,將下一跳設定為ECS-A(安全裝置)。單擊系統路由條目對應的編輯操作,在編輯路由表條目彈窗中,將下一跳類型設定為ECS執行個體,在ECS執行個體下拉框中選擇ECS-A。
-
配置完成後,系統路由條目將轉化為自訂路由條目。確認路由條目狀態為可用。
在路由條目列表頁面單擊自訂路由條目頁簽,可查看到路由條目的目標網段(如
10.0.1.0/24)及下一跳(ECS執行個體)等詳細資料。
-
結果驗證
注意檢查網路ACL與安全性群組概述的配置,避免VPC內的ECS測試連通性時受到影響。
驗證公網入向流量訪問
瀏覽器訪問ECS-B公網IPhttp://<ECS-B Elastic IP Address>。
頁面返回 This is ECS–B!,表示請求已成功路由至 ECS-B 執行個體。
驗證公網入向流量流經ECS-A
登入ECS-A,執行tcpdump dst host <ECS-B 私網IP>,抓取目的地為ECS-B的流量。
瀏覽器訪問ECS-B公網IP,查看ECS-A抓包結果。
[root@ECS-A ~]# tcpdump dst host 10.0.1.221
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
17:33:36.662426 IP 140.2xxx.xxx.19404 > 10.0.1.221.http: Flags [S], seq 884222365, w
17:33:36.662445 IP 140.2xxx.xxx.19404 > 10.0.1.221.http: Flags [S], seq 884222365, w
17:33:36.662818 IP 140.2xxx.xxx.37526 > 10.0.1.221.http: Flags [S], seq 3020843667,
17:33:36.662823 IP 140.2xxx.xxx.37526 > 10.0.1.221.http: Flags [S], seq 3020843667,
17:33:36.676731 IP 140.2xxx.xxx.19404 > 10.0.1.221.http: Flags [.], ack 1519927262,
17:33:36.676737 IP 140.2xxx.xxx.19404 > 10.0.1.221.http: Flags [.], ack 1, win 2058
更多操作
管控IPv6流量
IPv4網關是VPC邊界上的公網IPv4流量控制組件。如果需要控制進入VPC的IPv6流量,您需要使用IPv6網關,將其與網關路由表綁定,控制進入VPC的IPv6流量。
系統為開通了IPv6網段的VPC自動建立IPv6 網關,確保已為ECS的IPv6地址開通IPv6公網頻寬,實現VPC中的ECS與IPv6互連網互連。
-
建立網關路由表並與IPv6網關綁定。
-
登入路由表控制台,頂部功能表列選擇IPv6網關所在地區。
-
單擊建立路由表,選擇對應的VPC,綁定物件類型選擇邊界網關,配置路由表名稱並單擊確定。
-
在網關路由表詳情頁,單擊,選擇IPv6網關並綁定。
-
-
配置網關路由表,路由入方向流量。
-
進入路由條目列表>系統路由條目頁簽,可以查看到系統路由條目。系統預設添加以交換器網段為目標網段的系統路由。
-
編輯目標網段指向交換器2的IPv6路由條目,將下一跳設定為ECS-A(安全裝置)。
-
調整公網入方向路由
您可以通過調整網關路由表的系統路由條目,調整公網入方向路由。
IPv4/IPv6路由的下一跳支援修改為ECS執行個體、彈性網卡、網關型負載平衡終端節點和路由目標組。
-
網關路由表僅允許修改系統路由,不支援建立自訂路由條目。
-
網關路由表編輯系統路由資訊並成功儲存後,將會轉化為自訂路由條目;刪除後可轉化為系統路由條目。
-
編輯網關路由表的系統路由條目時,下一跳類型的說明與建議如下:
-
ECS執行個體/彈性網卡:交換器內部指定執行個體或網卡可被訪問。常用於公網流量安全引流到特定ECS執行個體或彈性網卡。如果需要更換ECS執行個體或彈性網卡,需要先刪除路由條目再重新編輯系統路由資訊,無法直接替換。
-
網關型負載平衡終端節點:交換器內部指定終端節點可被訪問。用於網關型負載平衡GWLB情境的第三方安全裝置公網流量引流。
支援修改下一跳為網關型負載平衡終端節點的地區,請參見網關型負載平衡GWLB支援的地區。
-
路由目標組:支援通過主備模式配置兩個下一跳執行個體,系統將自動檢測執行個體的健康狀態,當執行個體異常時,自動實現可用性區域層級的容災切換,縮短故障恢復(RTO)。
-
解除綁定網關路由表
將網關路由表和IPv4/IPv6網關解除綁定,解除綁定後邊界網關將不具備網關路由的能力。
-
在路由表頁面,找到目標網關路由表,單擊路由表的ID。
-
單擊已綁定的邊界網關頁簽,找到目標邊界網關,在操作列單擊解除綁定。
-
在彈出的對話方塊中,單擊確定。
刪除網關路由表
如果網關路由表綁定了邊界網關,您需要先解除綁定邊界網關後再刪除網關路由表。
-
在路由表頁面,找到目標網關路由表,然後在操作列單擊刪除。
-
在刪除路由表對話方塊,單擊確定。
相關文檔
-
您可以查看IPv4網關,瞭解IPv4網關使用指引與相關限制。
-
您可以通過調用以下API來管理網關路由表: