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

Azure创建SQLMI DR子网遇NetcfgSubnetRangesOverlap错误,如何排查重叠?

排查Azure子网IP范围重叠问题的实用步骤

1. 先摸清目标VNet的现有子网IP段

要解决重叠问题,首先得明确vnet1里已存在的所有子网及其IP范围:

  • Azure Portal操作:直接进入vnet1的资源页面,切换到「子网」标签,把所有已创建子网的地址范围逐一记录下来。
  • Azure CLI命令:用以下命令快速导出子网列表:
    az network vnet subnet list --resource-group <你的资源组名称> --vnet-name vnet1 --query "[].{Name:name, AddressPrefix:addressPrefix}" -o table
    
  • Terraform状态检查:如果用Terraform管理资源,可通过状态文件查看现有子网配置:
    # 列出所有子网相关资源
    terraform state list | grep subnet
    # 查看具体子网的详细配置
    terraform state show <子网资源路径,比如module.primarysubnet.azurerm_subnet.subnet>
    

2. 算出目标子网的IP范围边界

你要创建的子网是100.90.69.64/26,先手动明确这个网段的起止IP:

  • /26的子网掩码为255.255.255.192,该网段包含64个IP(可用IP为62个)
  • 起始IP:100.90.69.64
  • 结束IP:100.90.69.127
    把这个范围和第一步记录的所有现有子网逐一对比,就能定位到重叠的网段。

3. 核对phpipam记录与Azure实际配置的一致性

虽然你在phpipam中添加了记录,但大概率存在两边配置不一致的情况:

  • 先确认Azure中vnet1的总地址空间(比如是否为100.90.68.0/22这类),和phpipam里的VNet配置是否匹配。
  • 检查phpipam里的子网记录,是否存在未及时更新的旧子网、或手动输入错误的IP段,导致你误以为目标网段可用,但实际Azure中已被占用。
  • 排查是否有“漏记”的子网:比如有人通过Portal/CLI手动创建了子网,或Terraform其他模块创建了子网但未同步到phpipam。

4. 检查易被忽略的IP占用资源

除了普通子网,以下Azure资源也会占用VNet的IP段,容易被遗漏:

  • 网关子网:如果vnet1配置了VPN网关或ExpressRoute网关,默认会有一个名为GatewaySubnet的子网,需检查其IP段是否与目标子网重叠。
  • Azure Bastion子网:如果部署了Bastion服务,会占用AzureBastionSubnet的IP段,也要确认范围是否冲突。
  • 残留子网状态:极少数情况下,子网删除后可能存在残留状态,可刷新Portal页面或重新用CLI列出子网确认。

5. 验证Terraform配置的正确性

从报错信息看你使用了secondarysubnet模块创建子网,重点检查这几点:

  • 模块中配置的address_prefix是否确实为100.90.69.64/26,有没有变量传递错误的情况。
  • 模块是否关联到了正确的vnet1,有没有误关联到其他VNet资源。
  • 执行terraform plan查看输出,确认要创建的子网参数和你预期的一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 12:40:13