DHCP snooping 技术介绍
 
DHCP监听(DHCP Snooping)是一种DHCP安全特性。Cisco交换机支持在每个VLAN基础上启用DHCP监听特性。通过这种特性,交换机能够拦截第二层VLAN域内的所有DHCP报文。
 
通过开启DHCP监听特性,交换机限制用户端口(非信任端口)只能够发送DHCP请求,丢弃来自用户端口的所有其它DHCP报文,例如DHCP Offer报文等。而且,并非所有来自用户端口的DHCP请求都被允许通过,交换机还会比较DHCP 请求报文的(报文头里的)源MAC地址和(报文内容里的)DHCP客户机的硬件地址(即CHADDR字段),只有这两者相同的请求报文才会被转发,否则将被丢弃。这样就防止了DHCP耗竭攻击。信任端口可以接收所有的DHCP报文。通过只将交换机连接到合法DHCP服务器的端口设置为信任端口,其他端口设置为非信任端口,就可以防止用户伪造DHCP服务器来攻击网络。DHCP监听特性还可以对端口的DHCP报文进行限速。通过在每个非信任端口下进行限速,将可以阻止合法DHCP请求报文的广播攻击。DHCP监听还有一个非常重要的作用就是建立一张DHCP监听绑定表(DHCP Snooping Binding)。一旦一个连接在非信任端口的客户端获得一个合法的DHCP Offer,交换机就会自动在DHCP监听绑定表里添加一个绑定条目,内容包括了该非信任端口的客户端IP地址、MAC地址、端口号、VLAN编号、租期等信息。
 
二、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-adress                 
 
//检测非信任端口收到的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 dhcp snooping的结果里将不列出没有该语句的端口,可选速率范围为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的更多相关文章

  1. Zyxel Switch-How to block a fake DHCP server without enabling DHCP snooping?

    How to block a fake DHCP server without enabling DHCP snooping? Scenario How to block a fake DHCP se ...

  2. h3c dhcp snooping

    1. 组网需求Switch B通过以太网端口Ethernet1/1连接到DHCP服务器,通过以太网端口Ethernet1/2.Ethernet1/3连接到DHCP客户端.要求:l与DHCP服务器相连的 ...

  3. Cisco DHCP Snooping + IPSG 功能实现

    什么是DHCP? DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,前身是BOOTP协议, 使用UDP协议工作,常用的2个端口 ...

  4. dhcp snooping、ARP防护、

    应用场景 无线客户端流动性很大和不确定,比如在外来人员比较多的地方:广场.大厅.会议室和接待室等等.使用该方案可以有效地避免因为无线端出现私设IP地址导致地址冲突或者客户端中ARP病毒发起ARP攻击的 ...

  5. DHCP snooping(DHCP监听)

    DHCP监听可以防范利用DHCP发起的多种攻击行为,如DHCP中间人攻击,伪造多台设备耗尽地址池 DHCP监听允许可信端口上的所有DHCP消息,但是却过滤非可信端口上的DHCP消息,DHCP监听还会在 ...

  6. DHCP Snooping的实现

    DHCP Snooping的实现 DHCP Snooping的实现 主要作用:1.防止在动态获得IP地址的网络环境中用户手动配置PC的IP地址;2.防止A用户的PC静态配置的IP地址顶掉B用户PC动态 ...

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

    试验拓扑 环境:dhcp server和客户端处于不同网段的情况 dhcp server的配置 no ip routing ip dhcp pool vlan27 network 172.28.27. ...

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

    试验拓扑 环境:dhcp server和dhcp客户端属于同vlan,但是客户端属于不同的交换机,在L2和L3交换机开启dhcp snooping后得出如下结论 L3交换机的配置 ip dhcp po ...

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

    环境:cisco dhcp server和客户端都属于vlan27,dhcp server 接在交换机G0/1,客户端接在交换机的G0/2 cisco dhcp server相关配置 ip dhcp ...

随机推荐

  1. android源码的目录结构

    android源码的目录结构 [以下网络摘抄] |-- Makefile ! l/ a5 n% S% @- `0 d# z# a$ P4 V3 o7 R|-- bionic              ...

  2. Rails ---> routes.rb 详解

    理解路由的目的 看懂routes.rb文件中的代码 使用经典的hash风格或者现在比较流行的Restful风格构造你自己的路径 断定一个路径会映射到哪一个controller和action 路由的双重 ...

  3. [转载]jQuery1.9完全删除live事件

    其实关于live被删除的事件早就在1.7.2版本以后就有通知过了 不过在官方一直提倡使用.on代替.live的过程中 .live事件一直沿用 今天更新了 看下jQuery1.9的相关信息 发现api中 ...

  4. SetForegroundWindow激活窗口

    在Window98以下,如果程序要激活自己,只需要简单的调用SetForegroundWindow即可达到目的.但到Win98以后,再也没有这么简单了. 新建一个简单的工程,加进一个Timer控件,设 ...

  5. PHP空数组转化为json对象的问题

    例子: $a = []; echo json_encode($a); echo json_encode($a, JSON_FORCE_OBJECT); 输出结果: [] {}

  6. NLog配置文件写入数据库中

    NLog配置文件: <target xsi:type="Database" name="database" connectionString=" ...

  7. iOS开发项目之MVC与MVVM

    MVC MVC,Model-View-Controller,我们从这个古老而经典的设计模式入手.采用 MVC 这个架构的最大的优点在于其概念简单,易于理解,几乎任何一个程序员都会有所了解,几乎每一所计 ...

  8. Sql服务定时重启

    net stop sqlserveragentnet stop mssqlservernet start mssqlservernet start sqlserveragent 保存到记事本中,重命名 ...

  9. GridLookUpEdit多列模糊查询最简单方式 z

    GridLookUpEdit的知识库是RepositoryItemGridLookUpEdit,切确的说GridLookUpEdit只是RepositoryItemGridLookUpEdit的一个壳 ...

  10. HBase最佳实践-列族设计优化

    本文转自hbase.收藏学习下. 随着大数据的越来越普及,HBase也变得越来越流行.会用HBase现在已经变的并不困难,然而,怎么把它用的更好却并不简单.那怎么定义'用的好'呢?很简单,在保证系统稳 ...