问题概要
我们都知道,做路由汇总为了减少路由条目,但是不当的配置可能会引发三层环路,并且会引起设备CPU增加负荷。
实验拓扑
AR1模拟互联网,AR2是出口路由设备,LSW1作为三层交换机分别划分了5个vlan,并且是PC1-PC5的网关
实验先把网络建立正常互通,然后测试和触发环路,最后是如何来解决这个问题
设备配置和网络连通性测试
LSW1:
代码语言:javascript复制[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:
代码语言:javascript复制[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:
代码语言:javascript复制[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不存在时,就不会再往外发送了。
代码语言:javascript复制[LSW1]ip route-static 10.1.0.0 21 NULL0
再用PC1跟踪,正是预期的一样
最后提醒一句,实验和案例可以起到理解和参考的作用,在实战中还是得靠灵活变通!!分享就到这里,如果你有其它行得通的方法,欢迎在评论区指教指教
出处:https://www.huiji888.cn/index.php/archives/416
送书(赠书数量:三本)
介绍:
《Go黑帽子 渗透测试编程之道》探索了Go的“阴暗面”,Go是一种因为简单、高效和可靠而受到黑客推崇的流行编程语言。本书从安全从业者和黑客的角度出发,提供了一系列实用的策略,以帮助你使用Go的功能来测试系统、构建和自动化工具以满足你的需求,并提高你的进攻性安全能。
我们将从Go的语法和原理的基本概述开始你的学习之旅,探索可用于工具开发的示例,包括HTTP、DNS和SMB等常见网络协议。然后,我们将深入研究渗透测试人员会使用的各种“招数”和会遇到的问题,解决诸如数据窃取、数据包侦探和漏洞利用开发之类的问题。在深入研究加密技术、攻击Microsoft Windows并实现隐写技术之前,我们将创建动态的、可插入的工具。
学习内容:
如何开发用于你自己安全项目的高性能工具。
如何创建与远程API交互的可用工具。
如何抓取任意HTML数据。
如何使用Go的标准包net/http构建HTTP服务器。
如何编写自己的DNS服务器和代理。
如何使用DNS隧道建立一个C2通道以突破限制性网络。
如何创建漏洞模糊器(fuzzer)以发现应用程序的安全漏洞。
如何使用插件和扩展使产品可以面向未来。
如何构建RC2对称密钥暴力破解工具。
如何在(PNG)图像中植入数据。
准备好扩展你的安全工具库了吗?那我们出发(Go)吧!
本次活动由清华大学出版社独家赞助,以上书籍赠送给三位中奖者,每位一本,解释权归本公众号所有
● 参与方式
关注微信公众号:Linux学习笔记 后台回复 624 参与
活动截止时间6月27日 18:00点,中奖朋友到时候还要及时私聊公众号留下你的收货地址、姓名和手机号,好给您发送书籍哦!
---END---