Web 应用程序的出站请求让您从未见过的工作人员从您未选择的来源发出,并且办公室防火墙必须接受它。这就是整个问题的一句话。区域 VNet 集成为请求提供了进入虚拟网络的路径,站点到站点 VPN 从那里传送该请求。之后出现的所有问题都与数据包实际使用的源范围和路由有关。

工作人员实际发送的内容

应用服务在位于订阅网络视图之外的工作线程上运行您的代码。启用区域集成后,出站流量将被传递到同一区域中 VNet 中的委派子网,并且数据包会先出现在那里,然后再继续。集成不会将应用程序移动到 VNet 中,也不会更改其入站地址。它只为出站流提供不同的第一跳。

默认情况下,只有私有地址空间采用该路径,因此普通的互联网目的地仍然直接从工作人员发出。通过 VNet 路由所有内容是一项单独的设置和单独的决定,因为它还会通过隧道发送您的公共依赖项。

配置流量(例如启动时拉取容器映像)遵循其自己的路由规则,并且在您的 API 调用成功时可能会失败。

集成子网是您必须允许的源

办公室看到的是集成子网的地址范围,或者您的设备将其转换为的任何地址,而不是应用程序的公共出站地址。将该范围放入站点 VPN 的流量选择器和本地防火墙规则中。如果隧道是基于策略的,忽略隧道的选择器会丢弃数据包,即使路由存在。

不要允许您碰巧观察到的任何一个工人地址。实例会随着扩展和平台维护而变化,固定到一个地址的规则会在最糟糕的时刻中断。

缩小目的地范围:一项服务、一个端口、一个方向,并明确允许返回路径。

对等互连和网关传输是明确的

如果 VPN 网关位于中心 VNet 中且集成子网位于分支中,则路径需要在中心对等互连上允许网关传输,并在分支对等互连上启用远程网关使用。对等互连本身在两个 VNet 之间传输流量,仅此而已。集成子网上的有效路由是您确认网关下一跃确实存在的地方。

路由表将 0.0.0.0/0 发送到防火墙的中心辐射型设计是一种常见变体,并且该防火墙需要自己的本地前缀规则。

在向网络团队开票之前先在纸上画出路径,因为这样可以节省一天的猜测时间。在绘图中包含返回方向,因为这是人们忘记的一半。

入站专用端点是另一个方向

专用端点使应用程序可以从 VNet 内部访问。它对于应用程序对办公室的出站呼叫没有任何作用,团队定期配置一个,但实际需求却相反。

较旧的文档描述了基于点到站点 VPN 构建的网关所需的集成,这是一个有其自身要求的不同功能。 Microsoft 计划于 2027 年 三月 31 日停用该功能,并建议进行区域集成。

不要仅仅因为旧示例使用了旧的点到站点配置就复制它。

使用应用自己的上下文进行验证

从已部署的应用程序进行测试,而不是从笔记本电脑或同一 VNet 中的虚拟机进行测试。分别记录解析的地址、连接结果和应用程序级响应,因为 DNS 故障、TCP 超时和身份验证拒绝点位于三个不同的所有者。如果名称解析失败,请在接触隧道之前修复 VNet 的专用 DNS。

绿色隧道状态仅证明网关已启动。它没有提及选择器、防火墙规则或 DNS。

当请求最终起作用时,将源范围、目标端口和 DNS 区域写入应用的 Runbook。下一个调试此问题的人将从您的注释开始,而不是从网关的状态页面开始。

相关文章