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实例1-单交换机(DHCP服务器和DHCP客户端位于同一VLAN)
Cisco dhcp snooping实例2-多交换机环境(DHCP服务器和DHCP客户端位于不同VLAN)