閱讀106 返回首頁    go 魔獸


自建SNAT網關平滑遷移到NAT網關__最佳實踐_用戶指南_專有網絡 VPC-阿裏雲

概述

在VPC中搭建一個SNAT網關,可以實現無公網IP的ECS實例安全的訪問互聯網。

用戶可以選擇使用ECS實例自己搭建SNAT網關(如何自建SNAT網關),也可以使用NAT網關的SNAT功能(最佳實踐-高可用的SNAT網關)。相比而言,後一種方案比前一種方案有更好的可用性和性能。

如果已經在VPC中基於ECS搭建了SNAT網關,又想將架構切換為基於NAT網關實現SNAT,需要先將原有自建SNAT網關拆除,再進行NAT網關的創建和配置。這樣的操作會導致SNAT功能中斷一段時間。

本文提供一種操作方法,可以利用路由表的一些特性(主要是“最長匹配原則”),實現自建SNAT網關和NAT網關的無縫切換。切換過程中,不會出現SNAT功能不可用,僅在切換的一瞬間發生已有TCP連接的斷開,隻需應用進行重連即可;

環境

當前VPC中有兩個ECS實例:

  • i-9410jeo5i為自建的SNAT網關;這台ECS上綁定了一個EIP,並且開啟了轉發服務、配置了iptables規則以實現SNAT轉發;
  • i-94kjwn5ds為需要SNAT功能來訪問互聯網的服務器;

圖1-當前ECS實例

當前VPC的路由器上,添加了一條自定義路由,將公網訪問請求轉發給i-9410jeo5i;

圖2-路由表現有配置

操作步驟

添加8條路由,對原有路由進行覆蓋

添加8條路由,目的CIDR分別為1.0.0.0/8;2.0.0.0/7;4.0.0.0/6;8.0.0.0/5;16.0.0.0/4;32.0.0.0/3;64.0.0.0/2;128.0.0.0/1;下一跳均為i-9410jeo5i。

圖3-添加精細路由

配置結果如下圖所示:

圖4-精細路由配置結果

由於路由表按照“最長匹配原則”,會優先匹配子網掩碼最長的路由條目;而去往任意IP地址的數據包,都會匹配到這8條中的一條;因此,0.0.0.0/0這條路由實際上已經不再有用了。

刪除目的地址段為0.0.0.0/0的路由

圖5-刪除默認路由

創建NAT網關

在該VPC中創建NAT網關。

圖6-創建NAT網關

創建出的NAT網關如圖所示:

圖7-創建出的NAT網關

創建NAT網關時,係統會自動添加一條0.0.0.0/0的路由,指向NAT網關

圖8-指向NAT GW的路由

為NAT網關配置公網IP與帶寬

在NAT網關上創建一個公網帶寬包,為NAT網關配置公網IP與帶寬。

圖9-添加共享帶寬包1

圖10-添加共享帶寬包2

圖11-生成的共享帶寬包

在NAT網關上配置SNAT規則

在NAT網關的控製台上,進入“SNAT表”管理界麵,添加SNAT規則;交換機ID是需要SNAT功能的ECS所屬的交換機的ID;外部IP地址 是NAT網關上執行SNAT轉換時使用的公網IP地址。

圖12-配置SNAT規則1

添加出的SNAT規則如圖所示:

圖13-添加出的SNAT規則

至此,NAT網關上SNAT相關的所有配置已經完成,NAT網關已經開始對收到的所有公網訪問請求進行SNAT轉換;但是,由於指向NAT網關的路由的優先級較低,因而沒有數據包被轉發到NAT網關上

去除之前添加的八條路由,啟用NAT網關

刪除之前添加的八條指向i-9410jeo5i的明細路由,讓路由器把公網訪問請求不再轉發給自建SNAT,而是轉發給NAT網關。

圖14-刪除明細路由

八條路由全部刪除後,路由表中的內容如圖所示:

圖15-刪除明細路由後的路由表

至此,已經完成了從自建SNAT網關到使用官方NAT網關的SNAT功能的全部切換流程。

最後更新:2016-11-23 16:04:16

  上一篇:go 高可用的SNAT網關__最佳實踐_用戶指南_專有網絡 VPC-阿裏雲
  下一篇:go 專有網絡環境做端口映射__配置_用戶指南_專有網絡 VPC-阿裏雲