如果您需要配置、擴充和管理第三方網路虛擬設備,如防火牆、入侵偵測系統等,可以使用網關型負載平衡 GWLB(Gateway Load Balancer)。本文將介紹如何快速配置GWLB,並配置相應的網關型負載平衡終端節點GWLBe,以構建一個可以通過GWLB快速實現IPv4流量的安全檢測系統。
情境樣本
某企業為了提升業務安全性和可靠性,需要將公網IPv4訪問流量路由至網路虛擬設備進行安全檢測,再轉寄到應用伺服器進行處理。企業可以藉助GWLB管理網路虛擬設備,並且確保流量在被分發到應用伺服器前經過嚴格的檢測和處理,本文以以下情境為例,企業使用阿里雲帳號A在華北6(烏蘭察布)地區建立業務VPC和安全VPC。
-
業務VPC負責運行應用系統,且具備IPv4網關,將訪問公網的流量引流至網路虛擬設備。
在業務VPC中建立應用伺服器子網和GWLBe子網,在應用伺服器子網中建立應用伺服器ECS,並且部署可訪問的應用服務,在GWLBe子網中建立GWLBe。
-
安全VPC負責運行網路虛擬設備。
在安全VPC中建立GWLB,並在後端伺服器組掛載網路虛擬設備,同時在安全VPC中建立終端節點服務,將GWLB執行個體添加為服務資源。
GWLBe與終端節點服務建立串連且狀態正常時,公網訪問流量即可被路由至網路虛擬設備。
|
IPv4業務從用戶端到應用伺服器入方向工作流程(黑色箭頭) |
IPv4業務從應用伺服器到用戶端出方向工作流程(藍色箭頭) |
|
|
使用限制
-
啟動至少一個網路虛擬設備。
-
後端伺服器的安全性群組必須放通UDP協議類型和6081連接埠。
-
建立終端節點服務時,選擇地區與可用性區域需要同時支援私網串連和GWLB執行個體的地區與可用性區域。關於私網串連和GWLB執行個體支援的地區,請參見支援私網串連的地區和可用性區域和GWLB支援的地區與可用性區域。
-
GWLBe部署的可用性區域必須是終端節點服務資源部署的可用性區域的子集,才可以建立串連。
前提條件
-
您已建立了業務VPC和安全VPC,在業務VPC的可用性區域B建立了應用伺服器子網和GWLBe子網,在安全VPC的可用性區域B建立了GWLB子網。請參見建立專用網路和交換器。
-
您已建立並啟用了IPv4網關並關聯業務VPC,請參見建立和管理IPv4網關。
-
您已建立IPv4網關的路由表、應用伺服器子網的路由表和GWLBe子網的路由表,請參見建立和管理路由表。
-
您已在業務VPC中建立應用伺服器ECS執行個體,且ECS執行個體中部署了應用服務,如果ECS執行個體需要進行公網通訊,必須分配公網IP;在安全VPC的可用性區域B中建立ECS01執行個體和ECS02執行個體,且ECS01和ECS02執行個體中分別部署了網路虛擬設備的鏡像,請確保您的ECS01和ECS02執行個體支援巨型幀(Jumbo Frames),因為Geneve封裝會在未經處理資料包基礎上增加68位元組,報文可能會大於1500位元組,更多資訊,請參見網路傳輸單元最大值。
-
支援Jumbo Frames的執行個體規格,請參見支援巨型幀的執行個體規格類型系列。
-
關於建立ECS執行個體,請參見自訂購買執行個體。
-
關於部署網路虛擬設備鏡像,請參見使用執行個體建立自訂鏡像。
-
-
您已經給ECS執行個體、ECS01執行個體和ECS02執行個體建立了安全性群組。您可以根據自己的實際業務和安全要求配置安全性群組規則。具體資訊,請參見建立安全性群組。
配置步驟
步驟一:建立GWLB執行個體
執行個體是一個負載平衡服務實體,您需要先建立GWLB執行個體。
-
在頂部功能表列,選擇GWLB所在的地區。
-
在執行個體頁面,單擊建立網關型負載平衡。
-
在網關型負載平衡-國際站購買頁面,完成以下配置。
此處僅列出和本文強相關的配置項,其他未列出的配置項使用預設值。關於參數的更多資訊,請參見建立和管理GWLB執行個體。
配置
說明
執行個體名稱
輸入執行個體名稱。
專用網路
選擇執行個體所屬的安全VPC。
地區和可用性區域
選擇執行個體所屬的地區。本文選擇華北6(烏蘭察布)。
可用性區域
至少選擇1個可用性區域。本文選擇烏蘭察布 可用性區域B及該可用性區域中GWLB子網的交換器ID。
協議版本
選擇執行個體的協議版本。本文選擇IPv4。
服務關聯角色
首次建立網關型Server Load Balancer執行個體時,需要單擊建立服務關聯角色,建立一個名稱為AliyunServiceRoleForGwlb的服務關聯角色。
說明該參數僅在首次建立GWLB時展示。
-
單擊立即購買,然後根據控制台提示完成執行個體開通。
-
返回執行個體頁面,選擇對應的地區即可看到建立的執行個體。
步驟二:建立後端伺服器組
您需要建立伺服器組並添加後端伺服器來接受GWLB轉寄的用戶端請求。
-
在左側導覽列,選擇。
-
在伺服器組頁面,單擊建立伺服器組。
-
在建立伺服器組對話方塊設定管理員組相關的參數,然後單擊建立。
此處僅列出和本文強相關的配置項,其他未列出的配置項使用預設值。關於參數的更多資訊,請參見建立和管理伺服器組。
參數
描述
伺服器群組類型
選擇一種伺服器群組類型:本文選擇伺服器類型。
伺服器組名稱
輸入伺服器組名稱。
VPC
從VPC下拉式清單中選擇本文ECS執行個體所屬的安全VPC。
說明確保您選擇的VPC與建立GWLB執行個體時選擇的VPC相同。
選擇調度演算法
選擇一種調度演算法,本文選擇五元組雜湊。
健全狀態檢查方法
選擇健全狀態檢查方法或關閉健全狀態檢查。本文選擇TCP。
健全狀態檢查連接埠
輸入健全狀態檢查連接埠,本文配置80。
-
在伺服器組建立成功對話方塊單擊添加後端伺服器。
-
在後端伺服器頁簽單擊添加後端伺服器。
-
在添加後端伺服器面板,選擇伺服器類型。
本文伺服器類型配置為Elastic Compute Service/彈性網卡ENI。
-
選擇已建立的ECS01和ECS02執行個體,單擊確定。
說明-
本文伺服器類型配置為Elastic Compute Service/彈性網卡ENI。
-
請確保您已經在後端伺服器部署網路虛擬設備的鏡像,並且後端伺服器具備處理Geneve協議流量的能力。
-
步驟三:配置監聽
您需要為執行個體配置監聽,並將監聽關聯到後端伺服器組,將所有連接埠的流量通過Geneve協議的方式轉寄至後端伺服器。
-
在左側導覽列,選擇,單擊執行個體ID。
-
單擊監聽頁簽,然後單擊建立IP監聽。
-
在建立IP監聽配置頁面,選擇伺服器群組類型,選擇已建立的伺服器組資訊。
-
頁面顯示已添加的伺服器列表,單擊確定。
步驟四:配置終端節點服務
服務提供者需要通過終端節點服務讓GWLB對外提供服務。
-
登入終端節點服務控制台。
-
在終端節點服務頁面,單擊建立終端節點服務。
-
在建立終端節點服務頁面,根據以下資訊配置終端節點服務,然後單擊確定建立。
此處僅列舉和本文相關的配置。
參數
描述
所屬地區
本文選擇華北6(烏蘭察布)。
服務資源類型
終端節點服務下的服務資源的類型。本文選擇網關型負載平衡GWLB。
選擇服務資源
選擇服務資源的可用性區域及可用性區域下的服務資源。
本文可用性區域選擇烏蘭察布 可用性區域B。可用性區域B的服務資源選擇步驟一建立的GWLB執行個體。
IP版本
本文選擇IPv4。
自動接受終端節點串連
選擇是否自動接受終端節點的串連請求。本文選擇是。
說明此處設定自動接受終端節點串連,在建立終端節點後,終端節點服務會自動接受終端節點的串連請求。
服務付費者
本文選擇服務使用方。
步驟五:配置網關型負載平衡終端節點
服務使用者需要建立相應的GWLBe,從而與終端節點服務建立串連。
-
登入終端節點控制台。
-
在終端節點頁面,單擊介面終端節點頁簽,然後單擊建立終端節點。
-
在建立終端節點頁面,根據以下資訊配置終端節點,然後單擊確定建立。
此處僅列舉和本文強相關的配置。
參數
描述
所屬地區
本文選擇華北6(烏蘭察布)。
節點名稱
自訂終端節點的名稱。
終端節點類型
終端節點選擇的節點類型。本文選擇網關型負載平衡終端節點。
終端節點服務
本文先單擊選擇可用服務,然後選擇步驟四建立的終端節點服務。
專用網路
選擇終端節點所屬的專用網路。本文選擇業務VPC的ID。
可用區及交換器
選擇終端節點服務對應的可用性區域,然後選擇該可用性區域內的交換器,系統會自動在該交換器下建立一個終端節點網卡。
本文可用性區域選擇烏蘭察布 可用性區域B並選擇可用性區域B內GWLBe子網的交換器ID。
IP版本
本文選擇IPv4。
說明確保終端節點的串連狀態是已串連。
步驟六:配置路由
服務使用方需要配置路由將流量路由至GWLBe。
-
登入專用網路管理主控台。
-
在左側導覽列,單擊路由表。
-
在頂部功能表列,選擇路由表所屬的地區。
-
在路由表頁面,單擊目標路由表的ID。
說明目標路由表包含IPv4網關路由表、應用伺服器子網的路由表和GWLBe子網的路由表,請依次開啟進行配置。
-
在路由表詳情頁面,在路由條目列表頁簽,單擊系統路由條目,查看系統路由條目。
系統會在自訂路由表中自動添加以下系統路由:
以路由表所屬VPC內的交換器網段為目標網段的路由條目,用於交換器內的雲產品通訊。
-
修改系統路由條目:在配置IPv4網關的路由表時,在頁簽,找到目標系統路由條目,然後在操作列單擊編輯,在編輯路由條目對話方塊,配置以下參數,然後單擊確定。該路由條目會出現在自訂路由條目中。
配置
說明
目標網段
顯示轉寄流量的目標網段。目標網段不支援修改。本文為192.168.2.0/24。
名稱
修改路由條目的名稱。
下一跳類型
選擇下一跳類型。本文為網關型負載平衡終端節點。
網關型負載平衡終端節點
選擇步驟五建立的網關型負載平衡終端節點。
-
新增自訂路由條目:在配置應用伺服器子網和GWLBe子網的路由表時,單擊自訂路由條目,輸入目標網段和下一跳類型,單擊確定。
-
在配置應用伺服器子網的路由表時,本文自訂目標網段為0.0.0.0/0,下一跳類型為網關型負載平衡終端節點的路由條目。
-
在配置GWLBe子網的路由表時,本文自訂目標網段為0.0.0.0/0,下一跳類型為IPv4網關的路由條目。
-
-
IPv4網關的路由表配置
IPv4網關的路由表必須具有將發往應用伺服器的流量路由到GWLBe的條目。本文IPv4網關的路由表配置如下表所示,僅供參考。
目標網段
下一跳類型
路由項目類型
192.168.5.0/24
local
系統路由條目
192.168.2.0/24
網關型負載平衡終端節點
自訂路由條目
-
應用伺服器子網的路由表配置
應用伺服器子網的路由表必須具有將來自應用伺服器的所有流量路由到GWLBe的條目。本文應用伺服器子網的路由表配置如下表所示,僅供參考。
目標網段
下一跳類型
路由項目類型
192.168.2.0/24
local
系統路由條目
192.168.5.0/24
local
系統路由條目
0.0.0.0/0
網關型負載平衡終端節點
自訂路由條目
-
GWLBe子網的路由表配置
GWLBe子網的路由表必須將從檢查返回的流量路由到最終目的地。對於來自互連網的流量,本地路由將確保其會到達應用伺服器。對於來自應用伺服器的流量,則添加將所有流量路由到IPv4網關的條目。本文GWLBe子網的路由表配置如下表所示,僅供參考。
目標網段
下一跳類型
路由項目類型
192.168.2.0/24
local
系統路由條目
192.168.5.0/24
local
系統路由條目
0.0.0.0/0
IPv4網關
自訂路由條目
步驟七:測實驗證
測試訪問流量連通性
登入應用伺服器ECS,測試應用伺服器ECS對公網的訪問,執行如下命令:
ping www.aliyun.com
返回報文顯示應用伺服器ECS對公網訪問的具體資訊,並保持產生流量一段時間,應用伺服器ECS對公網的訪問流量連通性測試通過。
返回報文如下所示:
[xxx@xxx ~]# ping www.aliyun.com
PING www.aliyun.com.w.cdngslb.com (180.213.xxx.xxx) 56(84) bytes of data.
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=1 ttl=53 time=15.4 ms
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=2 ttl=53 time=13.5 ms
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=3 ttl=53 time=13.5 ms
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=4 ttl=53 time=13.5 ms
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=5 ttl=53 time=13.7 ms
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=6 ttl=53 time=13.5 ms
測試流量經過安全檢測
登入ECS01或者ECS02,捕獲所有經過連接埠為6081的資料包,執行如下命令:
tcpdump -i any port 6081
返回報文顯示有來自應用伺服器ECS的請求和響應資料,實現了通過GWLB將訪問流量路由至網路虛擬設備進行安全檢測的過程。
返回報文如下所示:
[root@xxx ~]# tcpdump -i any port 6081
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
15:15:49.578469 IP 10.0.10.16.57480 > xxx.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 192.168.2.123.ssh > wan.adventz.com.43200: Flags [S.], seq 980244545, ack 540151794, win 29200, options [mss 1460], length 0
15:15:49.578482 IP xxx.57480 > 10.0.10.16.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 192.168.2.123.ssh > wan.adventz.com.43200: Flags [S.], seq 980244545, ack 540151794, win 29200, options [mss 1460], length 0
15:15:49.610110 IP 10.0.10.16.55139 > xxx.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 192.168.2.123 > 180.213.xxx.xxx: ICMP echo request, id 16612, seq 17, length 64
15:15:49.610116 IP xxx.55139 > 10.0.10.16.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 192.168.2.123 > 180.213.xxx.xxx: ICMP echo request, id 16612, seq 17, length 64
15:15:49.625531 IP 10.0.10.16.55139 > iz0jl8dnd7ratzjksyin3z.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 180.213.xxx.xxx > 192.168.2.123: ICMP echo reply, id 16612, seq 17, length 64
15:15:49.625535 IP xxx.55139 > 10.0.10.16.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 180.213.xxx > 192.168.2.123: ICMP echo reply, id 16612, seq 17, length 64
15:15:49.797614 IP 10.0.10.16.60600 > iz0jl8dnd7ratzjksyin3z.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP ptr.default.58593 > 192.168.2.123.tproxy: Flags [S], seq 1189139317, win 65535, length 0
15:15:49.797625 IP xxx.60600 > 10.0.10.16.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP ptr.default.58593 > 192.168.2.123.tproxy: Flags [S], seq 1189139317, win 65535, length 0
相關文檔
-
介紹類:
-
控制台操作類: