Azure中多台VM共用同一个公网IP的正确配置流程是什么?
Azure 多台VM共享同一公网IP对外访问操作流程
问题原因排查
你当前所有VM对外显示独立公网IP,核心原因是VM出站流量未触发网关SNAT规则,大概率是以下两种情况之一:
- VM网卡各自绑定了实例级公网IP,Azure默认优先走实例自身的公网IP出站
- 你当前的VNet网关未配置出站SNAT规则,或者未关联VM所在子网
推荐配置方案(NAT网关方案,配置最简最稳定)
- 第一步:进入VM的网卡配置页,移除所有VM绑定的实例级公网IP(如果需要对外提供入站服务,可跳过此步,直接走后续网关配置,NAT网关优先级高于实例公网IP)
- 第二步:创建或配置已有的NAT网关,绑定你要作为统一出口的静态公网IP
- 第三步:进入VM所在子网的配置页,将子网关联到上述NAT网关,保存配置
- 第四步:等待配置生效后,在VM内执行
curl ifconfig.me命令验证,返回的公网IP即为NAT网关绑定的统一IP
替代方案(复用现有VNet VPN/ExpressRoute网关)
如果你不想额外部署NAT网关,也可以直接在现有VNet网关上配置SNAT:
- 进入VNet网关的配置页面,开启出站SNAT功能
- 新增SNAT规则,源地址段填写VM所在子网的CIDR,转换地址选择网关绑定的专属静态公网IP
- 保存规则后等待5-10分钟生效,执行上述curl命令验证即可
注意事项
- 如果需要VM对外提供入站服务,不要删除实例级公网IP,建议在网关上配置DNAT端口转发规则,将不同端口映射到对应VM的内网IP,这样入站出站都可以走统一公网IP
- 子网关联NAT网关后,默认所有出站流量都会走NAT网关的公网IP,如果你手动配置了自定义路由表,需要确认路由规则优先级没有高于NAT网关的默认规则
内容的提问来源于stack exchange,提问作者TechnoNewbie
相关产品推荐
相关产品推荐

