设为首页 收藏本站
查看: 1084|回复: 0

[经验分享] Cisco交换机DHCP​Snooping

[复制链接]

尚未签到

发表于 2018-7-20 09:30:10 | 显示全部楼层 |阅读模式
  一、为什么要使用DHCP服务及能解决的问题
  DHCP提高了管理效率,但在DHCP服务的管理上存在一些问题,如DHCP Server的冒充,DHCP Server的DOS***,DHCP耗竭***,有些用户随便指定IP地址,造成IP地址冲突等。
  二、DHCP Snooping技术
  DHCP监听(DHCP Snooping)是一种DHCP安全特性。Cisco交换机支持在每个VLAN基础上启用DHCP监听特性,交换机能够拦截第二层VLAN域内的所有DHCP报文。
  DHCP监听将交换机端口划分为两类:
  ●非信任端口:通常为连接终端设备的端口
  ●信任端口:连接合法DHCP服务器的端口或者连接汇聚交换机的上行端口
  通过开启DHCP监听特性,交换机限制用户端口(非信任端口)只能够发送DHCP请求,丢弃来自用户端口的所有其它DHCP报文,例如DHCPOffer报文等。而且,并非所有来自用户端口的DHCP请求都被允许通过,交换机还会比较DHCP请求报文的(报文头里的)源MAC地址和(报文内容里 的)DHCP客户机的硬件地址(即CHADDR字段),只有这两者相同的请求报文才会被转发,否则将被丢弃。这样就防止了DHCP耗竭***。信任端口可以接收所有的DHCP报文。通过只将交换机连接到合法DHCP服务器的端口设置为信任端口,其他端口设置为非信任端口,就可以防止用户伪造DHCP服务器来***网络。DHCP监听特性还可以对端口的DHCP报文进行限速。通过在每个非信任端口下进行限速,将可以阻止合法DHCP请求报文的广播***。DHCP监听还有一个非常重要的作用就是建立一张DHCP监听绑定表(DHCP SnoopingBinding)。一旦一个连接在非信任端口的客户端获得一个合法的DHCPOffer,交换机就会自动在DHCP监听绑定表里添加一个绑定条目,内容包括了该非信任端口的客户端IP地址、MAC地址、端口号、VLAN编号、租期等信息。
  Switch#show ip dhcp snooping binding
  MacAddress IpAddress Lease(sec) Type VLAN Interface
  —————— ————— ———- ————- —- —————-
  00:0F:1F:C5:10:08 192.168.10.131 682463 dhcp-snooping 10 FastEthernet0/1
  这张DHCP监听绑定表为进一步部署IP源防护(IPSG)和动态ARP检测(DAI)提供了依据。
  I.非信任端口只允许客户端的DHCP请求报文通过,这里只是相对于DHCP报文来说的。其他非DHCP报文还是可以正常转发的。这就表示客户端可以以 静态指定IP地址的方式通过非信任端口接入网络。由于静态客户端不会发送DHCP报文,所以DHCP监听绑定表里也不会有该静态客户端的记录。信任端口的客户端信息不会被记录到DHCP监听绑定表里。如果有一客户端连接到了一个信任端口,即使它是通过正常的DHCP方式获得IP地址,DHCP监听绑定表里也不有该客户端的记录。如果要求客户端只能以动态获得IP的方式接入网络,则必须借助于IPSG和DAI技术。
  II.交换机为了获得高速转发,通常只检查报文的二层帧头,获得目标MAC地址后直接转发,不会去检查报文的内容。而DHCP监听本质上就是开启交换机对DHCP报文的内容部分的检查,DHCP报文不再只是被检查帧头了。
  III. DHCP监听绑定表不仅用于防御DHCP***,还为后续的IPSG和DAI技术提供动态数据库支持。IV.DHCP监听绑定表里的Lease列就是每个客户端对应的DHCP租约时间。当客户端离开网络后,该条目并不会立即消失。当客户端再次接入网络, 重新发起DHCP请求以后,相应的条目内容就会被更新。如上面的00F.1FC5.1008这个客户端原本插在Fa0/1端口,现在插在Fa0/3端口,相应的记录在它再次发送DHCP请求并获得地址后会更新为:
  Switch#show ip dhcp snooping binding or
  Switch#show ip source binding
  MacAddress IpAddress Lease(sec) Type VLAN Interface
  —————— ————— ———- ————- —- —————-
  00:0F:1F:C5:10:08 192.168.10.131 691023 dhcp-snooping 10 FastEthernet0/3
  V.当交换机收到一个DHCPDECLINE或DHCPRELEASE广播报文,并且报文头的源MAC地址存在于DHCP监听绑定表的一个条目中。但是报文的实际接收端口与绑定表条目中的端口字段不一致时,该报文将被丢弃。
  ●DHCPRELEASE报文:此报文是客户端主动释放IP 地址(如Windows 客户端使用ipconfig/release),当DHCP服务器收到此报文后就可以收回IP地址,分配给其他的客户端了            ●DHCPDECLINE报文:当客户端发现DHCP服务器分配给它的IP地址无法使用(如IP地址发生冲突)时,将发出此报文让DHCP服务器禁止使用这次分配的IP地址。
  VI. DHCP监听绑定表中的条目可以手工添加。
  VII. DHCP监听绑定表在设备重启后会丢失,需要重新绑定,但可以通过设置将绑定表保存在flash或者tftp/ftp服务器上,待设备重启后直接读取,而不需要客户端再次进行绑定VIII. 当前主流的Cisco交换机基本都支持DHCP Snooping功能。
  三、DHCP Snooping的配置
  Switch(config)#ip dhcp snooping //打开DHCP Snooping功能
  Switch(config)#ip dhcp snooping vlan 10 //设置DHCP Snooping功能将作用于哪些VLAN        Switch(config)#ip dhcp snooping verify mac-address //检测非信任端口收到的DHCP请求报文的源MAC和CHADDR字段是否相同,以防止DHCP耗竭***,该功能默认即为开启
  Switch(config-if)#ip dhcp snooping trust //配置接口为DHCP监听特性的信任接口,所有接口默认为非信任接口
  Switch(config-if)#ip dhcp snooping limit rate 15 //限制非信任端口的DHCP报文速率为每秒15个包(默认即为每秒15个包)如果不配该语句,则show ip dhcpsnooping的结果里将不列出没有该语句的端口,可选速率范围为1-2048 建议:在配置了端口的DHCP报文限速之后,最好配置以下两条命令    Switch(config)#errdisable recovery cause dhcp-rate-limit //使由于DHCP报文限速原因而被禁用的端口能自动从err-disable状态恢复
  Switch(config)#errdisable recovery interval 30 //设置恢复时间;端口被置为err-disable状态后,经过30秒时间才能恢复
  Switch(config)#ip dhcp snooping information option //设置交换机是否为非信任端口收到的DHCP报文插入Option 82,默认即为开启状态
  Switch(config)#ip dhcp snooping information option allow-untrusted //设置汇聚交换机将接收从非信任端口收到的接入交换机发来的带有选项82的DHCP报文
  Switch#ip dhcp snooping binding 000f.1fc5.1008 vlan 10 192.168.10.131 interface fa0/2 expiry 692000 //特权模式命令;手工添加一条DHCP监听绑定条目;expiry为时间值,即为监听绑定表中的lease(租期)
  Switch(config)#ip dhcp snooping database flash:dhcp_snooping.db //将DHCP监听绑定表保存在flash中,文件名为dhcp_snooping.db
  Switch(config)#ip dhcp snooping database tftp://192.168.2.5/Switch/dhcp_snooping.db //将DHCP监听绑定表保存到tftp服务器;192.168.2.5为tftp服务器地址,必须事先确定可达。URL中的Switch是tftp服务 器下一个文件夹;保存后的文件名为dhcp_snooping.db,当更改保存位置后会立即执行“写”操作。
  Switch(config)#ip dhcp snooping database write-delay 30 //指DHCP监听绑定表发生更新后,等待30秒,再写入文件,默认为300秒;可选范围为15-86400秒Switch(config)#ip dhcp snooping database timeout 60 //指DHCP监听绑定表尝试写入操作失败后,重新尝试写入操作,直到60秒后停止尝试。默认为300秒;可选范围为0-86400秒 说 明:实际上当DHCP监听绑定表发生改变时会先等待write-delay的时间,然后执行写入操作,如果写入操作失败(比如tftp服务器不可达),接着就等待timeout的时间,在此时间段内不断重试。在timeout时间过后,停止写入尝试。但由于监听绑定表已经发生了改变,因此重新开始等待 write-delay时间执行写入操作不断循环,直到写入操作成功。Switch#renew ip dhcp snooping database flash:dhcp_snooping.db //特权级命令;立即从保存好的数据库文件中读取DHCP监听绑定表。
  五、显示DHCP Snooping的状态
  Switch#show ip dhcp snooping //显示当前DHCP监听的各选项和各端口的配置情况
  Switch#show ip dhcp snooping binding //显示当前的DHCP监听绑定表
  Switch#show ip dhcp snooping database //显示DHCP监听绑定数据库的相关信息
  Switch#show ip dhcp snooping statistics //显示DHCP监听的工作统计Switch#clear ip dhcp snooping binding //清除DHCP监听绑定表;注意:本命令无法对单一条目进行清除,只能清除所有条目    Switch#clear ip dhcp snooping database statistics //清空DHCP监听绑定数据库的计数器        Switch#clear ip dhcp snooping statistics //清空DHCP监听的工作统计计数器
  本文转自: http://www.linux78.com/cisco-switch-dhcp-snooping.html
  Linux起点

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-539010-1-1.html 上篇帖子: cisco路由协议设置------待补充(如果用到) 下篇帖子: CISCO 6509 三层交换机配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表