法律协议
SNAT规则 FAQ
为什么使用SNAT?
当存在多台云服务器需要访问公网时,推荐使用SNAT规则。
相比于每台云服务器绑定公网IP,SNAT规则具有如下优势:
- 共享公网IP。多台云服务器共享一个公网IP的地址和带宽,降低公网使用成本。
- 安全性高。使用SNAT规则不会暴露云服务器的IP,一定程度上降低了云服务器被攻击的风险。
- 方便易用。可按需设置SNAT规则,SNAT规则对应网段内新增和删除云服务器实例无需修改SNAT规则。
- 高可用。支持双集群冷备,跨可用容灾,保障业务运行。
什么是SNAT连接?
一条连接是客户端到服务器的一条物理路径,SNAT连接是由源IP地址、源端口、目的IP地址、目的端口、传输层协议五个元素共同确定的物理路径,其中源IP地址、源端口指经过SNAT转换的公网IP及其端口。
系统设置默认老化时间(TCP为900秒,UDP为90秒)即没有报文传输的时间,若SNAT连接没有报文传输的时间超过老化时间,则自动中断。
当SNAT规则关联一个公网IP时,SNAT连接的源端口由系统随机分配。
当SNAT规则关联多个公网IP时,SNAT连接的源IP地址、源端口由系统随机分配。
已配置SNAT规则的云服务器无法访问公网?
可能原因如下:
公网NAT网关丢包或连接不通该如何处理?
可能原因如下:
- 已达到当前规格公网NAT网关的连接数上限。更多详情,请参考 产品性能 和 修改公网NAT网关规格 。
- 已达到SNAT规则关联的公网IP的带宽上限。更多操作,请参考 修改带宽上限 。
- 已达到公网NAT网关的转发带宽上限5Gbps。您可以在当前私有网络再创建一个公网NAT网关,相关操作请参考 创建公网NAT网关 。
多条SNAT规则支持关联一个公网IP吗?一条SNAT规则支持关联多个公网IP吗?
均支持。多条SNAT规则支持关联一个公网IP,一条SNAT规则支持关联多个公网IP。
云服务器通过公网NAT网关访问公网,公网NAT网关的带宽是多少?在哪里设置?
公网NAT网关的转发带宽为已绑定的公网IP带宽之和,上限为5Gbps,即超过5Gbps后,公网NAT网关的转发带宽将受限。
公网NAT网关子网与SNAT规则里的子网有什么关联与区别?
二者没有关联,具体区别如下:
- 创建公网NAT网关选择子网,系统自动从该子网中选择一个可用的私网IP地址创建公网NAT网关网卡。
- 创建SNAT规则选择子网,该子网下的云服务器均可通过SNAT规则共用一个公网IP访问Internet。
通过公网NAT网关访问远端服务概率性失败该如何处理?
排查方法
云服务器通过SNAT访问Internet上服务器,出现TCP建链失败的情况时,可通过以下方法进行排查。
- 执行以下命令,查看远端服务器是否开启了“tcp_tw_recycle”。
- sysctl -a|grep tcp_tw_recycle
- tcp_tw_recycle取值为1时,表示开启。
- 执行以下命令,查看远端服务器内核丢包数量。
- cat /proc/net/netstat | awk '/TcpExt/ { print $21,$22 }'
- 如果ListenDrops数值非0,表示存在丢包,即存在网络问题。
处理方法
修改远端服务器的内核参数。
- 执行以下命令,临时修改参数(重启远端服务器后该设置失效,需重新修改)。
- sysctl -w net.ipv4.tcp_tw_recycle=0
- 永久修改参数方法:
- 执行以下命令,修改“/etc/sysctl.conf”文件。
- vi /etc/sysctl.conf
- 在该文件中添加以下内容:
- net.ipv4.tcp_tw_recycle=0
- 单击键盘中“ esc ”按键输入 :wq! ,保存并退出文件。
- 执行以下命令,使配置生效。
- sysctl -p
最近更新时间:2025.08.19 10:48:16
这个页面对您有帮助吗?
有用
有用
无用
无用