常见问题

更新时间: 2025-08-22 10:37:21

本文总结使用过程中的常见问题,帮助定位、排查并解决相关问题。

使用与配置

实例配置

为什么某些可用区无法购买NAT网关?

由于资源建设原因,NAT网关在某些可用区尚未部署。可以调用ListEnhanhcedNatGatewayAvailableZones查询支持创建NAT网关的可用区。

虽然某些可用区无法创建,但可以在任意已部署NAT网关的可用区创建NAT网关,从而为整个VPC内任意可用区的实例或资源提供公网访问服务。

NAT网关实例是否支持切换所属交换机和私网IP地址?

不支持。如需变更部署的交换机,只能创建新的NAT网关并修改路由条目。

NAT网关是否支持处理分片数据包?

支持处理TCP、UDP以及ICMP分片数据包。

SNAT 配置

当多条SNAT条目的源网段重叠时,如何匹配SNAT条目的优先级?

系统会根据最长掩码匹配规则确定优先为哪一条SNAT条目提供互联网代理服务。

  • ECS粒度的SNAT条目:源网段的子网掩码为/32,长度最长,优先级最高,优先匹配。

  • 其他粒度的SNAT条目:根据源网段的子网掩码长度进行匹配,长度越长,优先级越高,越先匹配。

NAT网关的SNAT连接空闲超时时间是多少?

  • TCP协议:900秒。

  • UDP协议:60秒。

ECS实例可以通过公网NAT实例中的SNAT访问同一个NAT实例上的DNAT服务吗?

NAT网关切换至NAT模式后,当公网NAT网关实例上同时创建了SNAT和DNAT,该公网NAT网关实例支持通过SNAT能力去访问同公网NAT网关实例内的DNAT服务。

DNAT 配置

如果ECS实例绑定了EIP,是否支持为该ECS实例创建DNAT条目?

支持,但是外部用户无法通过此条目访问该ECS实例。如需通过DNAT条目访问该ECS实例,需要先解绑ECS实例的EIP。

EIP 配置

创建NAT条目时,为什么在公网IP地址列表中找不到已创建的EIP?

创建的EIP和NAT网关不在同一地域。请选择与NAT网关同一地域下的EIP,或在NAT网关地域重新创建EIP。

NAT网关可以将一个EIP或NAT IP同时用于DNAT和SNAT条目吗?

可以。但是当DNAT条目粒度为任意端口时,该EIP或NAT IP将无法再用于创建其他DNAT或SNAT条目。

公网NAT网关绑定EIP的两种模式有什么区别?

通过控制台创建的公网NAT网关默认为NAT模式多EIP网卡可见模式仅可通过调用CreateNatGateway并指定EipBindMode创建。

  • 如需结合 IPv4 网关使用,必须使用NAT模式。

  • 如需更高的EIP管理灵活性,可以选择多EIP网卡可见模式。

绑定模式

NAT模式

多EIP网卡可见模式

切换绑定模式

不支持切换至多EIP网卡可见模式。

  • 控制台切换:参考切换公网NAT网关模式进行操作。

  • OpenAPI切换:可以通过调用修改NAT网关的属性接口实现。

    EipBindMode字段填写:NAT

    • 当NAT网关绑定的EIP数量 ≤ 5时,可直接通过API接口进行切换。

    • 当NAT网关绑定的EIP数量>5时,请联系商务经理进行申请。

说明
  • 在EIP绑定模式切换过程中网络连接会出现秒级别闪断(闪断时间随着 EIP 数量增加而变长),请您尽量在业务低峰期执行切换操作。

  • 在进行EIP绑定模式切换前,请确保NAT网关所在交换机内可用IP地址数量充足。

在扩充公网NAT网关的EIP时,是否会消耗NAT网关所在交换机内的可用IP地址

  1. 每新增一个EIP,NAT网关所在的交换机会分配一个私有IP地址,并将该私有IP地址与EIP进行绑定。

  2. ECS实例在使用SNAT/DNAT条目进行转发时,数据首先通过与EIP绑定的私有IP进行接收,随后再转发至相应的EIP。

  1. 增加EIP不会消耗NAT网关所在交换机内的可用IP地址。

  2. ECS实例在使用SNAT/DNAT条目进行转发时,数据将直接通过相应的EIP进行转发。

是否支持IPv4网关

支持开启。

不支持开启。

ECS实例是否可以通过公网NAT实例中的SNAT访问同一NAT实例上的DNAT服务

可以访问。

无法访问。

创建方式

调用CreateNatGateway指定EipBindModeMULTI_BINDED

网络连通性排查

无法通过SNAT访问公网

  • 检查指向NAT的默认路由配置:

    在公网 NAT 网关实例详情页查看指向NAT的专有网络路由信息确认是否有指向该公网NAT网关的路由条目。如缺失,需在相关路由表配置目标网段为0.0.0.0/0的路由指向该公网NAT网关。

  • 验证SNAT规则配置:

    • 在公网 NAT 网关实例详情页的SNAT管理页签,确认SNAT条目的状态为可用

    • 确认访问公网的源地址在源网段内。

  • 排查非NAT问题:

    • 跨境访问:访问线路不稳定。

    • 域名访问:检查域名备案解析是否正常。

    • 访问控制:检查访问对端是否配置了访问控制策略或将实例绑定的EIP加入了白名单。

  • 检查是否配置IPv4网关:与 IPv4 网关结合使用时,确保NAT网关为NAT模式,并正确配置路由。

新建ECS无法通过SNAT访问公网

当VPC内新建交换机的ECS实例无法通过SNAT访问公网,而其他交换机下的ECS实例可以正常访问时:

  • 确认 SNAT 条目中是否包含新建的交换机的网段:

    NAT 网关不会为新建的交换机配置SNAT条目,需在实例详情页的SNAT管理页签检查已有SNAT条目的源网段是否包含新建交换机的网段。如果未包含,需手动配置SNAT条目

  • 如果新建交换机绑定了自定义路由表,确认是否配置目标网段为0.0.0.0/0,下一跳为NAT网关的路由条目,可手动添加对应的路由条目

多个NAT网关共存时某个ECS无法访问公网

该 VPC 仅使用系统路由表,且只有一条目标网段为0.0.0.0/0的路由条目指向其中一个NAT网关,当该NAT网关的SNAT条目的源网段不包含某交换机的网段时,该交换机下的ECS实例无法访问公网。

  • 如果无需使用多个NAT网关,建议删除无需使用的NAT网关,并为保留的NAT网关增加SNAT条目,覆盖交换机的网段。

  • 如果需要使用多个NAT网关,可参考同VPC内多公网NAT网关部署方案配置。

使用SNAT访问FTP服务端访问失败

可能原因如下:

  • FTP模式为主动模式:配置SNAT条目的NAT网关仅支持主动出向访问,FTP主动模式下数据连接的建立将因SNAT无法支持主动入向而导致失败。需使用FTP被动模式连接FTP服务器。

  • SNAT条目选择了多个EIP:FTP控制连接和数据连接在SNAT后可能使用了不同的EIP,导致FTP无法正常交互。需开启SNAT规则的EIP亲和性能力,确保来自同一客户端的连接始终使用相同的EIP。也可以为FTP客户端设置独立的SNAT规则,并绑定单一EIP。

配置DNAT条目后无法被公网访问

  • 检查指向NAT的默认路由配置:

    DNAT条目中配置的实例被访问后回复响应报文时,也需要有去往NAT网关的路由。需确认使用的系统路由表或自定义路由表中是否配置目标网段为0.0.0.0/0的路由指向该NAT网关,可手动添加对应的路由条目

  • 验证DNAT规则配置:

    • 在公网 NAT 网关实例详情页的DNAT管理页签,确认DNAT条目的状态为可用

    • 确认DNAT规则配置的端口、协议、目标地址等参数正确。

  • 检查安全组、防火墙配置和服务端口开启状态:

    • 在同VPC内的其他ECS实例执行telnet <ECS实例私网IP地址> <私网端口>命令,确认DNAT条目中配置的ECS实例的私网端口是否可被访问。

      • 如果回显unable connect to remote host: Connection timed out,则私网端口不可被私网访问,则也不可被公网访问。

      • 如果回显Connected to <ECS实例私网IP地址>,则私网端口可被访问。

    • 私网端口可被访问时,需确认ECS实例的安全组规则是否允许公网访问对应端口,以及防火墙是否开放对应端口。

  • 排查域名解析问题:如果通过域名访问不通,但通过EIP可以直接访问,检查域名解析设置和备案状态。

  • 检查是否配置IPv4网关:与 IPv4 网关结合使用时,确保NAT网关为NAT模式,并正确配置路由。

  • 验证网卡一致性:当ECS有多个网卡时,需检查数据的入网卡和出网卡是否一致,可参考统一公网出口IP进行配置。

与 IPv4 网关结合使用

IPv4网关与NAT网关的区别

IPv4网关和公网NAT网关功能并无交叉。参考公网访问,详细了解相关网络组件之间的关系。

网络组件

IPv4网关

公网NAT网关

功能定位

VPC边界上的公网IPv4流量控制组件

VPC内部的网络地址转换设备

使用场景

集中控制公网访问流量

统一公网流量出口

是否提供公网访问能力

不提供,仅控制公网流量

通过绑定EIP提供公网访问能力

(公网访问能力是由EIP提供的,NAT网关本身不提供公网访问能力)

创建 IPv4 网关后,交换机可区分为:

  • 公有交换机:绑定的路由表中存在目标网段0.0.0.0/0下一跳为IPv4网关的路由,其中的资源绑定公网IP即可访问公网。

  • 私有交换机:绑定的路由表中不存在指向IPv4网关的路由,其中的资源绑定公网IP后无法直接访问公网。

结合公网NAT网关使用时,需要将公网NAT网关部署在公有交换机,部署在私有交换机的ECS实例配置路由指向公网NAT网关,将访问公网的流量路由至公网NAT网关,再使用公网NAT网关绑定的公网IP访问公网。需注意:

  • 确保公网NAT网关的EipBindModeNAT模式,兼容IPv4网关。

    • 控制台创建的公网NAT网关默认为NAT模式,调用CreateNatGateway创建时,EipBindMode需传入NAT。创建完成后,可以调用ModifyNatGatewayAttribute调整EipBindMode

    • 如果已创建EipBindModeMULTI_BINDED模式的公网NAT网关,由于不兼容IPv4网关,将无法创建IPv4网关。

    • 如果已创建IPv4网关,调用CreateNatGateway创建EipBindModeMULTI_BINDED模式的公网NAT网关,将无法绑定EIP。

  • 为避免激活IPv4网关后私有交换机中的资源无法访问公网,确保在激活IPv4网关前完成路由配置。

image

切换公网NAT网关为NAT模式的影响

切换后,公网 NAT 网关可以和 IPv4 网关结合使用。当实例同时创建SNAT和DNAT时,支持通过SNAT能力去访问同公网NAT网关实例内的DNAT服务。

  • 计费影响:切换过程免费,不会产生额外费用。

  • 业务影响:切换过程中网络连接会出现秒级闪断,闪断次数与绑定的EIP数量有关。

  • 配置影响:

    • 不改变公网出口IP地址和原有的配置。

    • 绑定一个EIP将占用NAT网关所在交换机的一个私网IP,需确保NAT网关所在交换机的私网IP充足。

    • 切换后不支持关闭兼容IPv4网关模式。

性能与监控

客户端访问公网服务时连接超时、下载速度慢

  • 流量数据监控

  • Linux内核优化

    • 问题原因:如果存在多台Linux操作系统的ECS实例通过NAT网关并发访问Linux操作系统服务端,由于Linux操作系统内核实现的原因,可能存在TCP连接请求被Linux操作系统内核丢弃而导致连接超时或失败的情况。具体原因,可参考Linux内核协议栈丢弃SYN报文的主要场景剖析

    • 问题解决:建议关闭服务端Linux net.ipv4.tcp_tw_recycle选项,或关闭客户端Linux net.ipv4.tcp_timestamps选项。

NAT网关端口分配失败丢失数的含义

含义:通过NAT网关访问目的地址时,由于并发连接数过高,导致分配的TCP或UDP端口失败,从而造成连接被丢弃的数量。

问题原因:单个EIP或NAT IP可提供SNAT分配的端口数量有限。当访问同一个目的地址的会话数量过多而配置的SNAT规则使用的EIP或NAT IP数量过少时,会造成端口分配失败。

问题解决:当端口分配失败丢失数持续增长时,增加SNAT规则中配置的EIP或NAT IP数量。

计费与配额

公网NAT网关实例计费类型转换

  • 当前支持的计费类型:仅支持后付费按使用量计费。

  • 已停止新购的计费类型:预付费包年包月计费、后付费按固定规格计费。

  • 存量实例转换:

    • 存量的后付费按固定规格和存量包年包月的NAT网关实例,可以转换为后付费按使用量计费。

    • 按固定规格计费转换为按使用量付费不支持回退,请谨慎操作。

NAT 网关的费用突然增加

NAT 网关为按量付费产品,费用增加通常意味着通过 NAT 网关处理的流量增多。可通过以下方式排查:

  • 查看监控:在云监控平台,查看 NAT 网关实例的出/入方向流量、连接数等指标,确认业务高峰。

  • 查看账单明细:使用费用与成本查看 NAT 网关的小时级别账单详情,定位费用增长的具体时间点。

  • 开启流量日志:开启 NAT 网关的流量日志(会话日志流日志),将日志投递到日志服务中分析,精确定位流量来源。

NAT 网关资源包退订

NAT网关资源包支持五天未使用退订非全额退订,具体请参见退订规则说明

删除NAT网关后依旧出账

删除NAT网关实例后依旧收到账单,是由计费系统的延迟出账机制导致。收到的账单是针对实例删除前所产生的资源使用费用,可以在账单详情中查看具体的消费时间段,以确认费用的归属周期。

每个账号可创建的NAT网关数量

不针对阿里云账号限制创建NAT网关的数量。

上一篇: 服务支持 下一篇: NAT网关相关协议
阿里云首页 NAT网关 相关技术圈