用DHCP管理局域网

www.net130.com     日期:2006-4-6    浏览次数:
作者:吕旭峰    出处:《网管员世界》

对于一定规模的局域网,我们一般使用DHCP服务来动态处理客户端的IP地址配置。可是当某一客户通过DHCP联入本地局域网,就可以访问本地共享资源或带来病毒,给我们的本地网络带来安全隐患。如何才能防止未经授权的机器得到公司网络中机器的DHCP地址信息呢?

  局域网中的机器要进行网络通讯或资源存取前,必须进行基本的网络参数配置(如IP、DNS、网关等),这种参数可以静态分配或动态获得。手工配置地址虽然可靠,但对于一定规模的局域网相当费时并容易出错。这时我们需要用到DHCP服务(动态主机配置协议),来动态处理客户端的IP地址配置。

  DHCP可以通过租约和预置IP相联系,提供为本地TCP/IP网络上自动并安全地分配和租用IP地址信息,从而实现IP的集中式管理,基本上不需要管理员的人为干预。但事情总会有其两面性,虽然DHCP服务可以自动地为客户端分配IP信息,可是当某一客户通过DHCP联入本地局域网,就可以访问本地共享资源或一些敏感资料。即使对方没有恶意,但客户机上可能有一些病毒或木马会危害本地网络的安全。所以,不仅是服务器端需要安全配置,对客户端也应该有些针对性的管理。

  其实我们可以为客户端的机器创建一个DHCP类,在DHCP服务器上为该类指定一个网关、DNS信息,如果没有此DHCP类的机器将无法得到此网关或DNS信息,当然也就无法取得相关配置或权限,如因特网的访问权。这里我们来探讨如何设置DHCP类,来防止未经授权的机器得到公司网络中机器的DHCP地址信息(以下操作皆在同一网段内实现)。

  创建DHCP用户类或供应商类
  
  1.创建一个新用户或者提供商选项类

  (1) 启动DHCP管理器,在控制台树结构中,点击“可使用的DHCP服务器”。这里我们右击“winsrv服务器”,然后点击“定义用户类”来创建一个新的用户类,或者点击“定义提供商类”来创建一个新的提供商类。点击“添加”。
  
  (2)在“新建类别”对话框中,在“显示名字”编辑框中为新的选项输入一个描述性的标识名字,在这里我们输入“long”,在“说明”框中您也可以随意添加附加信息,这里为了方便我们省略了。在ID或者ASCII下输入由DHCP客户端提供的数据,DHCP服务器服务中要用这些数据来匹配类ID。点击“文本输入框”的左侧,以十六进制字节数值输入数据。点击文本输入框的右侧,以ASCII文本字符值输入数据。这里我们还是输入“long”,点击“确定”,然后点击“关闭”。

  至此我们已经定义好了一个 ID为Long的DHCP用户类,下面需要对此用户类进行配置。

  2. 配置用户类

  右击“作用域选项”,选择“高级”,在下面的“用户类别”中选择刚才创建的用户类别“Long”,然后在下面的可用选项中选择需要配置的选项,一般我们选择“003路由器”和“006 DNS服务器”,以及“051 租约”等选项。DNS的设置选择“006 DNS服务器”,在下面的IP地址输入本地DNS服务器地址,按“添加”就可以了如下图


  路由器的设置基本一样。对于租约的填写,需要注意的是在下面的长类型中要输入的是16进制的数字,比如我们假设租约为10天(即864000秒),直接输入十进制864000,按“确定”,系统会自动显示为16进制数。

  为客户机设置指定的DHCP类ID串

  连接到基于Windows 2000的DHCP服务器的客户端计算机,可以使用下面的命令来设置指定的DHCP类ID串:
  ipconfig /setclassid adapter_name class_id

  例如,要对一个称之为“局域网连接”的网卡配置用户类ID为“myuserclass”的DHCP类,只需要在命令行中输入ipconfig /setclassid “Local Area Connection” myuserclass,然后按下回车即可。在客户端只有一块网卡,所以这里也可以这样写 “ipconfig /setclassid * long”,星号代表本地所有连接,这样客户端就会使用ID为Long的DHCP用户类。图2为已配置好的Windows 2000系统客户端的本地网络参数。

  从下图中我们可以看到,租约为10天,就是我们刚才配置的租期。DHCP Class ID 为long,DNS Servers和DHCP Servers还有网关皆为先前所设定值。大功告成啦!

  目的基本达到了,可是总是会有新的问题出现。显然这种手动为客户端设置的方法工作量是很大的,为了解决这个问题,我们可以通过域给客户端设置登录脚本,让用户登录域的同时自动执行此脚本。

  设置登录脚本

  首先编写一个批处理文件DHCP.BAT。
  Echo
  Ipconfig/setclassid * long (*代表所有本地连接,这里针对的是客户端只有一块网卡)


  将此脚本放在DC的NETLOGON目录下,并在域中为相应的OU或用户设置登录脚本,这样当用户登录到域时,会自动执行这个脚本命令,客户端也会得到相应的IP配置信息,这样未被授权的用户就没办法登录网络。

  当然我们还可以对DHCP服务器进行授权管理,这需要通过DC上的DHCP服务对域内的其他服务器进行连接,并授权管理,这样未被授权的DHCP服务器在域中也是没有办法运行的。

相关新闻