您的当前位置:首页正文

dhcpsnoopingDHCP安全

2021-01-04 来源:客趣旅游网
dhcpsnoopingDHCP安全

技术背景

你有没有遇到过这样的现象,在公司⽹络环境中,有⼈私接⼩路由,导致下发⾮法IP地址,⽽获取到⾮法IP地址的终端将⽆法正常访问⽹络。

是不是很⽓⼈,⽽且在实际当中,接路由器⼀般都是藏起来,你找都不好找,

那有没有⼀种办法,让这种⼩路由⽆法使⽤呢?即便是你接上了,也不让你⽤!!(其实如果接对的话,是没有问题的,就怕是你接错了)

DHCP snooping 横空出世1)什么是DHCPsnooping

DHCP snooping,是针对于dhcp(动态分配主机协议)所做的安全机制,在⼀个内⽹中我们⽐较常见的情况如下,⼀个⼯位上的员⼯,为了⾃⼰上⽆线⽅便,⾃⼰私接了⼀台⽆线路由器,⽽恰巧⼜接在了lan⼝上,这种⼩型家⽤路由器的内⽹是可以分配 DHCP的,这样⼀台内⽹有些终端就从这⾥获得到了IP,⽽这个IP是根本就没有办法上⽹的,所以要通过dhcp snooping来解决(确认的说应该是在出现问题之间就解决掉)不让⾮法的DHCP服务器在⽹络中活动

2)配置在哪⾥?

确认的说,配置在接⼊交换机,并将上联⼝配置为trust信任

3)有哪些特点

只要开启了DHCPsnooping功能,那么所有的接⼝默认都是不信任的DHCP snooping的两种状态, 1 信任 :接收和转发所有DHCP包

2 不信任:接收客户端的请求包,但是不转发 实例

在此拓扑中,R1为公司的GW,负责DHCP下发IP,⽽R2充当 TP-LINK,⾮法的DHCPserver

三层交换机做DHCP 中继,配置在这⾥不再多说,(如果有不明⽩的,可以回看DHCP HELP那⼀篇)

先保证全⽹能够正常通信,PC1能够获得公司合法的IP地址

另外两台交换机的互联接⼝本配置TRUNK

此时是正常的情况,PC可以获得到正确的IP地址

此时开启R2,摸拟DHCP,并配置⼀个⾮法的DHCP地址池

再⽤PC进⾏测试,这个时候,PC机就要看运⽓了,有的时候能够获得到正确的,有的时候获得到的就是⾮法的

这个时候就要开启DHCP snooping了先到最后⼀台,SW4上开启

1)全局开启(config)#ip dhcp snooping

2)针对vlan(config)#ip dhcp snooping vlan 10 //记住,cisco的设备是针对于VLAN的,所以在开启的时候后⾯⼀定要加上VLAN编号3)进⼊接⼝配置信任:(config-if)#ip dhcp snooping trust

SW4配置完成,此时如果⽤PC请求的话,还是有可能请求到⾮法的IP地址,因为TP-LINK在SW3上,所以SW3也要进⾏开启,

配置完了吗?

PC机请求⼀下发现SW3会有系统消息

直接给的drop丢弃了,

你会发现,在开启snooping之前,是没有这个消息的,为什么?关键词 option82⽤wireshark 抓包看⼀下

这个82选项中包含了啥?这个紫⾊的框框中是什么 意思?AABBCC004000,像是⼀个MAC,

为什么会有它的MAC?

答:这个是客户机请求DHCP时,会携带的交换机MAC地址,⽤于定位⽤,在⼀个局域⽹中有很多交换机,当请求到达路由器在回包的时候,好知道应该给哪台交换机,

⽽这时,开启了DHCP snooping的设备是⽆法辨识82选项的,也就不允许通过。如果不通过的话,终端就⽆法获得到地址了。

所以,在开启DHCPsnoopinP功能后,在dhcp包的必经之路接⼝上,都应该开启信任端⼝

所以SW3 上的两个接⼝也必须要开启,当然,这⾥要除了和TP-LINK相连的那个⼝

换句话说,就是我这个PC请求DHCP时,沿途的所有站点,都应该认识82选项,交换机肯定是要开启信任端⼝的,那路由器呢?别急

完事⼉了吗?

请求⼀下地址?还是不⾏,为什么?

这⾥还有⼀点特殊,就是三层设备,图中的三层交换,

开启了snooping后,路由设备是不能识别这个包⼉的,也就⽆法进⾏转发,所以在三层设备上也要允许这个82option 的包通过(配置信任)

Sw1(config)#ip dhcp snooping relay information trust-all

最后在PC上进⾏测试,⼜可以获得真正合活的地址了

⼆:为防⽌PC中病毒随意的修改MAC地址,不断的请求IP地址,导致DHCP地址池枯竭攻击,可以在接⼊层交换机上配置相应机制Sw(config)#ip dhcp snooping verify mac-address

也可以针对这种接⼊端⼝(⾮信任端⼝)做DHCP数据包请求的限制,系统默认已经开启,每S钟15个,为了安全起见,也可以改的更⼩⼀些

(配置⼀定要在接⼝下做)

Sw(config-if)#ip dhcp snooping limit rate <1-2048>

这样的话,接⼝如果超过规定数值的请求,就会触发惩罚措施,被置为err-disable

由于我们设置了每秒钟1个包,肯定会被⼲掉,(当然,我只是为了看这个效果)

同样接⼝也是可以配置⾃动恢复的

Sw(config)#errdisable recovery cause dhcp-rate-limitSw(config)#errdisable recovery interval 30

Sw#show errdisable recovery 关于⾃动恢复这件事⼉,不再赘述,

-------------------------------------------------------CCIE成长之路-----梅利

因篇幅问题不能全部显示,请点此查看更多更全内容