问题概要
我们都知道,做路由汇总为了减少路由条目,但是不当的配置可能会引发三层环路,并且会引起设备CPU增加负荷。
AR1模拟互联网,AR2是出口路由设备,LSW1作为三层交换机分别划分了5个vlan,并且是PC1-PC5的网关
实验先把网络建立正常互通,然后测试和触发环路,最后是如何来解决这个问题
设备配置和网络连通性测试
LSW1:
[LSW1]vlan batch 10 20 30 40 50 100
[LSW1]int vlanif 10
[LSW1-Vlanif10]ip add 10.1.1.1 24
[LSW1-Vlanif10]int vlanif 20
[LSW1-Vlanif20]ip add 10.1.2.1 24
[LSW1-Vlanif20]int vlanif 30
[LSW1-Vlanif30]ip add 10.1.3.1 24
[LSW1-Vlanif30]int vlanif 40
[LSW1-Vlanif40]ip add 10.1.4.1 24
[LSW1-Vlanif40]int vlanif 50
[LSW1-Vlanif50]ip add 10.1.5.1 24
//因为ensp里S5700这个设备转换成三层接口后不能配ip,故这里用vlanif100代替
[LSW1-Vlanif50]interface Vlanif100
[LSW1-Vlanif100]ip address 172.16.1.2 255.255.255.252
[LSW1-Vlanif100]interface GigabitEthernet0/0/1
[LSW1-GigabitEthernet0/0/1]port hybrid pvid vlan 100
[LSW1-GigabitEthernet0/0/1]port hybrid untagged vlan 100
[LSW1-GigabitEthernet0/0/1]un sh
[LSW1-GigabitEthernet0/0/1]interface GigabitEthernet0/0/2
[LSW1-GigabitEthernet0/0/2]port link-type access
[LSW1-GigabitEthernet0/0/2]port default vlan 10
//剩余连接主机的接口配置方法类似,这里省略…
//配置默认路由出去
[LSW1]ip route-static 0.0.0.0 0.0.0.0 172.16.1.1
AR2:
[AR2]interface GigabitEthernet0/0/0
[AR2-GigabitEthernet0/0/0]ip address 100.100.100.2 255.255.255.252
[AR2-GigabitEthernet0/0/0]un sh
[AR2-GigabitEthernet0/0/0]interface GigabitEthernet0/0/1
[AR2-GigabitEthernet0/0/1]ip address 172.16.1.1 255.255.255.252
[AR2-GigabitEthernet0/0/1]un sh
[AR2-GigabitEthernet0/0/1]quit
//这里将多个网段做汇总,并配置静态路由
[AR2]ip route-static 10.1.0.0 255.255.248.0 172.16.1.2
AR1:
[AR1]interface GigabitEthernet0/0/0
[AR1-GigabitEthernet0/0/0]ip address 100.100.100.1 255.255.255.252
[AR1-GigabitEthernet0/0/0]quit
[AR1]ip route-static 0.0.0.0 0.0.0.0 100.100.100.2
PC1 – PC5 各自配好ip地址
用PC1 ping测 100.100.100.1,能通,代表正常,另外我们tracert跟踪一下,也正常
触发环路和分析问题
接下来我们使用PC1 去tracert跟踪一下存在的网段和不存在的网段。
发现跟踪PC2(2段)正常,那是因为LSW1是直连所有PC的,路由表里肯定存在去往PC2的直连路由条目,直连路由是优先级最高的,所以就顺利到达了。
跟踪6段和7段发现来回跳,说明已经起环了,LSW1的路由表里没有这两个网段的直连路由,只能匹配默认路由去往AR2了,AR2收到后查找路由表匹配到汇总了的路由条目10.1.0.0/21,于是向LSW1往回发了,LSW1收到后自然又是往回发送。
而跟踪8段却显示*,说明转发不到去目的地址了,包被丢弃了,那是因为数据包到达AR2时,发现没有路由条目是匹配的,10.1.0.0/21段最后一个ip地址是10.1.7.255,故到AR2将这个数据包丢弃了。
解决办法
如何解决?很简单,只需在LSW1添加一条同样是10.1.0.0/21的汇总黑洞路由,这样当收到目的ip为该段且ip不存在时,就不会再往外发送了。
[LSW1]ip route-static 10.1.0.0 21 NULL0
再用PC1跟踪,正是预期的一样
最后提醒一句,实验和案例可以起到理解和参考的作用,在实战中还是得靠灵活变通!!分享就到这里,如果你有其它行得通的方法,欢迎在评论区指教指教