首页/云/Docker 容器速查/容器子网与内网/VPN 冲突
容器排障52 条

容器子网与内网/VPN 冲突

docker0 默认 172.17.0.0/16 与办公网或 VPN 路由重叠时,特定目标不可达;用 ip route 对照容器网络子网,必要时规划独立地址池。

Docker 容器速查云更新于 2026-10-13

子网冲突的表现

容器默认网段与办公网或虚拟专用网络的路由重叠时,特定目标不可达:用路由表对照容器网络子网,必要时划分独立的地址池。症状常是部分网段不通,而不是整体断网。

基本信息

检查对比宿主路由表与容器网络配置
症状部分网段不通、抓包方向错乱
长期方案在守护进程配置里规划默认地址池
生效特点改地址池对已存在的网络不生效
应对方式重建网络与容器

典型使用场景

  • 接入办公网或虚拟专用网络后部分服务不可达
  • 部署新集群前做地址段规划,避免与内网重叠
  • 排查抓包看到的流量走向与预期不符
  • 多环境统一地址池规划
  • 新增宿主机时快速核对网段是否冲突

对照与规划

对照与规划
ip route | head -20                                       # 宿主路由表
docker network inspect bridge -f '{{json .IPAM.Config}}'   # 容器网络地址段
docker network create --subnet 10.88.0.0/24 appnet2        # 用不冲突的段新建网络

关注点与检查方法

关注点检查方法异常表现
宿主路由查看路由表目标网段被容器网段覆盖
容器网段查看网络配置与内网段重叠
可达性从容器访问目标部分网段通、部分不通
规划统一地址池各机器各写一套
地址池规划要留出与现有内网不重叠的段,并写进环境基线文档,避免各机器各写一套。
改默认地址池对已存在的网络不生效,需要重建网络与容器。
冲突症状常是部分服务正常而不是全断,容易被误判为应用问题,排查时先把网段列表摊开对照。
虚拟专用网络的客户端也会向宿主推送路由,排查时要把这类来源一并纳入。
新建网络时显式指定网段,比依赖默认值更容易与内网规划对齐。
多台宿主共享同一份规划文档,能显著降低这类问题的复发概率。

易错点

  • 改默认地址池对已存在的网络不生效,需要重建网络与容器
  • 冲突症状是部分服务不正常,容易被误判为应用问题
  • 不显式指定网段而依赖默认值,容易与内网规划撞车
  • 忽略虚拟专用网络客户端推送的路由,排查时漏掉一半来源

数据来源与参考

  • Docker 官方文档:Default bridge network 与 daemon.json 地址池(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌