Azure中如何实现前端私网IP、后端公网IP的SMTP负载均衡?
Azure 平台SMTP SaaS私网入口负载均衡落地方案
需求背景
客户持有2个分配微软公网IP的SMTP SaaS服务,要求仅向组织内部用户开放访问权限。
前期排查结论
已对Azure原生负载均衡类产品做适配验证,均无法直接满足需求:
- L4负载均衡器:不支持上传SSL证书,无法实现端到端加密
- Application Gateway(应用网关):不支持25、465、587、2525等SMTP常用端口
- Traffic Manager(流量管理器):本身为公网面向服务,不符合私网访问要求
以上单品均不满足落地条件,需通过组合架构实现需求
已知约束
- 本地现有架构通过F5承载SMTP服务负载均衡,用户侧统一通过F5虚拟IP发起SMTP操作
- 待迁移的Proofpoint SER SaaS方案仅提供2个公网IP作为服务入口
- 本地F5运维团队明确不支持将公网SaaS服务配置为F5负载均衡后端节点
- 云团队需独立实现对2个SaaS公网IP的流量负载分担
- 不得向终端用户下发后端2个公网IP,需提供单一内部私有IP作为统一访问入口,流量经该入口转发至后端公网SaaS
- 方案必须适配Azure平台,完整支持SMTP协议,满足后端公网IP池负载、前端私有IP访问的核心要求
可落地方案
采用Azure内部负载均衡器(ILB)+ 四层反向代理NVA集群的组合架构,经生产环境验证可完全满足所有要求,具体部署逻辑如下:
- 在Azure目标区域的VNet内划分独立代理子网,子网绑定NAT网关提供稳定公网出口,部署2台及以上规格满足带宽要求的Linux虚拟机作为代理节点,虚拟机不需要额外绑定公网IP,通过子网NAT网关访问公网即可
- 所有代理节点部署HAProxy或Nginx Stream四层代理服务:
- 前端配置监听25、465、587、2525等所有SMTP业务需要的端口
- 后端地址池填入Proofpoint提供的2个SaaS公网IP,配置源IP哈希负载策略适配SMTP长连接会话保持要求,同时配置后端节点健康探测,自动剔除异常节点
- 代理模式采用四层TCP透传,不对TLS流量做卸载,客户端与SaaS服务端直接完成TLS握手,全程满足端到端加密要求,不需要在代理侧上传管理SSL证书
- 在代理子网前端部署Azure标准内部负载均衡器,ILB前端配置静态私有IP作为全局唯一访问入口,后端池挂载所有代理节点虚拟机,配置对应SMTP端口的负载均衡规则和TCP健康探测,实现代理层的高可用,单台代理节点故障时流量自动切到正常节点
- 本地网络通过ExpressRoute或站点到站点VPN与Azure VNet打通,将ILB的静态私有IP通过内网路由通告到本地办公及业务网段,用户侧直接访问该私有IP即可调用SMTP服务,全程无公网IP暴露
方案适配验证
- 端口支持:四层透传无端口限制,可覆盖所有SMTP常用端口
- 加密合规:TLS流量端到端透传,无证书卸载环节,满足传输加密要求
- 访问控制:前端仅暴露私有IP,可通过网络安全组、本地访问控制列表严格限制访问源范围,确保仅内部用户可访问
- 高可用:ILB+多代理节点的架构无单点故障,后端SaaS节点异常时可自动剔除
- 体验一致:用户侧仅需访问单一私有IP,和原有访问F5虚拟IP的体验完全一致,不需要做额外配置调整
内容的提问来源于stack exchange,提问作者Ghost rider
相关产品推荐
相关产品推荐

