【摘  要】:本文就在网络中使用DHCP服务时经常会遇到由于的用户指定IP地址,而造成的IP地址分配问题提出了解决办法,并给出了具体的实例。<?XML:NAMESPACE PREFIX = O />

一、引言

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
InterfaceTrustedRate limit (pps)
-----------------------------------------------
GigabitEthernet1/0/22yesunlimited
GigabitEthernet1/0/24yesunlimited
GigabitEthernet1/0/27yesunlimited
GigabitEthernet1/0/28no500
show ip dhcp snooping binding,得到如下信息:
MacAddressIpAddressLease(sec)TypeVLANInterface
-----------------------------------------------------------------------------------------------------------------------
00:11:09:11:51:16210.77.5.2013209dhcp-snooping103GigabitEth ernet1/0/28
00:50:8D:63:5A:05210.77.6.1342466dhcp-snooping103GigabitEthernet1/0/28
00:E0:4C:A1:D7:80210.77.4.263070dhcp-snooping103GigabitEthernet1/0/28
00:0F:EA:A8:BC:22210.77.5.1981887dhcp-snooping103GigabitEthernet1/0/28
10:E0:8C:50:80:D5210.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-snooping103 GigabitEthernet1/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
--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 IDLocal Intrfce HoldtmeCapabilityPlatformPort ID
apGig 1/0/23 149TAIR-AP1230Fas 0
hall-3750Gig 1/0/27135S IWS-C3750-2Gig 1/0/1
1#west-3750Gig 1/0/28173S IWS-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.
InterfaceTrust StateRate (pps)Burst Interval
--------------- -----------------------------------
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
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
VlanConfigurationOperationACL MatchStatic ACL
---------------------------------------------
103EnabledActive
VlanACL LoggingDHCP Logging
---------------------------
103DenyDeny
注意事项:
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地址冲突问题。
×××研究生院 史剑雄 罗铁坚 吴昊

转载于:https://blog.51cto.com/hsw139/117130

DHCP Snooping,Dynamic ARP Inspection实现相关推荐

  1. Dynamic ARP Inspection(动态ARP检测)功能,简称DAI

    Dynamic ARP Inspection简介: Dynamic ARP Inspection(动态ARP检测)功能,简称DAI功能.通过检查ARP(Address Resolution Proto ...

  2. DAI(dynamic arp inspection)

    DAI(dynamic arp inspection) 是一种能够验证网络中ARP数据包的安全特性,可以防止中间人攻击. 通常需要和DHCP的snooping结合使用,因为要利用到DHCP snoop ...

  3. Dynamic ARP Inspection

    DAI -Dynamic ARP Inspection 一.DAI是什么? 一.DAI是什么? DAI全名係Dynamic ARP Inspection, 動態ARP檢測.它是一種網絡安全機制,用作保 ...

  4. 解决IP地址冲突的方法--DHCP SNOOPING

    使用的方法是采用DHCP方式为用户分配IP,然后限定这些用户只能使用动态IP的方式,如果改成静态IP的方式则不能连接上网络:也就是使用了DHCP SNOOPING功能. 例子: version 12. ...

  5. DAI、DHCP SNOOPING、ip source guard、IPSG

    switch  3560上做安全: 模型:R1 and R2 (dhcp client )-->SW 3560-->R3(dhcp server)所有设备在同一个VLAN. R1 and ...

  6. ip dhcp snooping的设置

    对于DHCP我们这次主要讲解的是ip dhcp snooping的设置.通过文章的内容.大家能够对此有一个全面的掌握. 我们学习网络协议的内容已经不少了,对于DHCP来说,也接触了不少.那么接下来我们 ...

  7. 怎么理解DHCP Snooping?

    DHCP Snooping是 DHCP 的一种安全特性,主要应用在 交换机 上,作用是屏蔽接入网络中的非法的 DHCP 服务器. 即开启 DHCP Snooping 功能后,网络中的客户端只有从管理员 ...

  8. IP安全讲解(DHCP Snooping、IPSG、DAI)

    目录 DHCP Snooping 与DHCP Snooping联动技术 IP源防攻击技术(IPSG) 动态ARP检测技术(DAI) 配置DHCP Snooping DHCP Snooping DHCP ...

  9. dhcp snooping华为_华为防火墙配置DHCP Snooping保护DHCP服务器

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 DHCP Snooping是一种DHCP安全特性,通过MAC地址限制.DHCP Snooping安全绑定.IP + MAC绑定.Option82特性等功能 ...

  10. 华为DHCP Snooping原理及其实验配置

    创作不易,记得点个赞哦 目录 1.DHCP  Snooping原理 2. DHCP仿冒者攻击 2.1 DHCP仿冒者攻击解决办法 2.2 仿冒者攻击实验 2.2 仿冒者攻击解决办法 2.2.1 静态绑 ...

最新文章

  1. LSTM为何如此有效?
  2. Linux 内核测试版与稳定版的版本号有什么不同?
  3. 东南大学成贤学院计算机报名,东南大学成贤学院2017年9月计算机等级考试报名办法...
  4. 漫画版:如何学习单片机?
  5. HDU - 1495 - 非常可乐
  6. php怎么把数组索引,如何在php中获取数组索引号?
  7. 基于vue + element 的后台管理系统
  8. 服装这个行业其实一直有点尴尬
  9. centos下安装php-fpm,centos下怎么安装php-fpm
  10. (转)驱动开发之五 --- TDI之八 【译文】
  11. matlab安装vlfeat-0.9.18出错
  12. [Proteus8]使用proteus8对单片机进行模拟仿真,记录方波图出现的过程
  13. CentOS Linux操作系统
  14. 《必然》二、奔跑吧,所有人都是菜鸡
  15. java连接云服务Hadoop伪分布式错误:Call From LAPTOP-14BPR3NI/192.168.1.2 to node1:9000 failed on connection
  16. sql查询包含某个字符_MySQL DBA基本知识点梳理和查询优化
  17. java求sobel算子代码_sobel算子原理及opencv源码实现
  18. Qt在 Mac系统发布程序(widgets和quick2)生成dmg安装文件。
  19. I2C-pcf8563
  20. 写给初学者:电气制图规范和图纸识读方法——第二期

热门文章

  1. 静静期待 Windows 7 的到来
  2. 问题:虚拟环境名字相同遇到bug,please specify a different sdk name?
  3. UOJ356 [JOI2017春季合宿] Port Facility 【启发式合并】【堆】【并查集】
  4. Android中Adapter之BaseAdapter使用
  5. 如何在Android应用里对HTTP请求头部添加适当的User-Agent字段
  6. CString.Format详解【摘录】
  7. C# 读写锁 ReaderWriteLock
  8. Python Extension
  9. JavaScript中B继承A的方法
  10. freeCodeCamp:Confirm the Ending