DHCP Snooping简介
定义
DHCP Snooping是DHCP(Dynamic Host Configuration Protocol)的一种安全特性,用于保证DHCP客户端从合法的DHCP服务器获取IP地址,并记录DHCP客户端IP地址与MAC地址等参数的对应关系,防止网络上针对DHCP攻击。
目的
目前DHCP协议(RFC2131)在应用的过程中遇到很多安全方面的问题,网络中存在一些针对DHCP的攻击,如DHCP Server仿冒者攻击、DHCP Server的拒绝服务攻击、仿冒DHCP报文攻击等。
为了保证网络通信业务的安全性,可引入DHCP Snooping技术,在DHCP Client和DHCP Server之间建立一道防火墙,以抵御网络中针对DHCP的各种攻击。
受益
- 设备具有防御网络上DHCP攻击的能力,增强了设备的可靠性,保障通信网络的正常运行。
- 为用户提供更安全的网络环境,更稳定的网络服务。
DHCP Snooping的基本原理
DHCP Snooping能够实现如下基本功能:
信任功能
DHCP Snooping的信任功能,能够保证客户端从合法的服务器获取IP(Internet Protocol)地址。
网络中如果存在私自架设的DHCP Server仿冒者,则可能导致DHCP客户端获取错误的IP地址和网络配置参数,无法正常通信。DHCP Snooping信任功能可以控制DHCP服务器应答报文的来源,以防止网络中可能存在的DHCP Server仿冒者为DHCP客户端分配IP地址及其他配置信息。
DHCP Snooping信任功能将接口分为信任接口和非信任接口:
- 信任接口正常接收DHCP服务器响应的DHCP ACK、DHCP NAK和DHCP Offer报文。
- 非信任接口在接收到DHCP服务器响应的DHCP ACK、DHCP NAK和DHCP Offer报文后,丢弃该报文。
说明
管理员在部署网络时,一般将与合法DHCP服务器直接或间接连接的接口设置为信任接口,其他接口设置为非信任接口,从而保证DHCP客户端只能从合法的DHCP服务器获取IP地址,私自架设的DHCP Server仿冒者无法为DHCP客户端分配IP地址。
分析功能
开启DHCP Snooping功能后,设备能够通过分析DHCP的报文交互过程,生成DHCP Snooping绑定表,绑定表项包括客户端的MAC地址、获取到的IP地址、与DHCP客户端连接的接口及该接口所属的VLAN(Virtual Local Area Network)等信息。
DHCP Snooping绑定表根据DHCP租期进行老化或根据用户释放IP地址时发出的DHCP Release报文自动删除对应表项。
出于安全性的考虑,管理员需要记录用户上网时所用的IP地址,确认用户申请的IP地址和用户使用的主机的MAC地址的对应关系。在设备通过DHCP Snooping功能生成绑定表后,管理员可以方便的记录DHCP用户申请的IP地址与所用主机的MAC地址之间的对应关系。
由于DHCP Snooping绑定表记录了DHCP客户端IP地址与MAC地址等参数的对应关系,故通过对报文与DHCP Snooping绑定表进行匹配检查,能够有效防范非法用户的攻击。
为了保证设备在生成DHCP Snooping绑定表时能够获取到用户MAC等参数,DHCP Snooping功能需应用于二层网络中的接入设备或第一个DHCP Relay上。
拓扑
配置步骤
LSW7配置
LSW7 配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info-center enable
Info: Information center is disabled.
[Huawei]vlan batch 10 100
[Huawei]dhcp enable //启动DHCP功能
[Huawei]interface Vlanif 10
[Huawei-Vlanif10]ip address 192.168.1.254 24
[Huawei-Vlanif10]dhcp select relay //使能DHCP中继功能
[Huawei-Vlanif10]dhcp relay server-ip 192.168.10.1
[Huawei-Vlanif10]quit
[Huawei]interface Vlanif 100
[Huawei-Vlanif100]ip address 192.168.10.254 24
[Huawei-Vlanif100]quit
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]interface GigabitEthernet 0/0/2
[Huawei-GigabitEthernet0/0/2]port link-type access
[Huawei-GigabitEthernet0/0/2]port default vlan 10
[Huawei-GigabitEthernet0/0/2]quit
DHCP server配置
DHCP server配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname DHCPserver
[DHCPserver]undo info-center enable
Info: Information center is disabled.
[DHCPserver]interface GigabitEthernet 0/0/0
[DHCPserver-GigabitEthernet0/0/0]ip address 192.168.10.1 24
[DHCPserver-GigabitEthernet0/0/0]dhcp select global //开启接口采用全局地址池的DHCP Server功能
[DHCPserver-GigabitEthernet0/0/0]quit
[DHCPserver]ip pool vlan10
Info: It's successful to create an IP address pool.
[DHCPserver-ip-pool-vlan10]network 192.168.1.0 mask 255.255.255.0
[DHCPserver-ip-pool-vlan10]gateway-list 192.168.1.254
[DHCPserver-ip-pool-vlan10]dns-list 8.8.8.8
[DHCPserver-ip-pool-vlan10]quit
[DHCPserver]ip route-static 0.0.0.0 0 192.168.10.254
AR2 非法DHCP服务器配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname AR2
[AR2]undo info-center enable
Info: Information center is disabled.
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ip address 192.168.2.1 24
[AR2-GigabitEthernet0/0/0]quit
[AR2]ip pool v10
Info: It's successful to create an IP address pool.
[AR2-ip-pool-v10]network 192.168.2.0 mask 255.255.255.0
[AR2-ip-pool-v10]gateway-list 192.168.2.1
[AR2-ip-pool-v10]dns-list 8.8.8.8
[AR2-ip-pool-v10]quit
LSW5配置
LSW5配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname S5
[S5]undo info-center enable
Info: Information center is disabled.
[S5]dhcp enable
Info: The operation may take a few seconds. Please wait for a moment.done.
[S5]dhcp snooping enable ipv4 //使能全局DHCP Snooping功能并配置设备仅处理DHCPv4报文
[S5]dhcp snooping enable vlan 10 //
[S5]vlan 10
[S5-vlan10]quit
[S5]interface Ethernet 0/0/1
[S5-Ethernet0/0/1]port link-type access
[S5-Ethernet0/0/1]port default vlan 10
[S5-Ethernet0/0/3]dhcp snooping enable //使能用户侧接口的DHCP Snooping功能。以E0/0/1接口为例,E0/0/3的配置与E0/0/1接口相同,不再赘述
[S5-Ethernet0/0/1]quit
[S5]interface Ethernet 0/0/3
[S5-Ethernet0/0/3]port link-type access
[S5-Ethernet0/0/3]port default vlan 10
[S5-Ethernet0/0/3]dhcp snooping enable
[S5-Ethernet0/0/3]quit
[S5]interface Ethernet 0/0/2
[S5-Ethernet0/0/2]port link-type trunk
[S5-Ethernet0/0/2]port trunk allow-pass vlan all
[S5-Ethernet0/0/2]dhcp snooping trusted //将接口配置为dhcp snooping信任接口
[S5-Ethernet0/0/2]quit
PC1获取的IP是合法的