解决在DHCP环境下私自指定ip和私自搭建dhcp服务器的方法.docx
《解决在DHCP环境下私自指定ip和私自搭建dhcp服务器的方法.docx》由会员分享,可在线阅读,更多相关《解决在DHCP环境下私自指定ip和私自搭建dhcp服务器的方法.docx(12页珍藏版)》请在冰豆网上搜索。
解决在DHCP环境下私自指定ip和私自搭建dhcp服务器的方法
解决在DHCP环境下私自指定ip和私自搭建dhcp服务器的方法...
网络管理员:
现在用户真是不省心,自己改个IP地址;私接AP、忘关DHCP,还有的下个小黑客程序,就想在你内网里试试。
单靠交换机能管吗?
IP与MAC绑定
思科的Catalyst3560交换机支持DHCPSnooping功能,交换机会监听DHCP的过程,交换机会生成一个IP和MAC地址对应表。
思科的交换机更进一步的支持IPsourceguard和DynamicARPInspection功能,这两个功能任启一个都可以自动的根据DHCPSnooping监听获得的IP和MAC地址对应表,进行绑定,防止私自更改地址。
DynamicARPInspection功能还有一个好处是可以防范在2层网络的中间人攻击。
思科在DHCPSnooping上还做了一些非常有益的扩展功能,比如Catalyst3560交换机可以限制端口通过的DHCP数据包的速率,粒度是pps,这样可以防止对DHCP服务器的进行地址请求的DoS攻击。
另外Catalyst3560交换机还支持DHCPTracker,在DHCP请求中插入交换机端口的ID,从而限制每个端口申请的IP地址数目,防止黑客程序对DHCP服务器进行目的为耗尽IP地址池的攻击。
华硕虽然不能调整速率,但是也会限制DHCP请求的数量。
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提供的DHCPSnooping技术和DynamicARPInspection技术,可以有效地防止以上问题的发生。
这里首先对两种技术做一个简要的介绍,然后将给出一个应用实例加以说明。
DHCPSnooping技术
DHCPSnooping是一种通过建立DHCPSnoopingBinding数据库,过滤非信任的DHCP消息,从而保证网络安全的特性。
DHCPSnooping就像是非信任的主机和DHCP服务器之间的防火墙。
通过DHCPSnooping来区分连接到末端客户的非信任接口和连接到DHCP服务器或者其他交换机的受信任接口。
DHCPSnoopingBinding数据库包括如下信息:
MAC地址、IP地址、租约时间、binding类型、VLANID以及来自本地非信任端口的接口信息,但不包含通过受信任端口互相连接的接口信息。
在启用了DHCPSnooping的VLAN中,如果交换机收到来自非信任端口的DHCP包,交换机将对目的MAC地址和DHCP客户端的地址进行对比,如果符合则该包可以通过,否则将被丢弃掉。
在下述情况中,DHCP包将同样被丢弃:
来自外网或者防火墙的DHCP服务器,包括DHCPOFFER、DHCPACK、DHCPNAK、DHCPLEASEQUERY。
来自非信任端口,且目的MAC地址和DHCP客户端的硬件地址不匹配。
交换机收到DHCPRELEASE或者DHCPDECLINE的广播信息,其MAC地址包含在DHCPsnoopingbinding数据库中,但与数据库中的接口信息不匹配
通过DHCP中继代理转发的包不包括在内
DynamicARPInspection技术
DynamicARPinspection是一种验证网络中ARP包的安全特性,可以阻止、记录并丢弃非法IP和MAC地址绑定的ARP包。
DynamicARPinspection保证只有合法的ARP请求和响应可以传播。
交换机会完成如下工作,截取所有来自非信任端口ARP请求和响应,在更新ARP缓存或传播数据包之前验证所截取的数据包IP-MAC地址绑定是否合法,丢弃非法的ARP包。
前面提到,DHCPSnooping会建立一个包含合法IP-MAC地址绑定信息的数据库,DynamicARPinspection基于该数据库检验所截取ARP包的合法性。
如果ARP包来自非信任接口,那么只有合法的可以通过。
如果来自受信任端口,将可以直接通过。
积分
35622
当前离线
注册时间
2005-11-29
最后登录
2011-5-19
论坛详细资料
应用实例
我校1#学生公寓,PC拥有数量大约1000台。
采用DHCP分配IP地址,拥有4个C类地址,实际可用地址数约1000个。
由于楼内经常存在私开的DHCP服务器,导致大量主机无法分配到合法IP地址;另外,由于有相当数量的主机指定IP地址,因此造成了与DHCP分配的IP地址冲突。
以上两方面,均造成了该公寓楼大量主机无法正常访问网络。
经过一段时间的分析、实验,我们决定对该公寓楼部署DHCPSnooping和DynamicARPInspection两项技术,以保证网络的正常运行。
该公寓网络设备使用情况如下,接入层为××台Cisco2950交换机上联至堆叠的4台Cisco3750,再通过光纤上联至汇聚层的Cisco3750交换机。
同时汇聚层的Cisco3750交换机还兼做DHCP服务器。
部署过程
首先按如下过程配置DHCPSnooping
1configureterminal
2ipdhcpsnooping在全局模式下启用DHCPSnooping
3ipdhcpsnoopingvlan103在VLAN103中启用DHCPSnooping
4ipdhcpsnoopinginformationoptionEnabletheswitchtoinsertandremoveDHCPrelayinformation(option-82field)inforwardedDHCPrequestmessagestotheDHCPserver.Thedefaultisenabled.
5interfaceGigabitEthernet1/0/28,进入交换机的第28口
6ipdhcpsnoopingtrust将第28口设置为受信任端口
7ipdhcpsnoopinglimitrate500设置每秒钟处理DHCP数据包上限
8end退出
完成配置后,可用如下命令观察DHCPSnooping运行状况:
showipdhcpsnooping
得到如下信息:
SwitchDHCPsnoopingisenabled
DHCPsnoopingisconfiguredonfollowingVLANs:
103
Insertionofoption82isenabled
Verificationofhwaddrfieldisenabled
InterfaceTrustedRatelimit(pps)
-----------------------------------------------
GigabitEthernet1/0/22yesunlimited
GigabitEthernet1/0/24yesunlimited
GigabitEthernet1/0/27yesunlimited
GigabitEthernet1/0/28no500
showipdhcpsnoopingbinding,得到如下信息:
MacAddressIpAddressLease(sec)TypeVLANInterface
-----------------------------------------------------------------------------------------------------------------------
00:
11:
09:
11:
51:
16210.77.5.2013209dhcp-snooping103GigabitEthernet1/0/28
00:
50:
8D:
63:
5A:
05210.77.6.1342466dhcp-snooping103GigabitEthernet1/0/28
00:
E0:
4C:
A17:
80210.77.4.263070dhcp-snooping103GigabitEthernet1/0/28
00:
0F:
EA:
A8:
BC:
22210.77.5.1981887dhcp-snooping103GigabitEthernet1/0/28
10:
E0:
8C:
50:
805210.77.5.953034dhcp-snooping103GigabitEthernet1/0/28
00:
03:
0D:
0E:
9A:
A5210.77.6.2303144dhcp-snooping103GigabitEthernet1/0/28
00:
50:
8D:
6C:
08:
9F210.77.4.173012dhcp-snooping103GigabitEthernet1/0/28
00:
E0:
50:
00:
0B:
54210.77.6.183109dhcp-snooping103GigabitEthernet1/0/28
00:
0F:
EA:
13:
40:
54210.77.7.72631dhcp-snooping103GigabitEthernet1/0/28
00:
E0:
4C:
45:
21:
E9210.77.7.772687dhcp-snooping103GigabitEthernet1/0/28
接下来配置DynamicARPInspection
1showcdpneighbors检查交换机之间的连接情况
CapabilityCodes:
R-Router,T-TransBridge,B-SourceRouteBridge
S-Switch,H-Host,I-IGMP,r-Repeater,P-Phone
DeviceIDLocalIntrfceHoldtmeCapabilityPlatformPortID
apGig1/0/23149TAIR-AP1230Fas0
hall-3750Gig1/0/27135SIWS-C3750-2Gig1/0/1
1#west-3750Gig1/0/28173SIWS-C3750G-Gig1/0/25
2configureterminal进入全局配置模式
3iparpinspectionvlan103在VLAN103上启用DynamicARPInspection
4interfaceGigabitEthernet1/0/28进入第28端口
5iparpinspectiontrust将端口设置为受信任端口
TheswitchdoesnotcheckARPpacketsthatitreceivesfromtheotherswitchonthetrustedinterface.Itsimplyforwardsthepackets.
6end
配置完成后可以用如下命令观察DynamicARPInspection的运行情况
showarpaccess-list[acl-name]DisplaysdetailedinformationaboutARPACLs.
showiparpinspectioninterfaces[interface-id]DisplaysthetruststateandtheratelimitofARPpacketsforthespecifiedinterfaceorallinterfaces.
InterfaceTrustStateRate(pps)BurstInterval
--------------------------------------------------
Gi1/0/21Untrusted151
Gi1/0/22TrustedNoneN/A
Gi1/0/23Untrusted151
Gi1/0/24TrustedNoneN/A
Gi1/0/25Untrusted151
Gi1/0/26Untrusted151
Gi1/0/27TrustedNoneN/A
Gi1/0/28UntrustedNoneN/A
showiparpinspectionvlanvlan-range,DisplaystheconfigurationandtheoperatingstateofdynamicARPinspectionforallVLANsconfiguredontheswitch,foraspecifiedVLAN,orforarangeofVLANs.
yql-2#-3750#shiparpinspectionvlan103
SourceMacValidation:
Disabled
DestinationMacValidation:
Disabled
IPAddressValidation:
Disabled
VlanConfigurationOperationACLMatchStaticACL
---------------------------------------------
103EnabledActive
VlanACLLoggingDHCPLogging
---------------------------
103DenyDeny
注意事项:
DHCPSnooping
在配置DHCPSnooping以前,必须确认该设备作为DHCP服务器。
建议对非信任端口的上限不要超过100。
对于被设置为受信任的trunk端口,需要适当增加
DynamicARPInspection
必须限制trunk端口处理ARP包的数量
一些问题的讨论
在实际使用过程中我们发现,在配置完上述命令后,Cisco3750交换机会在运行一段时间以后变得缓慢,CPU利用率达到100%,性能严重下降。
经过分析我们发现,在开始应用DynamicARPInspection时,交换机会记录大量的数据包,当端口通过的数据包过多时,交换机会认为遭受DoS攻击,从而将端口自动errdisable,造成通信中断。
为了解决这个问题,我们需要加入命令errdisablerecoverycausearp-inspection。
由于Cisco3750交换机能力有限,因此我们建议在使用Cisco3750交换机配置上述命令时应逐级增大portlimitrate。
小结
DHCP服务在网络中的广泛应用,极大地减轻了网络管理员的负担,方便了用户使用网络。
但是由于有些用户私自指定IP地址,造成了IP地址自动分配时引起的IP地址冲突,进而影响其他用户的使用。
我们经过实际测试,给出了上述解决方案,本方法不仅适合于Cisco的3750交换机,也适用于Cisco的65系列交换机。
DHCP防指定IP地址的方法在我校已经得到了成功的应用,经过实践检验,我们认为这是一个非常实用的功能。
在系统设置好以后,网络中的用户只有设置为自动获取IP地址才能上网,否则将无法上网。
从而解决了在使用DHCP的网络中,用户私自指定IP地址而带来的IP地址冲突问题。
如果公司内网由于用户自行安装了WindowsServer版本的操作系统而小心启用了DHCP服务,或其他因素在内网中出现了非授权的DHCP服务器,会给网络造成什么样的影响呢?
DHCPserver可以自动为用户设置网络IP地址、掩码、网关、DNS、WINS等网络参数,简化了用户网络设置,提高了管理效率。
但是,此时如果服务器和客户端没有认证机制,网络上存在的非法的DHCP服务器将会给部分主机的地址分配、网关及DNS参数照成混乱,导致主机无法连接到外部网络。
出现这种情况,如何解决这些问题呢?
作为客户端计算机来说,可以尝试使用ipconfig/release释放获得的网络参数后,然后用ipconfig/renew重新尝试获取正确的DHCP服务器配置服务,但这种方法很被动,往往要十几次甚至几十次才偶尔有可能成功一次,不能从根本解决问题。
另外一个解决办法,在windows系统组建的网络中,如果非法DHCP服务器也是用Windows系统建立的话我们可以通过“域”的方式对非法DHCP服务器进行过滤。
将合法的DHCP服务器添加到活动目录(ActiveDirectory)中,通过这种认证方式就可以有效的制止非法DHCP服务器了。
原理就是没有加入域中的DHCPServer在相应请求前,会向网络中的其他DHCPServer发送DHCPINFORM查询包,如果其他DHCPServer有响应,那么这个DHCPServer就不能对客户的要求作相应,也就是说网络中加入域的DHCP服务器的优先级比没有加入域的DHCP服务器要高。
这样当合法DHCP存在时非法的就不起任何作用了。
授权合法DHCP的过程如下:
第一步:
开始->程序->管理工具->DHCP
第二步:
选择DHCProot,用鼠标右键单击,然后浏览选择需要认证的服务器。
第三步:
点“添加”按钮,输入要认证的DHCP服务器IP地址,完成授权操作。
但是该方法只适用于非法DHCP服务器是windows系统,需要用到域和活动目录,配置较复杂,另外对于非Windows的操作系统,就显得力不从心了。
还有更好的方法,就是利用交换机的DHCP监听,通过建立和维护DHCPSnooping绑定表过滤不可信任的DHCP信息,也就是过滤掉非法DHCP服务器向网络上发送的数据包。
首先定义交换机上的信任端口和不信任端口,将DHCP服务器所连接的端口定义为信任端口,其它连接到普通客户端的端口全部定义为不信任端口,对于不信任端口的DHCP报文进行截获和嗅探,drop掉来自这些端口的非正常DHCP报文,从而达到过滤非法DHCP服务器的目的。
基本配置示例:
switch(config)#ipdhcpsnoopingvlan100,200
/*定义哪些VLAN启用DHCP嗅探
switch(config)#ipdhcpsnooping
switch(config)#intfa4/10/*dhcp服务器所在端口
switch(config-if)#ipdhcpsnoopingtrust
switch(config)#intrangefa3/1-48/*其它端口
switch(config-if)#noipdhcpsnoopingtrust(Default)
switch(config-if)#ipdhcpsnoopinglimitrate10(pps)
/*一定程度上防止DHCP拒绝服/*务攻击