某分行网络变更过程中发现华三S3600学习到的32位主机路由不生效

1. 问题描述

1.1 组网结构:

组网情况举例,SW_1S3600交换机。

图片6.png

SW_1配置32静态路由192.168.10.10/32,包括静态配置,动态OSPF RIP等路由协议学习到的32位路由,且不是L3DRV_ROUTE_DIRECT路由的话,驱动不会真正下发。软件认为,这种情况应该通过ARP学习来转发,而没有按照查找路由表进行最长匹配来转发。

1.2 问题现象:

SW_1 ping SW_2loopback 0地址192.168.10.10/32,不通,即无法访问SW_2loopback 0地址。

图片7.png

2. 问题原因

SW_1配置32静态路由192.168.10.10/32而直连路由有192.168.10.0/24的网段的话,驱动不会真正下发此静态路由。软件认为,这种情况应该通过ARP学习来转发,而不应该按照查找路由表进行最长匹配来转发。因此,在底层表项中没有此静态路由。

3. 解决方案

解决问题有两种方法,其过程如下

方案一:

降级版本到R1611以前的版本,可以解决此问题;或者将软件版本升级为Comware V5以上版本。

方案二:

添加31地址的静态路由(如果网络允许,优先考虑此方案)

例如:网络中可以保持LoopbackIP地址不变,通过添加31位掩码静态路由:ip route-static 192.168.10.10 255.255.255.254 10.1.1.2,规避上述问题。

此方法的缺点是浪费一个IP地址,对网络现有的地址规划有较大的限制。

图片8.png


2016年01月