配置DHCP Snooping防止DHCP Server仿冒者攻击示例
组网图形
图1 配置DHCP Snooping防止DHCP Server仿冒者攻击组网图
DHCP Snooping简介
在一次DHCP客户端动态获取IP地址的过程中,DHCP Snooping会对客户端和服务器之间的DHCP报文进行分析和过滤。通过合理的配置实现对非法服务器的过滤,防止用户端获取到非法DHCP服务器提供的地址而无法上网。
当您的网络中存在DHCP服务器欺骗的时候就可以考虑采用这个功能,比如:
- 网络中有个别终端用的是Windows Server 2003或者2008系统,默认开启了DHCP分配IP的服务。
- 一些接入层的端口连接有开启了DHCP分配IP服务的无线路由器。
我们推荐在用户接入层交换机上面部署DHCP Snooping功能,越靠近PC端口控制的越准确。而每个交换机的端口推荐只连接一台PC,否则如果交换机某端口下串接一个Hub,在Hub上连接了若干PC的话,那么如果凑巧该Hub下发生DHCP欺骗,由于欺骗报文都在Hub端口间直接转发了,没有受到接入层交换机的DHCP Snooping功能的控制,这样的欺骗就无法防止了。
配置注意事项
V100R006C05版本中,S2700-SI不支持DHCP Snooping功能,其他版本所有产品均适用该示例。
组网需求
如图1所示,SwitchA是接入交换机,下挂的PC采用DHCP获取IP地址。SwitchB是核心交换机,部署了DHCP服务器功能。为了防止有用户将非法的DHCP服务器接入网络,如自带的无线小路由器等,导致正常用户获取到错误的地址而上不了网或者导致正常用户获取到冲突的地址,需要部署DHCP Snooping功能。
配置思路
采用如下思路配置DHCP Snooping:
- 在核心交换机SwitchB上部署DHCP服务器功能。
- 在接入交换机SwitchA上全局使能DHCP Snooping,然后在连接PC的接口使能DHCP Snooping,同时将上联核心交换机的接口配置为信任接口(信任接口正常接收DHCP服务器响应的DHCP报文。另外,接入交换机只会将PC的DHCP请求报文通过信任接口发送给核心交换机)。
操作步骤
配置DHCP服务器功能。
# 在SwitchB上配置DHCP服务器功能。
<HUAWEI> system-view
[HUAWEI] sysname SwitchB
[SwitchB] vlan batch 10
[SwitchB] interface gigabitethernet 0/0/1
[SwitchB-GigabitEthernet0/0/1] port link-type trunk
[SwitchB-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
[SwitchB-GigabitEthernet0/0/1] quit
[SwitchB] dhcp enable
[SwitchB] interface vlanif 10
[SwitchB-Vlanif10] ip address 10.1.1.1 255.255.255.0
[SwitchB-Vlanif10] dhcp select interface //使能基于接口地址池分配IP地址功能
[SwitchB-Vlanif10] quit
配置DHCP Snooping功能。
# 在SwitchA上配置DHCP Snooping功能。
<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] vlan batch 10
[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] port link-type trunk
[SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
[SwitchA-GigabitEthernet0/0/1] quit
[SwitchA] interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2] port link-type access
[SwitchA-GigabitEthernet0/0/2] port default vlan 10
[SwitchA-GigabitEthernet0/0/2] quit
[SwitchA] interface gigabitethernet 0/0/3
[SwitchA-GigabitEthernet0/0/3] port link-type access
[SwitchA-GigabitEthernet0/0/3] port default vlan 10
[SwitchA-GigabitEthernet0/0/3] quit
[SwitchA] dhcp enable
[SwitchA] dhcp snooping enable ipv4 //使能全局DHCP Snooping功能并配置设备仅处理DHCPv4报文,节约设备的CPU利用率
[SwitchA] interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2] dhcp snooping enable //使能用户侧接口的DHCP Snooping功能
[SwitchA-GigabitEthernet0/0/2] quit
[SwitchA] interface gigabitethernet 0/0/3
[SwitchA-GigabitEthernet0/0/3] dhcp snooping enable
[SwitchA-GigabitEthernet0/0/3] quit
[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] dhcp snooping trusted //配置为信任接口,使得接入交换机只处理从该接口收到的DHCP服务器响应报文
[SwitchA-GigabitEthernet0/0/1] quit
验证配置结果
# 在SwitchA上执行命令display dhcp snooping configuration,查看DHCP Snooping的配置信息。
[SwitchA] display dhcp snooping configuration
#
dhcp snooping enable ipv4
#
interface GigabitEthernet0/0/1
dhcp snooping trusted
#
interface GigabitEthernet0/0/2
dhcp snooping enable
#
interface GigabitEthernet0/0/3
dhcp snooping enable
#
# 在SwitchB上执行命令display ip pool interface vlanif10 used,查看地址池中已经使用的IP地址信息。
[SwitchB] display ip pool interface vlanif10 used
Pool-name : Vlanif10
Pool-No : 1
Lease : 1 Days 0 Hours 0 Minutes
Domain-name : -
DNS-server0 : -
NBNS-server0 : -
Netbios-type : -
Position : Interface Status : Unlocked
Gateway-0 : 10.1.1.1
Network : 10.1.1.0
Mask : 255.255.255.0
VPN instance : --
-----------------------------------------------------------------------------
Start End Total Used Idle(Expired) Conflict Disable
-----------------------------------------------------------------------------
10.1.1.1 10.1.1.254 253 1 252(0) 0 0
-----------------------------------------------------------------------------
Network section :
-----------------------------------------------------------------------------
Index IP MAC Lease Status
-----------------------------------------------------------------------------
253 10.1.1.254 xxxx-xxxx-xxxx 46 Used
-----------------------------------------------------------------------------
# 在SwitchA上执行命令display dhcp snooping user-bind all,查看DHCP Snooping绑定表信息。
[SwitchA] display dhcp snooping user-bind all
DHCP Dynamic Bind-table:
Flags:O - outer vlan ,I - inner vlan ,P - Vlan-mapping
IP Address MAC Address VSI/VLAN(O/I/P) Interface Lease
--------------------------------------------------------------------------------
10.1.1.254 xxxx-xxxx-xxxx 10 /-- /-- GE0/0/2 2014.09.21-09:33
--------------------------------------------------------------------------------
Print count: 1 Total count: 1
-
后续所有PC通过DHCP获取的IP地址只会由SwitchB进行分配。
配置文件
SwitchA的配置文件
#
sysname SwitchA
#
vlan batch 10
#
dhcp enable
#
dhcp snooping enable ipv4
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10
dhcp snooping trusted
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10
dhcp snooping enable
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 10
dhcp snooping enable
#
return
SwitchB的配置文件
#
sysname SwitchB
#
vlan batch 10
#
dhcp enable
#
interface Vlanif10
ip address 10.1.1.1 255.255.255.0
dhcp select interface
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
return