【实验名称】
配置DHCP 监听(DHCP Snooping)。
【实验目的】
使用交换机的DHCP 监听功能增强网络安全性。
【背景描述】
某企业网络,为了减小网络编址的复杂性和手工配置IP 地址的工作量,使
用了DHCP 为网络中的设备分配IP 地址。但网络管理员发现最近经常有员工抱
怨无法访问网络资源,经过故障排查后,发现客户端PC 通过DHCP 获得了错误
的IP 地址,从该现象可以判断出网络中可能出现了DHCP 攻击,有人私自架设
了DHCP 服务器(伪DHCP 服务器)导致客户端PC 不能获得正确的IP 地址信
息,以至不能够访问网络资源。
【需求分析】
对于网络中出现非法DHCP 服务器的问题,需要防止其为客户端分配IP 地
址,仅允许合法的DHCP 服务器提供服务。交换机的DHCP 监听特性可以满足这
个要求,阻止非法服务器为客户端分配IP 地址。
【实验拓扑】
【预备知识】
交换机转发原理、交换机基本配置、DHCP 监听原理。
【实验原理】
交换机的DHCP 监听特性可以通过过滤网络中接入的伪DHCP(非法的、不
可信的)发送的DHCP 报文增强网络安全性。DHCP 监听还可以检查DHCP 客户
端发送的DHCP 报文的合法性,防止DHCP DoS 攻击。
【实验步骤】
步骤 1 SW2 基本配置。
Switch#configure Switch(config)#hostname SW2 SW2 (config)#vlan 2 SW2 (config-vlan)#exit SW2 (config)#interface range fastEthernet 0/1-2 SW2 (config-if-range)#switchport access vlan 2 SW2 (config)#interface fastEthernet 0/24 SW2 (config-if)#switchport mode trunk SW2 (config-if)#end SW2#
如果用EVE做实验 (因为EVE一般懒人版只有三层交换机和路由)当遇到
输入 Switch(config-if)#swicthport mode trunk 想改变端口为trunk 模式时 报出错误
Command rejected: An interface whose trunk encapsulation is "Auto" can not be configured to "trunk" mode.
(中文:命令被拒绝:接口的中继封装是“自动”不能被配置的“主干”模式。)
只需要 像单臂路由一样 给端口封装一个 接口封装协议。如下命令
SW2(config-if)#switchport trunk encapsulation dot1q
于是就解决问题了 开启了虚拟链路
还有就是记得开启端口
SW2 (config-if)#no shutdown
步骤 2 SW1 基本配置和OSPF配置。
Switch#configure Switch(config)#hostname SW1 SW1 (config)#interface fastEthernet 0/24 SW1 (config-if)#switchport mode trunk SW1 (config-if)#exit SW1 (config)#vlan 2 SW1 (config-vlan)#exit SW1 (config)#interface vlan 2 SW1 (config-if)#ip address 172.16.1.1 255.255.255.0 SW1 (config-if)#exit SW1 (config)#vlan 100 SW1 (config-vlan)#exit SW1 (config)#interface vlan 100 SW1 (config-if)#ip address 10.1.1.2 255.255.255.0 SW1 (config-if)#exit SW1 (config)#interface fastEthernet 0/1 SW1 (config-if)#switchport access vlan 100 SW1 (config-if)#exit SW1 (config)#router ospf1 SW1 (config-router)#network 10.1.1.0 0.0.0.255 area 0 SW1 (config-router)#network 172.16.1.0 0.0.0.255 area 0 SW1 (config-router)#exit
步骤3 将SW1 配置为DHCP Relay。
SW1#configure SW1 (config)#service dhcp SW1 (config)#ip helper-address 10.1.1.1 SW1 (config)#end
!配置DHCP 中继,指明DHCP 服务器地址
ip helper-address 这个命令跟思科跟锐捷不一样 锐捷可以在全局下配置,思科要进接口或者VLAN配置,所以 ip helper-address 这个命令在PC1的VLAN下配置也就是VLAN 2
步骤4 配置 DHCP 服务器。
将1台PC 配置为DHCP 伪服务器,将一台路由器用作合法DHCP服务器。
合法DHCP 服务器中的地址池为172.16.1.0/24,伪DHCP 服务器的地址池为
1.1.1.0/24。
DHCP server R1配置如下:
ruijie(config)#hostname R1 R1(config)#interfacefastEthernet 0/1 R1 (config-if)#ip addr 10.1.1.1 255.255.255.0 R1 (config-if)#no shutdown R1 (config-if)#exit R1(config)#router ospf 1 R1 (config-router)#network 10.1.1.0 0.0.0.255 area 0 R1 (config-router)#exit R1(config)#service dhcp R1(config)#ip dhcp pool v2 R1(dhcp-config)#network 172.16.1.0 255.255.255.0 R1(dhcp-config)#default-router 172.16.1.1 R1(dhcp-config)#lease 0 3 0 R1(dhcp-config)#exit R1(config)#ip dhcp excluded-address 172.16.1.1
步骤 5 验证测试。
确保两台DHCP 服务器可以正常工作。将客户端PC 配置为自动获取地址后,
接入交换机端口,此时可以看到客户端从伪DHCP 服务器获得了错误的地址,如
步骤 6 在 SW1 上配置 DHCP 监听。
SW1#configure SW1 (config)#ip dhcp snooping !开启DHCP snooping 功能 SW1 (config)#interface fastEthernet 0/1 SW1 (config-if)#ip dhcp snooping trust !配置F0/1 为trust 端口 SW1 (config-if)#exit SW1 (config)#interface fastEthernet 0/24 SW1 (config-if)#ip dhcp snooping trust !配置F0/24 为trust 端口 SW1 (config-if)#end SW1#
步骤 7 在 SW2 上配置 DHCP 监听。
SW2#configure SW2 (config)#ip dhcp snooping SW2 (config)#interface fastEthernet 0/24 SW2 (config-if)#ip dhcp snooping trust SW2 (config-if)#end SW2#
步骤 8 验证测试。
将客户端之前获得的错误IP 地址释放(使用Windows 命令行ipconfig
/release),再使用ipconfig /renew 重新获取地址,可以看到客户端获取到了
正确的IP 地址
DHCP 监听只能配置在物理端口上,不能配置在VLAN 接口上。
评论