DHCP Snooping

                                                  DHCP  snooping
 
Dhcp 监听是一种安全特性,它能够过滤来自网络中主机或者其他设备的非信任 dhcp 报文,通过建立并维护 dhcp 监听绑定表。
思科交换机支持在每个 vlan 基础上启用 dhcp 监听,通过这种技术,交换机能够截获二层 vlan 域内所有的 dhcp 报文。通过启用 dhcp 监听,交换机限制用户非信任端口只能够发送 dhcp 请求,丢弃来自于端口的其他 dhcp 报文请求,例如 dhcp offer 报文,并且并非所有来自用户端口的 dhcp 请求都被许可通过,交换机还会比较 dhcp 报文源 mac 地址和客户端的硬件地址,只有两者相同,请求报文还会被转发,否则被抛弃,这样就防止了 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)