【摘
要】:
本文就在网络中使用
DHCP
服务时经常会遇到由于的用户指定
IP
地址,而造成的
IP
地址分配问题提出了解决办法,并给出了具体的实例。
一、引言
DHCP
(动态主机配置协议)是一种简化主机
IP
地址配置管理的
TCP/IP
标准。该标准为
DHCP
服务器的使用提供了一种有效的方法:即管理网络中客户机
IP
地址的动态分配以及启用网络上
DHCP
客户机的其它相关配置信息。
在基于
TCP
/
IP
协议的网络中,每台计算机都必须有唯一的
IP
地址才能访问网络上的资源,网络中计算机之间的通信是通过
IP
地址来实现的,并且通过
IP
地址和子网掩码来标识主计算机及其所连接的子网。在局域网中如果计算机的数量比较少,当然可以手动设置其
IP
地址,但是如果在计算机的数量较多并且划分了多个子网的情况下,为计算机配置
IP
地址所涉及的管理员工作量和复杂性就会相当繁重,而且容易出错,如在实际使用过程中,我们经常会遇到因
IP
地址冲突、网关或
DNS
服务器地址的设置错误导致无法访问网络、机器经常变动位置而不得不频繁地更换
IP
地址等问题。
DHCP
则很好地解决了上述的问题,通过在网络上安装和配置
DHCP
服务器,启用了
DHCP
的客户机可在每次启动并加入网络时自动地获得其上网所需的
IP
地址和相关的配置参数。从而减少了配置管理,提供了安全而可靠的配置。
配置
DHCP
服务的服务器可以为每一个网络客户提供一个
IP
地址、子网掩码、缺省网关,以及
DNS
服务器的地址。
DHCP
避免了因手工设置
IP
地址及子网掩码所产生的错误,也避免了把一个
IP
地址分配给多台主机所造成的地址冲突。降低了
IP
地址管理员的设置负担,使用
DHCP
服务器可以大大地缩短配置网络中主机所花费的时间。
但是,随着
DHCP
服务的广泛应用,也产生了一些问题。首先,
DHCP
服务允许在一个子网内存在多台
DHCP
服务器,这就意味着管理员无法保证客户端只能从管理员所设置的
DHCP
服务器中获取合法的
IP
地址,而不从一些用户自建的非法
DHCP
服务器中取得
IP
地址;其次,在部署
DHCP
服务的子网中,指定了合法的
IP
地址、掩码和网关的主机也可以正常地访问网络,而
DHCP
服务器却仍然会有可能将该地址分配给其他主机,这样就会造成地址冲突,影响
IP
地址的正常分配。
针对上述问题,本文给出了一个解决方案,即通过使用
Cisco
提供的
DHCP Snooping
技术和
Dynamic ARP Inspection
技术,可以有效地防止以上问题的发生。
这里首先对两种技术做一个简要的介绍,然后将给出一个应用实例加以说明。
二、DHCP Snooping技术
DHCP Snooping
是一种通过建立
DHCP Snooping Binding
数据库,过滤非信任的
DHCP
消息,从而保证网络安全的特性。
DHCP Snooping
就像是非信任的主机和
DHCP
服务器之间的防火墙。通过
DHCP Snooping
来区分连接到末端客户的非信任接口和连接到
DHCP
服务器或者其他交换机的受信任接口。
DHCP Snooping Binding
数据库包括如下信息:
MAC
地址、
IP
地址、租约时间、
binding
类型、
VLAN ID
以及来自本地非信任端口的接口信息,但不包含通过受信任端口互相连接的接口信息。在启用了
DHCP Snooping
的
VLAN
中,如果交换机收到来自非信任端口的
DHCP
包,交换机将对目的
MAC
地址和
DHCP
客户端的地址进行对比,如果符合则该包可以通过,否则将被丢弃掉。
在下述情况中,
DHCP
包将同样被丢弃:
l
来自外网或者防火墙的
DHCP
服务器,包括
DHCPOFFER
、
DHCPACK
、
DHCPNAK
、
DHCPLEASEQUERY
。
l
来自非信任端口,且目的
MAC
地址和
DHCP
客户端的硬件地址不匹配。
l
交换机收到
DHCPRELEASE
或者
DHCPDECLINE
的广播信息,其
MAC
地址包含在
DHCP snooping binding
数据库中,但与数据库中的接口信息不匹配
l
通过
DHCP
中继代理转发的包不包括在内
三、Dynamic ARP Inspection技术
Dynamic ARP inspection
是一种验证网络中
ARP
包的安全特性,可以阻止、记录并丢弃非法
IP
和
MAC
地址绑定的
ARP
包。
Dynamic ARP inspection
保证只有合法的
ARP
请求和响应可以传播。交换机会完成如下工作,截取所有来自非信任端口
ARP
请求和响应,在更新
ARP
缓存或传播数据包之前验证所截取的数据包
IP-MAC
地址绑定是否合法,丢弃非法的
ARP
包。
前面提到,
DHCP Snooping
会建立一个包含合法
IP-MAC
地址绑定信息的数据库,
Dynamic ARP inspection
基于该数据库检验所截取
ARP
包的合法性。如果
ARP
包来自非信任接口,那么只有合法的可以通过。如果来自受信任端口,将可以直接通过。
四、应用实例
我校
1
#学生公寓,
PC
拥有数量大约
1000
台。采用
DHCP
分配
IP
地址,拥有
4
个
C
类地址,实际可用地址数约
1000
个。由于楼内经常存在私开的
DHCP
服务器,导致大量主机无法分配到合法
IP
地址;另外,由于有相当数量的主机指定
IP
地址,因此造成了与
DHCP
分配的
IP
地址冲突。以上两方面,均造成了该公寓楼大量主机无法正常访问网络。
经过一段时间的分析、实验,我们决定对该公寓楼部署
DHCP Snooping
和
Dynamic ARP Inspection
两项技术,以保证网络的正常运行。
该公寓网络设备使用情况如下,接入层为××台
Cisco 2950
交换机上联至堆叠的
4
台
Cisco 3750
,再通过光纤上联至汇聚层的
Cisco 3750
交换机。同时汇聚层的
Cisco 3750
交换机还兼做
DHCP
服务器。
部署过程
首先按如下过程配置
DHCP Snooping
1 configure terminal
2 ip dhcp snooping
在全局模式下启用
DHCP Snooping
3 ip dhcp snooping vlan 103
在
VLAN 103
中启用
DHCP Snooping
4 ip dhcp snooping information option
Enable the switch to insert and remove DHCP relay information(option-82 field) in forwarded DHCP request messages to the DHCP server. The default is enabled.
5 interface GigabitEthernet1/0/28,
进入交换机的第
28
口
6 ip dhcp snooping trust
将第
28
口设置为受信任端口
7 ip dhcp snooping limit rate
500
设置每秒钟处理
DHCP
数据包上限
9 end
退出
完成配置后,可用如下命令观察
DHCP Snooping
运行状况:
show ip dhcp snooping
得到如下信息:
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs
:
103
Insertion of option 82 is enabled
Verification of hwaddr field is enabled
Interface
Trusted
Rate limit (pps)
------------------------
-------
----------------
GigabitEthernet1/0/22
yes
unlimited
GigabitEthernet1/0/24
yes
unlimited
GigabitEthernet1/0/27
yes
unlimited
GigabitEthernet1/0/28
no
500
show ip dhcp snooping binding,
得到如下信息:
MacAddress
IpAddress
Lease(sec)
Type
VLAN
Interface
------------------
---------------
----------
-------------
----
-----------------------------------------------------------
00:11:09:11:51:16
210.77.5.201
3209
dhcp-snooping
103
GigabitEth ernet1/0/28
00:50:8D:63:5A:05
210.77.6.134
2466
dhcp-snooping
103
GigabitEthernet1/0/28
00:E0:4C:A1:D7:80
210.77.4.26
3070
dhcp-snooping
103
GigabitEthernet1/0/28
00:0F:EA:A8:BC:22
210.77.5.198
1887
dhcp-snooping
103
GigabitEthernet1/0/28
10:E0:8C:50:80:D5
210.77.5.95
3034
dhcp-snooping
103
GigabitEthernet1/0/28
00:03:0D:0E:9A:A5
210.77.6.230
3144
dhcp-snooping
103
GigabitEthernet1/0/28
00:50:8D:6C:08:9F
210.77.4.17
3012
dhcp-snooping
103
GigabitEthernet1/0/28
00:E0:50:00:0B:54
210.77.6.18
3109
dhcp-snooping
103
GigabitEthernet1/0/28
00:0F:EA:13:40:54
210.77.7.7
2631
dhcp-snooping
103
GigabitEthernet1/0/28
00:E0:4C:45:21:E9
210.77.7.77
2687
dhcp-snooping
103
GigabitEthernet1/0/28
--More--
接下来配置
Dynamic ARP Inspection
1 show cdp neighbors
检查交换机之间的连接情况
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID
Local Intrfce
Holdtme
Capability
Platform
Port ID
ap
Gig 1/0/23
149
T
AIR-AP1230Fas 0
hall-3750
Gig 1/0/27
135
S I
WS-C3750-2Gig 1/0/1
1#west-3750
Gig 1/0/28
173
S I
WS-C3750G-Gig 1/0/25
2 configure terminal
进入全局配置模式
3 ip arp inspection vlan 103 在VLAN 103上启用
Dynamic ARP Inspection
4 interface GigabitEthernet1/0/28
进入第
28
端口
5 ip arp inspection trust
将端口设置为受信任端口
The switch does not check ARP packets that it receives from the other switch on the trusted interface. It simply forwards the packets.
6 end
配置完成后可以用如下命令观察
Dynamic ARP Inspection
的运行情况
show arp access-list
[
acl-name
] Displays detailed information about ARP ACLs.
show ip arp inspection interfaces
[
interface-id
] Displays the trust state and the rate limit of ARP packets for the specified interface or all interfaces.
Interface
Trust State
Rate (pps)
Burst Interval
---------------
-----------
----------
--------------
Gi1/0/21
Untrusted
15
1
Gi1/0/22
Trusted
None
N/A
Gi1/0/23
Untrusted
15
1
Gi1/0/24
Trusted
None
N/A
Gi1/0/25
Untrusted
15
1
Gi1/0/26
Untrusted
15
1
Gi1/0/27
Trusted
None
N/A
Gi1/0/28
Untrusted
None
N/A
show ip arp inspection vlan
vlan-range
,
Displays the configuration and the operating state of dynamic ARP inspection for all VLANs configured on the switch, for a specified VLAN, or for a range of VLANs.
yql-2#-3750#sh ip arp inspection vlan 103
Source Mac Validation
: Disabled
Destination Mac Validation : Disabled
IP Address Validation
: Disabled
Vlan
Configuration
Operation
ACL Match
Static ACL
----
-------------
---------
---------
----------
103
Enabled
Active
Vlan
ACL Logging
DHCP Logging
----
-----------
------------
103
Deny
Deny
注意事项:
DHCP Snooping
l
在配置
DHCP Snooping
以前,必须确认该设备作为
DHCP
服务器。
l
建议对非信任端口的上限不要超过
100
。对于被设置为受信任的
trunk
端口,需要适当增加
Dynamic ARP Inspection
必须限制
trunk
端口处理
ARP
包的数量
五、一些问题的讨论
在实际使用过程中我们发现,在配置完上述命令后,
Cisco 3750
交换机会在运行一段时间以后变得缓慢,
CPU
利用率达到
100
%,性能严重下降。经过分析我们发现,在开始应用
Dynamic ARP Inspection
时,交换机会记录大量的数据包,当端口通过的数据包过多时,交换机会认为遭受
DoS
***,从而将端口自动
errdisable
,造成通信中断。为了解决这个问题,我们需要加入命令
errdisable recovery cause arp-inspection
。
由于
Cisco 3750
交换机能力有限,因此我们建议在使用
Cisco 3750
交换机配置上述命令时应逐级增大
port limit rate
。
六、小结
DHCP
服务在网络中的广泛应用,极大地减轻了网络管理员的负担,方便了用户使用网络。但是由于有些用户私自指定
IP
地址,造成了
IP
地址自动分配时引起的
IP
地址冲突,进而影响其他用户的使用。我们经过实际测试,给出了上述解决方案,本方法不仅适合于
Cisco
的
3750
交换机,也适用于
Cisco
的
65
系列交换机。
DHCP
防指定
IP
地址的方法在我校已经得到了成功的应用,经过实践检验,我们认为这是一个非常实用的功能。在系统设置好以后,网络中的用户只有设置为自动获取
IP
地址才能上网,否则将无法上网。从而解决了在使用
DHCP
的网络中,用户私自指定
IP
地址而带来的
IP
地址冲突问题。
×××研究生院 史剑雄 罗铁坚 吴昊