几个月来,我一直在想你。
一、网络拓扑
二、说明
1、拓扑说明:汇聚层交换机 为 CATALYST4506,核心交换机 为 CATALYST6506,接入层交换机为CATALYST2918。4506上启 用IP DHCP SNOOPING和DAI以及IPSG,4506上连和下连的端口均配置 为TRUNKING;6506 上配置 VLAN路由和DHCP 服务器;2918配置 基于端口的VLAN。
2、DHCP SNOOPING就像一个工作在非信任端口(连接主机或网络设备)和信任端口(连接DHCP SERVER或者网络设备)之间的防火墙,其DHCP SNOOPING BINDING DATABASE中保存着非信任端口下所连设备的MAC address, the IP address, the lease time, the binding type, the VLAN number, and the interface information等信息,但不保存信任端口所连设备的信息;在交换机上开启IP DHCP SNOOPING后,接口将工作在二层桥接状态,截取和保护通往二层VLAN的DHCP消息;在VLAN上开启IP DHCP SNOOPING后,交换机将工作在同一个VLAN域内的二层桥接状态。
3、思 科 交换机在全局配置模式下开启IP DHCP SNOOPING后,所有端口默认处于DHCP SNOOPING UNTRUSTED模式下,非信任端口接收到的DHCP OFFER、DHCP ACK、DHCP NAK、DHCP LEASEQUERY报文将被丢弃;信任端口正常接收转发,不进行监测。
4、交换机在RELOAD或重启后会丢失DHCP SNOOPING BINDING数据库,因此要将此表保存在交换机的FLASH或者保存在一个TFTP服务器中,使交换机在RELOAD或重启后可以从中读取信息,重新形 成DHCP SNOOPING BINDING数据库。比如下面这条命令:renew ip dhcp snoop data tftp://192.169.200.1/snooping.dat。
5、思科交换机在全局配置模式下开启IP DHCP SNOOPING后,所有的DHCP RELAY INFORMATION OPTION功能全部关闭。
6、根据思科的英文资料来看,说一个汇聚层交换机开启DHCP SNOOPING后,当其下连一个具有嵌入DHCP option-82 information的边缘交换机,且下连端口为非信任端口时,汇聚层交换机将丢弃从此端口接收到的具有option-82 information的DHCP报文;但当在汇聚层交换机上开启IP DHCP SNOOPING INFORMATION OPTION ALLOW-UNTRUSTED功能后,此时下连边缘交换机的端口虽然仍为非信任端口,但可以正常从此端口接收具有option-82 information的DHCP报文。
根据上面的分析,我理解如下,不知道对不对:思科交换机在全局配置模式下开启IP DHCP SNOOPING后,所有端口默认处于DHCP SNOOPING UNTRUSTED模式下,但DHCP SNOOPING INFORMATION OPTION功能默认是开启的,此时DHCP报文在到达一个SNOOPING UNTRUSTED端口时将被丢弃。因此,必须在4506配置IP DHCP SNOOPING INFORMATION OPTION ALLOW-UNTRUSTED命令(默认关闭),以允许4506从DHCP SNOOPING UNTRUSTED端口接收带有OPTION 82的DHCP REQUEST报文。建议在交换机上关闭DHCP INFORMATION OPTION,即全局配置模式下NO IP DHCP SNOOPING INFORMATION OPTION。
7、对于允许手工配置IP地址等参数的客户端,可以手工添加绑定条目到DHCP SNOOPING BINDING数据库中。ip dhcp snooping binding 00d0.2bd0.d80a vlan 100 222.25.77.100 interface gig1/1 expiry 600表示手工添加一条MAC地址为00d0.2bd0.d80a,IP地址为222.25.77.100,接入端口为GIG1/1,租期时间为600秒 的绑定条目。
8、IPSG即IP SOURCE GUARD是在DHCP SNOOPING功能的基础上,形成IP SOURCE BINDING表,只作用在二层端口上。启用IPSG的端口,会检查接收到所有IP包,只转发与此绑定表的条目相符合的IP包。默认IPSG只以源IP地 址为条件过滤IP包,如果加上以源MAC地址为条件过滤的话,必须开启DHCP SNOOPING INFORMAITON OPTION 82功能。
9、DAI即DYNAMIC ARP INSPECTION也是以DHCP SNOOPING BINDING DATABASE为基础的,也区分为信任和非信任端口,DAI只检测非信任端口的ARP包,可以截取、记录和丢弃与SNOOPING BINDING中IP地址到MAC地址映射关系条目不符的ARP包。如果不使用DHCP SNOOPING,则需要手工配置ARP ACL。
三、配置
1、2918
Switch # configure terminal //全局配置模式
Switch(config)# interface range fa0/1 - 12
Switch(config-if-range)# switchport access vlan 100
Switch(config-if-range)# interface range fa0/13 - 24
Switch(config-if-range)# switchport access vlan 200
Switch(config-if-range)# interface gig0/1 //上连4506的端口
Switch(config-if)# //这里可不做配置,也可手工配置TRUNK
2、4506
Switch# configure terminal
Switch(config)# vtp version 2
Switch(config)# vtp mode client
Switch(config)# vtp domain gzy
Switch(config)# vtp password gzy123
Switch(config)# vlan 100
Switch(config)# vlan 200
Switch(config)# ip dhcp snooping //开启交换机的dhcp snooping功能
Switch(config)# ip dhcp snooping vlan 100,200 //在VLAN100和200中开启dhcp snooping功能
Switch(config)# no ip dhcp snooping information option //禁止在DHCP报文中嵌入和删除option 82信息
Switch(config)# ip dhcp snooping database tftp://192.168.200.1/snooping.dat
//将dhcp snooping database保存在tftp服务器(IP地址192.168.200.1)的snooping.dat文件中
Switch(config)# ip arp inspection vlan 100,200 //在VLAN100和200中开启DAI功能
Switch(config)# ip arp inspection validate src-mac ip //以源MAC和IP检测ARP包是否合法
Switch(config)# interface gig1/1 //上连6506的端口
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport mode trunk
Switch(config-if)# ip dhcp snooping trust
Switch(config-if)# ip arp inspection trust
Switch(config-if)# interface gig2/2 //下连2918的端口
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport mode trunk
Switch(config-if)# ip arp inspection limit none
Switch(config-if)# ip verify source vlan dhcp-snooping
Switch(config-if)# end
Switch(config)# copy run start
四、备注
写到后面越来越懒了,基本上就是这样了。6506上的配置不写了,很简单。因为2918不支持上述功能,因此只能在4506上做,但这样就只能在4506 下连2918的端口上来启用这些功能,在2918上发生的欺骗就无法防止了。没办法,思科的做法很奇怪。现在很多国内厂家的接入层交换机都可以实现这些功 能,比如Quidway、H3C、神洲数码、锐捷等。由于水平有限,写的不对的地方请高手指正。
无忧linux时代