这里日常分享技术文章、网络知识、运维工具和其它实用工具噢!

路由汇总带来的三层环路-解决实验

网络运维 灰机 2年前 (2022-05-27) 47326次浏览 已收录 0个评论 扫描二维码

问题概要

我们都知道,做路由汇总为了减少路由条目,但是不当的配置可能会引发三层环路,并且会引起设备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跟踪,正是预期的一样

 

最后提醒一句,实验和案例可以起到理解和参考的作用,在实战中还是得靠灵活变通!!分享就到这里,如果你有其它行得通的方法,欢迎在评论区指教指教 :smile:


原创文章- 《路由汇总带来的三层环路-解决实验》,如若转载请注明出处:https://www.huiji888.cn/index.php/archives/416
喜欢 (8)
灰机
关于作者:
发表我的评论
取消评论
表情 贴图 加粗

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址