配了动态路由为什么路由表里只有直连?按这四关排查
新接手一个网络,或搭环境练手配动态路由——OSPF 也好 RIP 也好:接口地址配了,协议进程也起了,display ip routing-table 一敲,表里安安静静躺着几条 Direct 直连路由,从邻居那边学来的路由一条都没有。协议配了个寂寞,隔壁网段死活 ping 不通,翻配置又看不出哪里写错了。
动态路由进表,要过四道关
动态路由把远端网段写进路由表,不是配完就自动有的,中间要过四道关:第一关,邻居建立——两台设备先互相认识;第二关,路由信息收发——认识了才开始交换 LSA 或路由更新;第三关,计算选路——收到信息算出该走哪条路;第四关,路由注入——算出来的路由写进路由表。任何一关卡住,结果都一样:表里只剩直连。所以排障不是瞎试,是按关卡顺序找到卡在哪一关。
还有一笔底账要先算清:直连是动态路由的地基。接口物理 up、协议 up、配上 IP 地址,三条齐了才有直连路由;而协议宣告的正是这些直连网段——地基没有,宣告无从谈起(直连路由的生成条件另有专文细说)。
四关排查,从邻居开始
第一关,查邻居。OSPF 用 display ospf peer,RIP 用 display rip neighbor——邻居表是空的,先查接口状态和 IP(display interface、display ip interface brief),再核对两端的区域号、认证、网络类型是否匹配。邻居都没建立,后面三关全部免谈,这是「只有直连」的头号成因。
第二关,查宣告。进协议配置看 network 语句:宣告的网段对不对、掩码反码写没写对、要跑协议的接口有没有被 network 进去。接口没宣告进协议,等于没把这扇门打开——邻居不建、路由不传,这是第二大成因。
第三关,查收发。邻居显示正常但就是学不到,看路由更新或 LSA 有没有正常收发——比如两端口 MTU 不一致,会让 OSPF 邻居「表面建立、悄悄卡死」,邻居状态反复停在交换的开始阶段,多半就是它。
第四关,查注入。前三关都正常,再核对算出来的路由有没有进表:有没有优先级更高的路由把学来的路由压住、路由策略有没有把它拒在门外。
一句判读收口:display ip routing-table 看 Protocol 列——Direct 是自家直连,OSPF、RIP 这类才是协议学来的。表里只有 Direct,就按这四关从邻居往下捋,绝大多数卡在前两关。
网络割接和验收时,路由表核查是交付文档里的必查项。贵州诚鑫致达科技做网络建设项目交付,设备上架配完协议,先看邻居再看表,是现场验收的固定动作。
动态路由「配了没生效」,别急着重启设备和进程——display ospf peer 先看邻居,再查 network 宣告,四关走完,路由自然进表。