DHCP监听被开启后,交换机限制用户端口(非信任端口)只能够发送DHCP请求,丢弃来自用户端口的所有其它DHCP报文。DHCP-snooping还有一个非常重要的作用就是建立一张DHCP监听绑定表,既然DHCP-snooping这么重要,那么让我们来看看他是怎么样配置的!
案例需求
1.PC可以从指定DHCP Server获取到IP地址;
2.防止其他非法的DHCP Server影响网络中的主机。
网络拓扑:
DHCP Snooping配置步骤
<H3C>system-view //进入系统视图
[H3C]dhcp-snooping //全局使能dhcp-snooping功能
[H3C] interface Ethernet 1/0/2 //进入端口E1/0/2
[H3C-Ethernet1/0/2]dhcp-snooping trust //将端口E1/0/2配置为trust端口
DHCP Snooping配置关键点(原理)
1.当交换机开启了 DHCP-Snooping后,会对DHCP报文进行侦听,并可以从接收到的DHCP Request或DHCP Ack报文中提取并记录IP地址和MAC地址信息。另外,DHCP-Snooping允许将某个物理端口设置为信任端口或不信任端口。信任端口可以正常接收并转发DHCP Offer报文,而不信任端口会将接收到的DHCPOffer报文丢弃。这样,可以完成交换机对假冒DHCP Server的屏蔽作用,确保客户端从合法的DHCP Server获取IP地址;
2.由于DHCP服务器提供给用户包含了服务器分配给用户的IP地址的报文―“dhcp offer”报文,由E1/0/2端口进入交换机并进行转发,因此需要将端口E1/0/2配置为“trust”端口。
如果交换机上行接口配置为Trunk 端口,并且连接到DHCP中继设备,也需要将上行端口配置为“trust”端口。案例如下:
H3C开启了dhcp-snooping后客户端获取不到ip地址的解决方案
网络拓扑:
一般的网络结构是dhcp-server放在核心交换机H3C5500上面,但是有时候特殊原因,dhcp-server服务器必须接在H3C3110的2层交换机上面,同时企业内部为了防止员工私自接入非法的dhcp-server又必须在接入层交换机3110上面开启dhcp-snooping功能。那么问题来了,一旦3110上面开启dhcp-snooping后,所有用户就会获取不到ip地址。解决方案有2个:
方案一:dhcp-server如接到3层的5500核心交换机,在5500和3110互联的trunk口上加上dhcp-snooping trust no-user-binding 。
方案二:dhcp-server如接在2层3110的接入交换机,在dhcp-server连接的交换机将端口配置为“trust”端口。
具体配置如下:
方案一:
5500:
【5500】dhcp-snooping
[5500]interface bridge-aggregation 1
[5500-interface bridge-aggregation 1]dhcp-snooping trust no-user-binding
3110:
[3110]dhcp-snooping
[3110]interface bridge-aggrration 1
[3110-bridge-aggrration 1]dhcp-snooping trust no-user-binding
方案二:
[3110]dhcp-snooping
[3110]interface ethernet 1/0/4
[3110-ethernet1/0/4]dhcp-snooping trust
如果2层和3层的设备都是思科的设备的话,就不需要这么麻烦,直接设置ip dhcp snooping和ip dhcp snooping trust就可以了。