Cisco dhcp snooping

Posted sun292393989

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cisco dhcp snooping相关的知识,希望对你有一定的参考价值。

在一个局域网中如果有人私接家用路由器将LAN接入了企业的接入层交换机,或者恶意攻击者伪造DHCP报文都将导致dhcp问题,如何防护成为关键,下面就对几种场景做出试验配置

场景1

DHCP server在三层交换机,每个vlan一个dhcp server,客户端和dhcp server处于同网段不涉及跨网段

拓扑

技术分享图片

正常情况下,客户端获取到的网段是172.28.27.0/24的,此时将另外一台3725模拟为冒充的dhcp server 并且网段是192.168.1.0 由于模拟器的问题导致客户端第一次从哪里获取到IP后,后续就一直从该dhcp server 获取地址,这里为了实现试验效果,把正常的那台dhcp server的服务先关闭然后冒充者收到dhcp request报文进行应答

模拟正常未启用dhcp snooping的情况

core(config)#no service dhcp  //关闭正常dhcp server的服务(真实环境不用这么操作)

 

断开客户端的网络重连观察获取的IP地址

技术分享图片已经拿到了冒充者提供的错误IP地址

在接入层配置dhcp snooping进行防护

 

#三层交换机
core(config)#service dhcp //别忘了先打开dhcp服务

 

#接入层交换机
access(config)#ip dhcp snooping vlan 27   //针对vlan27开启dhcp snooping access(config)#ip dhcp snooping    //开启全局的dhcp snooping access(config)#int g0/2     access(config-if)#ip dhcp snooping trust //将连接合法的dhcp server的端口设置为trust端口

 

这个时候你会发现完蛋了。真实的dhcp地址拿不到了。假dhcp分配的地址也拿不到了。。。其实是因为还少了一个配置,具体原因如下:

 

由于默认情况下cisco交换机的ip dhcp snooping information option 是打开的,此时交换机会在PC来的DHCP请求报文中插入option82内容,又由于cisco3725 DHCP服务器与PC处于同一个VLAN中,所以请求并没有经过中继
代理。对于cisco3725
DHCP服务器来说,如果它收到的DHCP请求被插入了option82,那么它会认为这是一个从中继代理过来的请求报文,但是它检查了该报文的giaddr字段却又发现是0.0.0.0,而不是一个有效的IP地址,因此该报
文被认为“非法”,所以将被丢弃。

解决方案有两种

第一种:

#在dhcp server上面开启信任中继代理功能
core(config)#ip dhcp relay information trust-all

 然后观察地址获取情况

技术分享图片已经获取的正确的地址

第二种:

 

#就是在接入层上面关闭插入option82的选项,当然这个根据实际环境来配置
access(config)#no ip dhcp snooping information option

  

观察地址获取情况

技术分享图片

 





以上是关于Cisco dhcp snooping的主要内容,如果未能解决你的问题,请参考以下文章

Cisco DHCP snooping

Cisco dhcp snooping

Cisco dhcp snooping实例1-单交换机(DHCP服务器和DHCP客户端位于同一VLAN)

Cisco dhcp snooping实例2-多交换机环境(DHCP服务器和DHCP客户端位于不同VLAN)

Cisco dhcp snooping实例2-多交换机环境(DHCP服务器和DHCP客户端位于不同VLAN)

Cisco dhcp snooping实例3-多交换机环境(DHCP服务器和DHCP客户端位于同VLAN)