DHCP下私自指定IP和私自搭建DHCP

 网络管理员:现在用户真是不省心,自己改个IP地址;私接AP、忘关DHCP,还有的下个小黑客程序,就想在你内网里试试。单靠交换机能管吗?

  测试工程师:能!很多交换机上的小功能都可帮大忙。

  测试实况:

  IP与MAC绑定

  思科的Catalyst 3560交换机支持DHCP Snooping功能,交换机会监听DHCP的过程,交换机会生成一个IP和MAC地址对应表。思科的交换机更进一步的支持IP source guard和Dynamic ARPInspection功能,这两个功能任启一个都可以自动的根据DHCP Snooping监听获得的IP和MAC地址对应表,进行绑定,防止私自更改地址。

  Dynamic ARP Inspection功能还有一个好处是可以防范在2层网络的中间人攻击(见图4)。

  思科在DHCP Snooping上还做了一些非常有益的扩展功能,比如Catalyst 3560交换机可以限制端口通过的DHCP数据包的速率,粒度是pps,这样可以防止对DHCP服务器的进行地址请求的DoS攻击。另外Catalyst 3560交换机还支持DHCP Tracker,在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提供的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类型、VLANID以及来自本地非信任端口的接口信息,但不包含通过受信任端口互相连接的接口信息。在启用了DHCP Snooping的VLAN中,如果交换机收到来自非信任端口的DHCP包,交换机将对目的MAC地址和DHCP客户端的地址进行对比,如果符合则该包可以通过,否则将被丢弃掉。

  在下述情况中,DHCP包将同样被丢弃:

  l 来自外网或者防火墙的DHCP服务器,包括DHCPOFFER、DHCPACK、DHCPNAK、DHCPLEASEQUERY.

  l 来自非信任端口,且目的MAC地址和DHCP客户端的硬件地址不匹配。

  l 交换机收到DHCPRELEASE或者DHCPDECLINE的广播信息,其MAC地址包含在DHCPsnooping 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 ARPInspection两项技术,以保证网络的正常运行。

  该公寓网络设备使用情况如下,接入层为××台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 vlan103 在VLAN 103中启用DHCP Snooping

  4 ip DHCP snooping information option Enable the switchto 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:A17: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:805 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

接下来配置Dynamic ARPInspection

  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 vlan103 在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包的数量

  五、一些问题的讨论

  在实际使用过程中我们发现,在配置完上述命令后,Cisco3750交换机会在运行一段时间以后变得缓慢,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地址冲突问题。

  如果公司内网由于用户自行安装了WindowsServer版本的操作系统而小心启用了DHCP服务,或其他因素在内网中出现了非授权的DHCP服务器,会给网络造成什么样的影响呢?

  DHCP server可以自动为用户设置网络IP地址、掩码、网关、DNS、WINS等网络参数,简化了用户网络设置,提高了管理效率。但是,此时如果服务器和客户端没有认证机制,网络上存在的非法的DHCP服务器将会给部分主机的地址分配、网关及DNS参数照成混乱,导致主机无法连接到外部网络。出现这种情况,如何解决这些问题呢?

  作为客户端计算机来说,可以尝试使用ipconfig /release释放获得的网络参数后,然后用ipconfig /renew重新尝试获取正确的DHCP服务器配置服务,但这种方法很被动,往往要十几次甚至几十次才偶尔有可能成功一次,不能从根本解决问题。

  另外一个解决办法,在windows系统组建的网络中,如果非法DHCP服务器也是用Windows系统建立的话我们可以通过“域”的方式对非法DHCP服务器进行过滤。将合法的DHCP服务器添加到活动目录(Active Directory)中,通过这种认证方式就可以有效的制止非法DHCP服务器了。原理就是没有加入域中的DHCP Server在相应请求前,会向网络中的其他DHCP Server发送DHCPINFORM查询包,如果其他DHCP Server有响应,那么这个DHCP Server就不能对客户的要求作相应,也就是说网络中加入域的DHCP服务器的优先级比没有加入域的DHCP服务器要高。这样当合法DHCP存在时非法的就不起任何作用了。

  授权合法DHCP的过程如下:

  第一步:开始->程序->管理工具->DHCP

  第二步:选择DHCP root, 用鼠标右键单击,然后浏览选择需要认证的服务器。

  第三步:点“添加”按钮, 输入要认证的DHCP服务器IP地址, 完成授权操作。

  但是该方法只适用于非法DHCP服务器是windows系统,需要用到域和活动目录,配置较复杂,另外对于非Windows的操作系统,就显得力不从心了。

  还有更好的方法,就是利用交换机的DHCP监听,通过建立和维护DHCP Snooping绑定表过滤不可信任的DHCP信息,也就是过滤掉非法DHCP服务器向网络上发送的数据包。首先定义交换机上的信任端口和不信任端口,将DHCP服务器所连接的端口定义为信任端口,其它连接到普通客户端的端口全部定义为不信任端口,对于不信任端口的DHCP报文进行截获和嗅探,drop掉来自这些端口的非正常 DHCP 报文,从而达到过滤非法DHCP服务器的目的。

  基本配置示例:

  switch(config)#ip DHCP snooping vlan 100,200

  /* 定义哪些 VLAN 启用 DHCP 嗅探

  switch(config)#ip DHCP snooping

  switch(config)#int fa4/10 /* DHCP服务器所在端口

  switch(config-if)#ip DHCP snooping trust

  switch(config)#int range fa3/1 - 48 /* 其它端口

  switch(config-if)#no ip DHCP snooping trust (Default)

  switch(config-if)#ip DHCP snooping limit rate 10 (pps)

  /* 一定程度上防止 DHCP 拒绝服 /* 务攻击

你可能感兴趣的:(职场,DHCP,休闲)