DHCP监听
DHCP监听(DHCP Snooping)是一种保护DHCP服务器的安全机制,它可以过滤来自网络中的主机或其他设备的非信任

DHCP报文,以保证客户端能从正确的DHCP服务器获得IP地址,DHCP监听可以避免DHCP服务器欺骗和DHCP地址耗尽。

注:DHCP服务器欺骗,即客户端自己配置为DHCP服务器分配虚假IP地址及其信息,或者直接响应DHCP请求
    DHCP地址耗尽,即客户端不断地冒充新客户发送DHCP请求,请求服务器为自己分派IP地址,很快耗尽IP地址池,

   使得正常接入的用户无法获得IP地址

DHCP监听将交换机端口分两种。
非信任端口:连接终端设备的端口,该端口客户端只能发送DHCP请求报文,丢弃来自该端口的其他DHCP报文
信任端口:连接合法的DHCP服务器或汇聚端口

使用DHCP监听会建立一个DHCP绑定表,一旦一个链接在非信任端口的客户端获得一个合法的IP地址,交换机会在DHCP

绑定表中添加一个条目,包括客户端IP、MAC地址、端口号、VLAN、绑定类型和租期等信息,DHCP绑定表是为进一步

部署IP源防护和动态ARP检测做基础。

交换机可以为DHCP报文插入一些选项信息(Option 82),以便DHCP服务器可以更精确地知道客户端信息。选项82主

要包括DHCP请求报文进入设备的端口,属于的VLAN、交换机的MAC等信息。是否启用在DHCP中插入选项82并不影响

DHCP原有功能,如果DHCP服务器不支持选项82,服务器收到DHCP报文中携带选项82信息也不影响DHCP原有功能。默认

情况下,启用DHCP监听的交换机对所有非信任端口收到的DHCP请求报文插入选项82信息。

DHCP监听配置命令
   1)启用DHCP监听
      switch(config)#ip dhcp snooping
   2)设置DHCP监听作用于哪个VLAN
      switch(config)#ip dhcp snooping vlan number
   3)配置端口信任
      switch(config-if)#ip dhcp snooping trust
      启用监听后,默认所有端口为非信任端口。
   4) 插入选项82信息 
      switch(config)#ip dhcp snooping information option
   5) 配置预防DHCP耗尽***
      switch(config-if)#ip dhcp snooping limit rate packets-per-second
      packets-per-second为每秒接收的报文数,CISCO 2960交换机的范围是1-2048
      另外,还可在全局模式下启用核实MAC地址功能,避免DHCP耗尽
      switch(config)#ip dhcp snooping verify mac-address
      当报文速率超过规定值时,端口将变成err-disabled状态,默认不会自动恢复,可以手动恢复(先shutdown关

闭端口,再no shutdown开启端口),也可设置自动恢复
      switch(config)#errdisable recovery cause dhcp-rate-limit
      switch(config)#errdisable recovery interval (time)
      dhcp-rate-limit为端口进入err-disabled状态的原因,err-disable计时器全局唯一,即无论是何种原因使端

口进入该状态,恢复时间都相同
    6)查询DHCP监听状态
      switch#show ip dhcp snooping  //查看DHCP监听状态及端口情况
      switch#show ip dhcp snooping binding  //查看当前DHCP监听绑定表
    7)清除DHCP监听绑定表
      switch#clear ip dhcp snooping binding //清除动态产生的绑定表

IP源防护
IP源防护主要是防止IP地址欺骗,以DHCP监听为基础,根据DHCP监听绑定表产生一个IP源绑定表,根据IP源绑定表IP

源防护自动在端口加载相应的策略对流量进行检测,符合的数据允许发送,不符合的数据被丢弃。对于使用固定IP地

址的服务器,需要使用静态IP源绑定将静态绑定的条目加入到IP源绑定表中

IP源防护只支持二层借口,包括接入借口或干道接口,对于非信任端口,IP源防护有两种过滤策略

1、源IP地址过滤
2、源IP和源MAC地址过滤

使用源IP地址过滤时,IP源防护和端口安全是相互独立的。使用源IP和源MAC地址过滤时,二者合并为一,数据包源

IP和源MAC地址必须符合IP源绑定表中的条目才能转发,并且为了确保DHCP工作正常,启用DHCP监听时必须启用选项

82。
*目前只有CISCO 3560系列以上的交换机才支持IP源防护

IP源防护配置命令
源IP地址过滤
      switch(config-if)#ip verify source  //Cisco 35系列交换机命令
      switch(config-if)#ip verify source vlan dhcp-snooping   //Cisco 45、65系列交换机命令
源IP和源MAC地址过滤
      首先要启用端口安全(switchport port-security),然后启用IP源防护
      switch(config-if)#ip verify source port-security //Cisco 35系列交换机命令
      switch(config-if)#ip verify source vlan dhcp-snooping port-security //Cisco 45、65系列交换机命令
静态IP源绑定命令
      switch(config)#ip source binding mac-address vlan vlan-number ip-address interface interface-

type interface-number
例:  switch(config)#ip source binding 000C.29BE.C63A vlan 10 192.168.100.2 interface f0/2
查看IP源防护状态和绑定表命令
      switch#show ip source binding        //查IP源绑定表
      switch#show ip verify source         //查IP源防护过滤器状态

动态ARP检测
DAI是一种与DHCP监听和IP源防护相结合的安全特性,DAI需要使用DHCP监听绑定表和配置的静态IP源防护绑定表(使

用 ip source binding 命令),所以在配置DAI前交换机必须启用DHCP监听,另外目前只有三层交换机才支持DAI

1)在指定VLAN上启用DAI
   switch(config)#ip arp inspection vlan number  //number为VLAN号
2)配置信任接口
   switch(config-if)#ip arp inspection trust
3) 限制入站ARP报文的速率
   switch(config-if)#ip arp inspection limit rate packets-per-second
   packets-per-second为每秒接收的报文数,范围为0-2048,默认15,当超过该允许速率时,端口进入err-

disabled状态
4)查看DAI相关配置及状态
   switch#show ip arp inspection interfaces    //查看启用DAI的端口及信任状态
   switch#show ip arp inspection vlan 10       //查看启用DAI的VLAN相关信息
   switch#show ip arp inspection statistics vlan 10   //查看启用DAI的VLAN中数据包信息(包括转发、丢弃

的数量等)

   switch#show ip arp inspection    //查看整体情况