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

同虚拟网络下App Service通过专用DNS访问Azure VM失败及私有IP连通问题

针对App Service与VM同VNet但DNS解析+私有IP访问失败的排查方案

看起来你遇到的是VNet Integration预览版下的双重问题:DNS解析失效,以及私有IP连通性异常(公网IP正常)。我给你梳理几个关键排查点,按顺序来试:

一、先解决DNS解析问题

  • 确认App Service是否继承了VNet的DNS设置
    虽然你的VNet已经关联了专用DNS区域,但App Service的VNet Integration(预览版)默认可能不会自动继承VNet的DNS配置。去App Service的「网络」→「VNet集成」设置里,检查是否勾选了「使用虚拟网络的DNS服务器」选项。如果没开,开启后重启App Service再用nameresolver.exe myvm1.priv.zone测试,同时注意看命令返回的DNS服务器地址是不是Azure的默认DNS(比如168.63.129.16),如果是公共DNS的话说明配置没生效。
  • 验证专用DNS区域的记录和关联状态
    去专用DNS区域里确认myvm1的A记录是否存在,并且对应的私有IP是正确的。另外检查VNet和专用DNS区域的关联类型是「自动注册」(因为你的VM是自动注册的),关联状态显示「已成功」,确保没有关联失败的情况。

二、排查私有IP访问失败的问题(公网IP正常说明VM服务本身没问题)

  • 检查VM本地防火墙规则
    即使VM子网的NSG允许所有流量,VM操作系统的防火墙(比如Windows Defender防火墙)可能默认拦截了来自App Service集成子网的流量。登录VM,添加入站规则,允许来自App Service集成子网的IP段(比如10.1.x.0/24)的所有TCP/UDP流量,然后测试连通性。
  • 确认App Service集成子网的委托设置
    预览版的VNet Integration要求集成的子网必须委托给Microsoft.Web/serverFarms。去VNet的子网设置里,找到App Service集成的那个子网,查看「子网委托」是否正确配置了这个服务主体。如果没委托,配置后重启App Service再试。
  • 检查路由表配置
    查看App Service集成子网关联的路由表,有没有自定义路由规则把到VM私有IP段的流量导向了其他地方(比如NVA或者互联网)。默认情况下,同一VNet内的子网互通应该有系统路由,但如果有自定义路由,确保存在一条目标为VM子网IP段、下一跳为「虚拟网络」的路由规则。
  • 用App Service内置工具做连通性测试
    在App Service控制台里用tcpping 10.1.x.x命令测试,看看输出是「超时」还是「连接拒绝」:
    • 超时:大概率是NSG或路由问题,导致流量没到达VM;
    • 连接拒绝:说明流量到了VM,但被VM本地防火墙或服务端口拦截,检查VM的服务是否监听私有IP,以及防火墙规则。

内容的提问来源于stack exchange,提问作者Rambalac

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:33:04