首页/网络/BGP 与广域网速查/network 命令宣告路由的两个条件
BGP 基础与邻居89 条

network 命令宣告路由的两个条件

IOS 的 network 命令需要两条同时满足:配置的前缀与掩码精确存在,且被成功选入路由表;否则不会宣告。

BGP 与广域网速查网络更新于 2026-10-13

network 命令的两个前提

Cisco IOS 的 network 命令不是「凭空宣告」,而是「把本机路由表中已有的路由交给 BGP 发布」。它要求配置的前缀与掩码在路由表中完全一致地存在,并且该条目已被成功选入路由表。任一条件不满足,命令不报错但不会有任何路由被宣告,这类静默失败是常见坑点。

基本信息

条件一路由表中存在前缀与掩码完全一致的路由
条件二该路由已被采用并安装,而非挂起或被抑制
掩码写法network x.x.x.x mask y.y.y.y,省略掩码时按有类网络处理
默认路由network 0.0.0.0 需配合一条默认路由存在
对比重分发redistribute 按来源整批引入,控制力弱但省事

典型使用场景

  • 发布稳定的业务网段:静态或直连路由已存在,用 network 精确宣告
  • 发布默认路由:边界设备产生默认路由后,用 network 0.0.0.0 宣告给内部邻居
  • 配合 Null0 汇总:先写汇总静态再用 network 发布该汇总前缀
  • 排障对照:确认前缀为何没有对外发布时,先查路由表是否存在完全相同条目
  • 迁移收敛:把重分发引入的路由逐条改为 network,提升可控性

配置与验证

配置与验证
# 前提:路由表中先有该前缀(直连或静态)
ip route 10.10.10.0 255.255.255.0 10.0.0.2
!
router bgp 65001
 network 10.10.10.0 mask 255.255.255.0
 network 192.0.2.0 mask 255.255.255.0
!
# 验证:确认标记与来源
show ip bgp 10.10.10.0
show ip route 10.10.10.0
show ip bgp neighbors 10.0.0.2 advertised-routes

查看标记读法

标记含义处理提示
>当前最优路径无此标记说明没有胜出
*有效可用路径配合 > 表示正被使用
rRIB 失败,未能装入路由表多为下一跳不可达
i由 iBGP 学到的内部路径注意下一跳解析
?ORIGIN 为 incomplete来自重分发引入

宣告不生效的定位步骤

宣告不生效的定位步骤
# 1) 路由表是否有完全匹配的条目
show ip route 10.10.10.0
# 2) 掩码是否一致(/25 与 /24 不匹配)
show ip route | include 10.10.10.0
# 3) BGP 表中是否出现该前缀
show ip bgp 10.10.10.0
# 4) 是否被出方向策略过滤
show ip bgp neighbors 10.0.0.2 advertised-routes
省略掩码的 network 命令按有类网络理解:network 10.0.0.0 实际宣告的是 10.0.0.0/8。这在现代组网中几乎总是与预期不符,配置子网时务必显式写出掩码。

易错点

  • 只配 network 不查路由表:上一级路由不存在时宣告静默失败,日志里没有任何提示
  • 掩码不一致:路由表里是 /25、命令里写 /24,两者不会互相满足,宣告无效
  • 用 network 宣告默认路由前未做过滤:可能把默认路由传播到不该收到的邻居
  • 把 network 当成重分发使用:它无法引入非精确匹配的路由,批量需求应改用 redistribute 配合过滤
  • 宣告后不查 advertised-routes:出方向策略可能把刚发布的前缀又过滤掉

数据来源与参考

  • Cisco: network 命令说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌