106
魔獸
自建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功能來訪問互聯網的服務器;
當前VPC的路由器上,添加了一條自定義路由,將公網訪問請求轉發給i-9410jeo5i;
操作步驟
添加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。
配置結果如下圖所示:
由於路由表按照“最長匹配原則”,會優先匹配子網掩碼最長的路由條目;而去往任意IP地址的數據包,都會匹配到這8條中的一條;因此,0.0.0.0/0這條路由實際上已經不再有用了。
刪除目的地址段為0.0.0.0/0的路由
創建NAT網關
在該VPC中創建NAT網關。
創建出的NAT網關如圖所示:
創建NAT網關時,係統會自動添加一條0.0.0.0/0的路由,指向NAT網關
為NAT網關配置公網IP與帶寬
在NAT網關上創建一個公網帶寬包,為NAT網關配置公網IP與帶寬。
在NAT網關上配置SNAT規則
在NAT網關的控製台上,進入“SNAT表”管理界麵,添加SNAT規則;交換機ID是需要SNAT功能的ECS所屬的交換機的ID;外部IP地址 是NAT網關上執行SNAT轉換時使用的公網IP地址。
添加出的SNAT規則如圖所示:
至此,NAT網關上SNAT相關的所有配置已經完成,NAT網關已經開始對收到的所有公網訪問請求進行SNAT轉換;但是,由於指向NAT網關的路由的優先級較低,因而沒有數據包被轉發到NAT網關上
去除之前添加的八條路由,啟用NAT網關
刪除之前添加的八條指向i-9410jeo5i的明細路由,讓路由器把公網訪問請求不再轉發給自建SNAT,而是轉發給NAT網關。
八條路由全部刪除後,路由表中的內容如圖所示:
至此,已經完成了從自建SNAT網關到使用官方NAT網關的SNAT功能的全部切換流程。
最後更新:2016-11-23 16:04:16
上一篇:
高可用的SNAT網關__最佳實踐_用戶指南_專有網絡 VPC-阿裏雲
下一篇:
專有網絡環境做端口映射__配置_用戶指南_專有網絡 VPC-阿裏雲
計費模式__購買實例_購買指南_雲服務器 ECS-阿裏雲
查看所有集群實例__集群API列表_API參考_容器服務-阿裏雲
CNAME回源___產品功能說明_產品常見問題_DDoS 高防IP-阿裏雲
索引查詢-消息服務(MNS)日誌__最佳實踐_日誌服務-阿裏雲
安全組默認規則__安全組_用戶指南_雲服務器 ECS-阿裏雲
UPDATE__數據操作語言_SQL語法參考_雲數據庫 OceanBase-阿裏雲
包月ECS帶寬按流量計費FAQ__ECS常見問題_產品使用問題_雲服務器 ECS-阿裏雲
使用示例__osscmd_常用工具_對象存儲 OSS-阿裏雲
使用金融雲VPC__使用金融雲產品_金融雲-阿裏雲
刪除路由器接口__高速通道相關接口_API 參考_雲服務器 ECS-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲