信息技术的飞速发展、网络技术也在不断的更新迭代,但是有这么一种技术它无法替代,它负责在网络中获取信息、穿梭找路,它就是路由协议。在网络建设和运维过程中,不管是简单还是复杂的网络组网架构,或多或少你总能遇到一些路由雷区,也就是因为这些雷区让你从中得到经验积累,同时也能够让你时刻保持着一颗敬畏之心。网络作为连接业务底层基础设施的一部分,它承载着企业的关键业务和数据流量,一旦发生问题不仅企业利益受到损失,用户体验也会受到损坏。本篇小文来自于一名从事网络工作十多年的老兵,总结在网络路由协议下不常见但很致命的路由环路的案例,以及分享网络路由协议配置过程中的避雷小建议。
案例一:静态路由配置缺少指定下一跳出接口导致环路
拓扑环境:
案例说明:
广域网路由器CR1配置静态路由192.168.0.0/16下一跳指向机构交换机;
广域网路由器CR1将静态路由重分布至OSPF,五类LSA类型为Type 1;
核心交换机学习到广域网路由器CR1发来的OSPF路由,核心交换机去往192.168.0.0/16下一跳为CR1;
由于项目需要,新增加一台广域网路由器CR2计划替换CR1路由器,CR2路由器除了上联核心交换机配置与CR1不一致,其他配置均和CR1一致,包括下联机构交换机的静态路由配置;
新增加的广域网CR2路由器与核心交换机进行并网,建立OSPF邻居关系;
路由环路出现: 当CR2与核心交换机并网后,PC访问机构的一半业务出现中断,在核心交换机查看机构路由192.168.0.0/16,发现去往192.168.0.0/16路由出现等价负载两个下一跳,分别是CR1和CR2路由器; 在CR2上查看机构路由192.168.0.0/16下一跳为核心交换机;此时机构路由192.168.0.0/16在核心换机和广域网路由器CR2之间环路;
问题原因: 在此案例场景下,广域网路由器CR2配置下联机构静态路由,虽然CR2上的下联机构接口处于DOWN状态,但是静态路由配置的下一跳地址可达,也就是CR2上有1.1.1.0/30路由,CR2就会进行路由迭代查询,导致CR2设备配置的静态路由被激活进入路由表,从而核心交换机也能从CR2学习到下联机构路由,路由在核心交换机与CR2之间形成环路;
解决办法: 在广域网路由器CR2上配置的静态路由增加指定出接口,在这种情况下只有CR2出接口状态为UP时,静态路由才会被激活进入路由表中。
案例二:OSPF配置下缺少静默接口导致环路
拓扑环境
案例说明:
总部核心交换机配置静态路由192.168.0.0/16下一跳指向接入网络;
总部核心交换机将静态路由192.168.0.0/16重分布至OSPF,五类LSA类型为Type 2;
总部下联路由器CR1和CR2接收到OSPF路由后,将192.168.0.0/16路由重分布至BGP邻居,发送给分部上联路由器;
分部上联路由器BR2收到总部下联路由器发来的BGP路由后,转发给IBGP邻居BR1;
分部上联路由器BR2同时将BGP路由192.168.0.0/16重分布至OSPF中,五类LSA类型为Type 1;
分部核心交换机接收到分部上联路由器发过来的OSPF路由,并在OSPF内部进行传递,五类LSA为Type 1;
CR1硬件板卡故障: 总部下联路由器CR1业务板卡故障,在更换故障板卡过程中,CR1上OSPF配置中针对CR1与BR1互联接口passive-interface命令消失,总部下联路由器CR1与分部上联路由器BR1建立了OSPF邻居关系(在CR1与BR1设备上OSPF配置中存在network互联网段,并且BR1设备OSPF配置下没有passive-interface命令)
此时分部上联路由器BR1收到的192.168.0.0/16类型为Type 1的路由,BR1进行OSPF内部传递给总行下联路由器CR1;
总部下联路由器CR1同时收到总部核心交换机发过来的类型为Type 2的五类LSA以及分部上联路由器BR1发过来的类型为Type 1的五类LSA路由,由于OSPF选路原则中, Type 1优于Type 2,因此总部下联路由器CR1路由表中192.168.0.0/16的路由下一跳指向分部上联路由器BR1;由于总部和分部路由器EBGP路由协议的管理距离配置为20,因此分部上联路由器BR1收到的192.168.0.0/16的路由下一跳为总部下联路由器CR1;
路由环路出现: 总部下联路由器CR1与分部上联路由器BR1建立OSPF邻居后,CR1收到BR1发送192.168.0.0/16的OSPF路由,CR1又将OSPF路由重分布至BR1,BR1上针对192.168.0.0/16的BGP路由下一跳为CR1,至此192.168.0.0/16路由在CR1和BR1之间不断重复直至TTL耗尽报文被丢弃。
解决办法: 在总部下联路由器CR1和分部上联路由器BR1设备上OSPF的配置中分别配置passive-interface命令,环路问题解决。
案例三:双向双点重分布路由优先级配置问题导致环路
拓扑环境
案例说明:
分部核心交换机配置静态路由192.168.0.0/16下一跳指向接入网络;
分部核心交换机将静态路由192.168.0.0/16重分布至OSPF,五类LSA类型为Type 1;
分部上联路由器接收到OSPF路由后,将192.168.0.0/16路由重分布至EBGP邻居,发送给总部下联路由器;
总部下联路由器CR1/CR2/CR3收到对应互联Juniper设备 BR1/BR2/BR3发过来的EBGP路由,管理距离为20;
此时分部上联路由器BR3出现设备硬件故障,使用华为路由器设备完成配置翻译后进行故障设备替换,在操作不上,先连接分部网络,与分部核心建立OSPF邻居关系,与分部上联Juniper路由器BR1和BR2建立IBGP邻居关系;
当新上华为路由器BR3与Juniper路由器建立IBGP邻居后,总部下联路由器接收不到分部发过来的192.168.0.0/16路由,总部与分部业务出现中断;
新上的华为路由器BR3通过分部核心交换机学习到了192.168.0.0/16的OSPF路由,并将OSPF路由重分布到BGP中(EBGP和IBGP);
路由环路出现: 此时分部上联路由器BR1和BR2通过IBGP学习到新上的华为路由器BR3发过来的192.168.0.0/16路由,由于分部上联Juniper路由器IBGP路由协议管理距离设置为20,优于OSPF外部路由150,所以分部上联Juniper路由器原本通过与分部核心OSPF学习到的192.168.0.0/16路由从路由表中变成了IBGP路由,即分部上联Juniper BR1和BR2路由器针对192.168.0.0/16的OSPF消失,无法通过OSPF重分发到BGP中,又因为在Juniper路由器中EBGP和IBGP之间默认不相互传路由,导致分部192.168.0.0/16路由不能通过EBGP上送到总部,即总部收到分部的路由,总分部之间业务受损,192.168.0.0/16路由在分部上联路由器之间出现环路。
解决办法: 在分部上联Juniper路由器BR1和BR2上调整IBGP路由优先级为170优于OSPF外部路由150,环路问题解决。
路由协议设计实践:
静态路由:
路由宣告:
路由汇总和路由策略:
路由重分布:
附:主流厂商默认路由优先级:
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载者并注明出处:https://jmbhsh.com/zixun/33774.html