在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地址,造成地址冲突的问题。
ip dhcp excluded-address 10.63.150.100 10.63.150.120 不由dhcp分配的地址
!
ip dhcp pool main 定义地址池
network 10.63.144.0 255.255.255.0 定义地址池做用的网段及地址范围
default-router 10.63.144.1 定义客户端的默认网关
domain-name nbyzzj.cn 定义客户端所在域
dns-server 10.60.12.11 定义客户端的dns
lease 7 定义地址租约时间为7天
ip dhcp snooping 打开dhcp snooping功能
ip dhcp snooping vlan 10-12,101-108,315 定义snooping作用的vlan
ip dhcp snooping database flash:dhcp-snooping.db 将绑定表保存在flash中,避免重启设备后,重新绑定
ip arp inspection vlan 10-12,101-108,315 定义arp inspection 作用的vlan,它是根据dhcp snooping binding表做判断的
ip arp inspection validate src-mac dst-mac ip 侦测有效客户端须满足src-mac dst-mac ip 均无错
ip arp inspection log-buffer entries 1024 inspection 日志大小
ip arp inspection log-buffer logs 1024 interval 300 inspection 日志刷新时间,interval太小会占用大量cpu时间
!
!
!
errdisable recovery cause udld
errdisable recovery cause bpduguard
errdisable recovery cause security-violation
errdisable recovery cause channel-misconfig
errdisable recovery cause pagp-flap
errdisable recovery cause dtp-flap
errdisable recovery cause link-flap
errdisable recovery cause gbic-invalid
errdisable recovery cause l2ptguard
errdisable recovery cause psecure-violation
errdisable recovery cause dhcp-rate-limit
errdisable recovery cause unicast-flood
errdisable recovery cause vmps
errdisable recovery cause arp-inspection
errdisable recovery interval 30
在开始应用Dynamic ARP Inspection时,交换机会记录大量的数据包,当端口通过的数据包过多时,交换机会认为遭受DoS攻击,从而将端口自动errdisable,造成通信中断。为了解决这个问题,我们需要加入命令errdisable recovery cause arp-inspection
no file verify auto
logging on 当logging关闭时会占用大量cpu资源,一定勿忘打开
no spanning-tree loopguard default 最好不要打开
ip source binding 0004.76f6.e3e9 vlan 315 10.63.150.100 interface Gi1/0/11 手动增加静态地址的条目
!
interface GigabitEthernet1/0/11
switchport trunk encapsulation dot1q
switchport mode trunk
ip arp inspection limit none
arp timeout 2
ip dhcp snooping limit rate 100
由于下连设备,为了避免inspection让端口errdisable,所以对arp的侦测不做限制,若直接为接入设备, 可使用ip arp inspection limit rate 100
相关命令:
sh logging 查看Dymatic Arp Inspection (DAI) 是否生效.
sh ip dhcp snooping binding 查看snooping是否生效
sh ip dhcp binding 看dhcp server 是否生效.
sh arp 看arp信息是否与 dhcp snooping binding表一致
下级设备若支持dhcp snooping 可这样配置:
ip dhcp snooping
int g0/1 上行端口
switchport trunk encapsulation dot1q
switchport mode trunk
ip dhcp snooping trust 定义此端口为信任端口,从此口来的dhcp server数据有效,可阻止其它dhcp server发送dhcp数据。
经实验,对于已存在于绑定表中的mac和ip对于关系的主机,不管是dhcp获得,还是静态指定,只要符合这个表就可以了。如果表中没有就阻塞相应流量。
如果使用了dhcp中继服务,那需要在网关交换机上键入如下命令:
方法一:
inter vlan10
ip dhcp relay information trusted
方法二:
switch(config)# ip dhcp relay information trust-all