You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure环境下IP重定向与双向NAT配置的可行方案咨询

Azure环境下IP重定向与双向NAT配置的可行方案咨询

问题背景

我在Azure上运行一台Linux虚拟机(IaaS),它向互联网提供SFTP服务。现在我要把这个服务迁移到本地,通过一个拥有不同公网IP的防火墙。但麻烦的是,很多客户都是通过公网IP(而非FQDN)连接这个服务的:

  • Linux虚拟机的网卡上直接配置的公网IP是1.1.1.1
  • 本地防火墙的公网IP是2.2.2.2

我希望将发往1.1.1.1的入站连接重定向到本地防火墙,同时需要实现双向NAT:既要把目标IP从1.1.1.1转换为2.2.2.2,也要把源IP转换为1.1.1.1或者该Azure服务/资源上的另一个公网IP(比如3.3.3.3)。有没有合适的Azure服务或资源可以实现这个需求?

可行解决方案

您好,针对您的场景,Azure Firewall是最适配的方案,它完全支持您需要的双向NAT(目标地址转换DNAT+源地址转换SNAT)能力,另外也可以参考公共负载均衡器的方案,但有一定局限性,下面详细说明:

1. Azure Firewall(推荐)

这是最直接且功能完整的方案,具体配置步骤如下:

  • 保留原公网IP:先把原Linux VM网卡上的1.1.1.1解绑,将其分配给Azure Firewall的公共IP配置(标准SKU的Azure Firewall支持关联多个公网IP,所以也可以同时添加3.3.3.3作为备选)。
  • 配置DNAT规则:创建一条入站DNAT规则,匹配所有发往1.1.1.1的SFTP端口(默认22)流量,将目标地址转换为本地防火墙的2.2.2.2:22,同时允许该流量通过。
  • 配置SNAT规则:创建一条SNAT规则,指定当Azure Firewall把流量转发到2.2.2.2时,将源IP替换为1.1.1.1或3.3.3.3——这样本地防火墙收到的请求源IP就是您指定的Azure侧公网IP,后续回包也能正常路由回来。
  • 打通跨环境路由:需要确保Azure和本地网络之间已经通过VPN网关或ExpressRoute建立了连接,保证Azure Firewall能把流量转发到本地的2.2.2.2。

额外注意:要记得在本地防火墙的规则里,允许来自1.1.1.1或3.3.3.3的SFTP流量,避免被拦截。

2. Azure公共负载均衡器(局限性方案)

公共负载均衡器的入站NAT规则通常是用来转发流量到Azure内部的后端资源(比如VM),如果要转发到外部的2.2.2.2,需要结合用户定义路由(UDR)和SNAT配置,但操作起来比Azure Firewall复杂,而且功能受限,不太推荐用于这种跨环境的流量转发场景。

3. 其他不适用的服务

Azure Virtual Network Gateway(VPN网关)主要用于建立站点到站点的私有连接,不具备公网IP的双向NAT转发能力,所以不适合您的需求。

备注:内容来源于stack exchange,提问作者c9957453

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 13:44:52