2024年5月7日发(作者:)

域控制DHCP

一般我们使用的操作系统都是Windows,微软为我们提供了一个官方

解决办法。在windows系统组建的网络中,如果非授权DHCP服务器

也是用Windows系统建立的话我们可以通过“域”的方式对非授权

DHCP服务器进行过滤。将合法的DHCP服务器添加到活动目录(Active

Directory)中,通过这种认证方式就可以有效的制止非授权DHCP服

务器了。

原理就是没有加入域中的DHCP Server在相应请求前,会向网络

中的其他DHCP Server发送DHCP INFORM查询包,如果其他DHCP

Server有响应,那么这个DHCP Server就不能对客户的要求作相应,

也就是说网络中加入域的DHCP服务器的优先级比没有加入域的DHCP

服务器要高。这样当合法DHCP存在时非授权的就不起任何作用了。

授权合法DHCP的过程如下:

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

第二步:选择DHCP root, 用鼠标右键单击,然后浏览选择需要

认证的服务器。

第三步:点“添加”按钮, 输入要认证的DHCP服务器IP地址,

完成授权操作。

这种方法效果虽然不错,但需要域的支持。要知道对于众多中小

企业来说“域”对他们是大材小用,基本上使用工作组就足以应对日

常的工作了。所以这个方法是微软推荐的,效果也不错,但不太适合

实际情况。另外该方法只适用于非授权DHCP服务器是windows系统,

对非Windows的操作系统甚至是NT4这样的系统都会有一定的问题。

3、路由交换设备上封杀:

有的路由交换设备自身功能比较强,例如具有extreme功能,他

可以自动抑制非授权dhcp的数据包。如果没有extreme功能我们如

何提前预防非授权DHCP服务器的接入呢?

首先需要对DHCP数据包使用的端口有所了解,DHCP服务主要使

用的是UDP的67和68端口,服务器端应答数据包使用68端口,67

端口为客户机发送请求时使用。所以我们可以在路由器和交换机上通

过访问控制列表来屏蔽除合法DHCP服务器以外的所有DHCP应答包,

也就是说将68端口封闭。

具体命令为:

access-list 108 deny udp any eq 68 any (图1)

图1

这种方法也同样只对于WINDOWS操作系统的DHCP服务器有效,

对于在其他操作系统上建立的DHCP服务器则无法完全过滤。而且大

量的ACL也会降低路由交换设备的性能,使网络速度受到一定的影

响。

4、另类方法干扰非授权DHCP服务器:

在实际使用中笔者发现了一个另类的方法,该方法和上面介绍的

消极防范结合起来使用效果还算不错。这个方法就是只要知道非授权

的DHCP的IP,找台电脑设置和他同样的IP,能降低非授权DHCP发

放的数量,这样在执行ipconfig /release和ipconfig /renew时获

得合法网络信息的概率大大提高。

5、行政方法:

其实和众多网络管理方法一样,制定规范合理严格的规章制度是

减小网络故障产生的最好手段。我们可以通过制度来约束网络中非授

权服务的产生,对于提供非授权服务的用户给予行政上的处罚。

6、实打实屏蔽非授权DHCP服务器:

操作步骤如下:

第一步:知道了非授权DHCP服务器的IP地址后使用ping -a ip

来反向查看他的计算机主机名。

第二步:根据ARP命令查询该计算机对应的MAC地址,也可以到

合法DHCP服务器上查看缓存池中该IP对应的MAC地址。

(提示:屏蔽非授权DHCP服务器一定要从MAC地址来入手,因为

IP地址可以修改而且自动获得IP的方法很多,获得的参数也会产生

变化。)

第三步:知道了MAC地址后登录交换机执行sh mac address显

示所有MAC地址与交换机端口的对应关系。(图2)

图2

第四步:我们就可以从显示的对应关系列表中查看到该MAC对应

的端口号了,如果端口比较多还可以使用“sh mac address add

0011.5b5c.6214”这样的格式来查询0011.5b5c.6214这个MAC地址

对应的端口。(如图3)

图3

第五步:找到对应的端口后通过int命令进入该接口,然后使用

shutdown关闭该接口,从而阻断了该计算机与外界的联系。(如图4)

图4

这种方法存在一个问题,那就是如果使用的是集线器连接下方设

备时,会在交换机上的一个端口学习到多个MAC地址,如果我们直接

将该端口通过shutdown命令关闭的话,则集线器连接的所有设备都

无法使用网络了。遇到这种情况我们可以使用基于MAC地址的访问控

制列表来控制。具体命令为:

Quote: mac accesss-list extended softer

deny host 0011.5b5c.6214 any

permit any any

然后在进入非授权DHCP所在的交换机端口执行如下命令:

Quote: mac access-group softer in

设置完毕后就阻止了MAC地址为0011.5b5c.6214的计算机对外

网的访问,而又不影响连接到同一台集线器上的其他设备。