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

添加负载均衡器配置后,NIC的Bicep模板致VM无法访问互联网

问题分析与解决方案

你的核心问题是预创建的NIC关联内部LB后端池后VM无法访问互联网,手动创建则正常,根源在于模板配置的两个关键差异:

1. DNS服务器配置缺失

模板中dnsSettings.dnsServers设为空数组,导致VM没有可用的DNS服务器,无法解析互联网域名。而手动创建NIC时,默认会继承虚拟网络的DNS配置,因此能正常解析域名并访问互联网。

修改方案:在NIC的dnsSettings中引用虚拟网络的DNS服务器,替换原有的空数组:

dnsSettings: {
  dnsServers: virtualNetwork.properties.dhcpOptions.dnsServers
}

2. 确认负载均衡器出站规则(针对Standard SKU)

如果你的内部负载均衡器是Standard SKU,需要确保LB已配置出站规则(Outbound Rules),为后端池中的VM提供互联网访问的出站路径。手动创建NIC时,门户可能自动关联了已存在的出站规则,而模板仅关联了后端池,需确认LB的出站规则已正确包含该后端池。

修改后的完整NIC模板片段

resource virtualMachineNetworkInterfaceCard 'Microsoft.Network/networkInterfaces@2022-05-01' = {
  name: '${virtualMachineName}-nic-01'
  location: resourceLocation
  tags: {
    associatedResource: virtualMachineName
    environmentCode: environmentCode
    loadBalancer: loadBalancerName
    resourceLocation: resourceLocation
  }
  properties: {
    dnsSettings: {
      // 继承虚拟网络的DNS服务器配置
      dnsServers: virtualNetwork.properties.dhcpOptions.dnsServers
    }
    enableAcceleratedNetworking: true
    enableIPForwarding: false
    ipConfigurations: [
      {
        name: '${virtualMachineName}-nic-01-configuration'
        properties: {
          loadBalancerBackendAddressPools: [
            {
              id: loadBalancerBackendAddressPool.id
            }
          ]
          
          primary: true
          privateIPAddress: networkInterfaceCardIPAddress
          privateIPAddressVersion: 'IPv4'
          privateIPAllocationMethod: 'Static'
          subnet: {
            id: virtualMachineNetworkInterfaceCardSubnet.id
          }
        
        }
      }
    ]
    nicType: 'Standard'
  }
}

验证步骤

  1. 部署修改后的模板,将NIC关联到VM
  2. 登录VM,执行nslookup microsoft.com验证DNS解析是否正常
  3. 尝试访问互联网资源,确认连通性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 03:20:36