一.工作原理:
A.在指定VLAN启用DHCP Snooping后,将端口分为Trusted接口和Untrusted接口,默认VLAN所有接口都变为Untrusted接口,需要手动设置Trusted接口。
B.对于Untrusted接口,只能接收DHCP的请求消息,不会向这个接口发送出DHCP的请求消息。
C.对于Untrusted接口,从接口进入的DHCP的响应消息也会被drop掉
D.对于Trusted接口,没有任何限制,也不做检测。
---测试后觉得这个不确切,Trusted接口如果没有DHCP请求包进入,不会发出DHCP响应包
---当DHCP服务器和DHCP客户端都属于Trusted接口,DHCP客户端是能正常获取IP地址的
---也就是说Trusted口有DHCP请求包进入时,才会发出DHCP响应包
另外测试中还发现:
①对于思科路由器,如果修改接口mac,交换机不知道是伪造的,最后拿到IP的进入dhcp snooping binding绑定表
②但是不知道为什么貌似交换机能识别windows主机修改了自己的mac地址
---虽然它从DHCP服务器那里成功的获取了IP地址,但是dhcp snooping binding表里面不会增加记录
---把交换机清空配置,重启这种情况没有出现,我还以为交换机怎么能识别出来的呢
---重启交换机后,windows主机照也能冲掉路由器在交换机dhcp snooping binding表的记录
③同一VLAN ,CAM表不会记录重复的mac地址条目,后到的会冲掉之前的
---即使windows修改接口MAC地址会被DHCP snooping发现,但是CAM表是被更新的
---如果属于不同的VLAN重复的mac地址是会被CAM表记录的
二.测试拓扑:
三.验证:
A.交换机在VLAN开启DHCP Snooping之后,VLAN所有接口默认都为Untrust接口
----不用验证,省略
B.Untrust接口只接收DHCP请求的数据包,不会发出DHCP请求的数据包
---这个可以把R1作为DHCP客户端,R2作为DHCP服务器端,连接PC1的接口默认Untrust和修改为Trust来进行验证
①如果没有开启DHCP Snooping,在PC上面能够抓到所有的DHC广播包
②开启DHCP Snooping后,如果连接PC1的接口为Untrusted口,在它上面抓包,收不到任何DHCP的广播包
③开启DHCP Snooping后,如果连接PC1的接口为Trusted口,在它上面抓包,可以抓到DHCP Discover包和DHCP Request包(都是有客户端发送的广播包,收不到服务器发送的广播包),并且可以看到开启DHCP Snooping之后,DHCP Discover包增加了82选项
④关于82选项
---交换机开启DHCP Snooping之后默认是会添加的,可以在交换机上通过SW1(config)#no ip dhcp snooping information option 取消掉
---对于思科路由器作为DHCP服务器情况,因为它能识别82选项,当发现DHCP Discover包含82选项,而又不是由DHCP Relay发送过来的,不会给客户端分派IP地址,除非通过如下全局命令或接口命令信任82选项:
R2(config)#ip dhcp relay information trust-all
R2(config-if)#ip dhcp relay information trusted
---值得注意的是,如果交换机开启了DHCP Snooping,又没有关闭82选项,那么在作为DHCP中继的路由器全局或接口也得开启信任82选项,否则路由器不会中继DHCP Discover包
---像微软的DHCP服务器,其压根就识别不了82选项,因而会忽略掉82选项
C.对于Untrust接口,从接口进入的DHCP响应包会丢弃
---这个不好测试,只能通过DHCP中继来测试
①当交换机没有开启DHCP Snooping时,PC1可以收到R2发给它的DHCP Offer包(DHCP响应包)
②当交换机开启DHCP Snooping且不配置任何口为信任口时,PC1无法收到DHCP包,并且有如下日志:
Mar 1 18:42:53.774: %DHCP_SNOOPING-5-DHCP_SNOOPING_UNTRUSTED_PORT: DHCP_SNOOPING drop message on untrusted port, message type: DHCPOFFER, MAC sa: 0002.0002.0002
③当交换机开启DHCP Snooping,仅配置连接R2的接口为信任口时,PC1无法收到DHCP包
④当交换机开启DHCP Snooping,同时配置连接R2和PC1的接口为信任口时,PC1可以收到R2发给它的DHCP Offer包(DHCP响应包)
D.对于Trusted接口,没有任何限制,也不做检测。
---通过上面的测试,其实这个说的不是很确切,Trusted接口因为是已知的连接DHCP服务器的接口,所以交换机把其他DHCP响应包都过滤掉了,不从该接口发出其他DHCP服务器响应的广播包。
本文转自 碧云天 51CTO博客,原文链接:http://blog.51cto.com/333234/1209811,如需转载请自行联系原作者