摘要: NAT网关是云上VPC ECS访问Internet的出入口。SNAT可实现指定的VPC ECS使用指定的公网IP访问互联网。阿里云NAT网关控制台创建SNAT条目时,默认是为指定的交换机配置1个公网IP地址。

(一)前言

为什么使用SNAT POOL

NAT网关是云上VPC ECS访问Internet的出入口。SNAT可实现指定的VPC ECS使用指定的公网IP访问互联网。阿里云NAT网关控制台创建SNAT条目时,默认是为指定的交换机配置1个公网IP地址。但SNAT的连接数受限于单一公网IP端口数量,当访问量急速增大时,单一公网IP作为VPC ECS访问互联网的出口会显得有些力不从心。对于这种场景,则可以考虑使用NAT网关的SNAT POOL功能。

什么是SNAT POOL功能

创建SNAT条目时,可将多个公网IP加入到一个地址池。当VPC ECS主动发起对外的访问连接时,VPC ECS会随机通过SNAT地址池中的公网IP地址访问互联网。

如何使用SNAT POOL功能

调用阿里云NAT网关API接口:CreateSnatEntry。下图给出了CreatSnatEntry的请求参数。


说明:本文将使用阿里云提供的工具OpenAPI_Explorer做使用示例。

(二)准备工作

创建VPC,规划子网,按需购买VPC ECS。
创建NAT网关。
为NAT网关新购包含2个公网IP地址的NAT带宽包。
下面分别是本文示例SNAT POOL操作拓扑图,和绑定了2个弹性公网IP的NAT网关的控制台示意图。

(三)SNAT POOL设置

登录阿里云提供的OpenAPI_Explorer,OpenAPI_Explorer提供快速的API接口调试,是一款非常便捷的工具。

在OpenAPI Explorer左侧的”云产品列表“里选择“专用网络VPC",然后搜索API接口“CreateSnatEntry”。

填入NAT网关的regionId,SnatTableId和需要设置SNAT的vswitchID。将要设置为SNAT地址池的2个EIP填入到SnatIp中,用逗号隔开,如下图所示。然后点击“发起请求”。

这时,返回NAT网关控制台,可以看到SNAT条目里面已经出现了刚才设置后的SNAT POOL。

(四)SNAT POOL验证

分别登录设置了SNAT规则的vswitch后的三台ECS,查看出网的源IP地址。

(五)注意事项

SNAT POOL创建成功后,指定的VPC ECS将随机使用SNAT POOL中的公网IP访问互联网。

SNAT POOL功能目前仅支持API创建,控制台上SNAT条目默认只支持在vswitch粒度上设置一个公网IP作为出网的源IP地址。后续控制台上将开放SNAT POOL功能,敬请期待。

SNAT POOL功能目前只支持NAT带宽包的公网IP,对于NAT网关绑定的弹性公网IP也计划支持,敬请期待。

(六)有用链接

阿里云NAT网关API文档之详解CreateSnatEntry --【CreateSnatEntry】
阿里云NAT网关之产品图解 --【一张图看懂阿里云网络产品【四】NAT网关】
阿里云专有网络公网出入口管理之必读 --【详解SLB、EIP、NAT网关之间区别, 合理选择云上公网入口】

原文链接

阅读更多干货好文,请关注扫描以下二维码:

NAT网关之SNAT进阶使用(一)SNAT POOL的更多相关文章

  1. TR-069_Amendment-4:附录G.穿越NAT网关的连接请求方式

    注意:这种机制只适用于RFC 3489[21]中定义的经典STUN,RFC 5389引入后,这个机制已经过时.这个机制不是设计用于RFC 5389中定义的STUN.IPv6部署要么不使用NAT,要么以 ...

  2. 反弹,反向穿越防火墙,NAT网关等乱七八糟的术语

    反弹,反向穿越防火墙,反向穿越NAT网关等一切与反向有关的网络活动,往往都是指同一回事情. 以前的木马都是客户端(攻击者)控制服务器(用户),把配置好的服务器发给用户来攻击,叫做正向. 现在的木马代码 ...

  3. 阿里云弹性公网IP那些事 阿里云云栖号 6月1日 弹性公网IP是独立的公网IP资源,可以绑定到阿里云专有网络VPC类型的ECS、NAT网关、私网负载均衡SLB上,并可以动态解绑,实现公网IP和ECS、NAT网关、SLB的解耦,满足灵活管理的要求。阿里云弹性公网IP那些事 阿里云云栖号 6月1日 弹性络VPC类型的E

    阿里云弹性公网IP那些事 阿里云云栖号 6月1日 弹性公网IP是独立的公网关.私网负载均衡SLB上,并可以动态解绑,实现公网IP和ECS.NAT网关.SLB的解耦,满足灵活管理的要求.

  4. iptable nat网关

    echo "1" > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s 192.168.1.0/ ...

  5. 【问题】为啥WMWare Workstation里面虚拟机的网关默认是NAT网关

    今天做KickStart自动化安装实验,无意中发现一个奇怪现象. 先描述下我的实验环境:笔记本Win10,安装了WMWare Workstation,在WMWare Workstation上面安装了C ...

  6. iptable filter nat MASQUERADE snat dat

    在这里,系统会根据IP数据包中的destination ip address中的IP地址对数据包进行分发.如果destination ip adress是本机地址,数据将会被转交给INPUT链.如果不 ...

  7. F5 SNAT NAT相关

    SNAT: 跟路由器.防火墙一样,BIG-IP系统提供NAT (Network Address Translation)和SNAT(Secure Network Address Translation ...

  8. 如何区分SNAT和DNAT

    从定义来讲它们一个是源地址转换,一个是目标地址转换.都是地址转换的功能,将私有地址转换为公网地址.要区分这两个功能可以简单的由连接发起者是谁来区分:       内部地址要访问公网上的服务时(如web ...

  9. [daily] SNAT和DNAT

    SNAT,DNAT,MASQUERADE都是NAT MASQUERADE是SNAT的一个特例 SNAT是指在数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定的IP,这样,接收方就认为数据包 ...

随机推荐

  1. 多线程14-Barrier

    , b => Console.WriteLine());         ; i <= ; i++)             {                 Console.Write ...

  2. [转帖]Ubuntu 清理 历史命令

    Ubuntu彻底清除history命令历史记录 https://blog.csdn.net/u013554213/article/details/84954062 centos 可以使用这个命令 清理 ...

  3. [转帖]深度解析区块链POW和POS的区别

    深度解析区块链POW和POS的区别 Proof of Work 还有Proof of Stake 之前理解程了 state ... 股权的意思 还有 delegated proof of Stake ...

  4. 开篇——从程序员到IT经理

    2002年~2005年我在广州的广东水力电力职业技术学院求学,主修网络工程.求学期间,我从事最多的就是玩游戏,当时就是玩MU和CS,所以有一门编程课叫C语言的“肥佬”(广东话)了,要补考,没办法,于是 ...

  5. 洛谷P1484 种树&洛谷P3620 [APIO/CTSC 2007]数据备份 题解(堆+贪心)

    洛谷P1484 种树&洛谷P3620 [APIO/CTSC 2007]数据备份 题解(堆+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/132 ...

  6. 区间动态规划 矩阵连乘 Medium

    The multiplication puzzle is played with a row of cards, each containing a single positive integer. ...

  7. C++关于erase的复杂度(转载)

    被这个问题困扰了很多次,有必要整理一下. 当然最好的参考资料就是http://www.cplusplus.com/reference/set/set/erase/ 里的Complexcity部分了,但 ...

  8. 转载 PowerDesigner导出mysql数据结构

    转自:https://blog.csdn.net/dkingyaoyao/article/details/84586146 好久没有使用PowerDesigner,突然想用它导出数据结构,居然忘记了. ...

  9. react搭建

    https://juejin.im/post/5b4de4496fb9a04fc226a7af

  10. C#人民币金额大写转换

    人民币金额大小写转换,三行代码 //完善了一下查询到的方法,支持小数,保留2位小数 public string NumGetStr(double Num) { string[] DX_SZ = { & ...