关于DHCP SNOOPING的问题,我们都讲解了不少内容。为了进一步深入了解这个DHCP的应用,接下来我们主要分析的是ip dhcp snooping在cisco设备中的配置。在cisco网络环境下,boot request在经过了启用DHCP SNOOPING特性的设备上时,会在DHCP数据包中插入option 82的选项(具体见RFC3046)。这个时候,boot request中数据包中的gateway ip address:为全0,所以一旦dhcp relay 设备检测到这样的数据包,就会丢弃。

虽然dhcp snooping是用来防止非法的dhcp server接入的,但是它一个重要作用是一旦客户端获得一个合法的dhcp offer。启用dhcp snooping设备会在相应的接口下面记录所获得IP地址和客户端的mac地址。这个是后面另外一个技术ARP inspection检测的一个依据。ARP inspection是用来检测arp请求的,防止非法的ARP请求。认为是否合法的标准的是前面dhcp snooping时建立的那张表。因为那种表是dhcp server正常回应时建立起来的,里面包括是正确的arp信息。如果这个时候有arp***信息,利用ARP inspection技术就可以拦截到这个非法的arp数据包。其实利用这个方法,还可以防止用户任意修改IP地址,造成地址冲突的问题。

  1. ip dhcp excluded-address 10.63.150.100 10.63.150.120    不由dhcp分配的地址  
  2.  
  3. !  
  4. ip dhcp pool main      定义地址池  
  5.  
  6. network 10.63.144.0 255.255.255.0       定义地址池做用的网段及地址范围  
  7. default-router 10.63.144.1      定义客户端的默认网关  
  8. domain-name nbyzzj.cn        定义客户端所在域  
  9. dns-server 10.60.12.11        定义客户端的dns  
  10. lease 7      定义地址租约时间为7天  
  11.  
  12. ip dhcp snooping      打开dhcp snooping功能  
  13.  
  14. ip dhcp snooping vlan 10-12,101-108,315     定义snooping作用的vlan  
  15. ip dhcp snooping database flash:dhcp-snooping.db      将绑定表保存在flash中,避免重启设备后,重新绑定 
  1. ip arp inspection vlan 10-12,101-108,315    定义arp inspection 作用的vlan,它是根据dhcp snooping binding表做判断的  
  2. ip arp inspection validate src-mac dst-mac ip     侦测有效客户端须满足src-mac dst-mac ip 均无错  
  3. ip arp inspection log-buffer entries 1024      inspection 日志大小  
  4. ip arp inspection log-buffer logs 1024 interval 300     inspection 日志刷新时间,interval太小会占用大量cpu时间  
  5. !  
  6. !  
  7. !  
  8. errdisable recovery cause udld  
  9. errdisable recovery cause bpduguard  
  10. errdisable recovery cause security-violation  
  11. errdisable recovery cause channel-misconfig  
  12. errdisable recovery cause pagp-flap  
  13. errdisable recovery cause dtp-flap  
  14. errdisable recovery cause link-flap  
  15. errdisable recovery cause gbic-invalid  
  16. errdisable recovery cause l2ptguard  
  17. errdisable recovery cause psecure-violation  
  18. errdisable recovery cause dhcp-rate-limit  
  19. errdisable recovery cause unicast-flood  
  20. errdisable recovery cause vmps  
  21. errdisable recovery cause arp-inspection  
  22. errdisable recovery interval 30 

在开始应用Dynamic ARP Inspection时,交换机会记录大量的数据包,当端口通过的数据包过多时,交换机会认为遭受DoS***,从而将端口自动errdisable,造成通信中断。为了解决这个问题,我们需要加入命令errdisable recovery cause arp-inspection

  1. no file verify auto  
  2.  
  3. logging on      当logging关闭时会占用大量cpu资源,一定勿忘打开  
  4.  
  5. no spanning-tree loopguard default      最好不要打开  
  6.  
  7. ip source binding 0004.76f6.e3e9 vlan 315 10.63.150.100 interface Gi1/0/11      手动增加静态地址的条目  
  1. interface GigabitEthernet1/0/11  
  2. switchport trunk encapsulation dot1q  
  3. switchport mode trunk  
  4. ip arp inspection limit none  
  5. arp timeout 2  
  6. ip dhcp snooping limit rate 100 

由于下连设备,为了避免inspection让端口errdisable,所以对arp的侦测不做限制,若直接为接入设备, 可使用ip arp inspection limit rate 100

相关命令:

  1. sh logging       查看Dymatic Arp Inspection (DAI) 是否生效.  
  2. sh ip dhcp snooping binding       查看snooping是否生效  
  3. sh ip dhcp binding       看dhcp server 是否生效.  
  4. sh arp       看arp信息是否与 dhcp snooping binding表一致 

下级设备若支持dhcp snooping 可这样配置:

  1. ip dhcp snooping  
  2. int g0/1      上行端口  
  3. switchport trunk encapsulation dot1q  
  4. switchport mode trunk  
  5. ip dhcp snooping trust      定义此端口为信任端口,从此口来的dhcp server数据有效,可阻止其它dhcp server发送dhcp数据。 

经实验,对于已存在于绑定表中的mac和ip对于关系的主机,不管是dhcp获得,还是静态指定,只要符合这个表就可以了。如果表中没有就阻塞相应流量。

如果使用了dhcp中继服务,那需要在网关交换机上键入如下命令:

方法一:

  1. inter vlan10  
  2. ip dhcp relay information trusted 

方法二:

  1. switch(config)# ip dhcp relay information trust-all