在局域网工作环境中,管理几百台工作站的IP地址并不是一个简单的问题,为了有效地解决好这个问题,相信不少局域网管理员都会使用在局域网中架设DHCP服务器的方法来自动为普通工作站分配IP地址,这样就能免去了网络管理人员手工为工作站分配IP地址的重复操作,从而有效地提高了局域网管理效率。可是在实际网络维护过程中可能会遇到这样的现象,那就是当局域网中安装配置了三层交换机,同时根据工作部门的不同将若干台工作站人为划分成了几个VLAN后,局域网中的所有工作站就不能同时从同一台DHCP服务器那里申请得到有效的IP地址了,这是因为DHCP服务器无法工作在多个VLAN中,也就是说局域网中的普通工作站发出的地址申请请求信息是不能在多个Vlan中进行广播的,当普通工作站位于不同VLAN中时,地址申请请求信息就由于不能准确找到普通工作站而发送失败。那怎样才能有效解决这个棘手的问题呢?最简单的方法,无非就是在每一个Vlan中单独架设一台DHCP服务器,不过这样操作的效率往往十分低下,而且也不利于网络的统一管理与维护,因此这种方法的可操作性比较低。其实,在安装、配置了三层交换机的局域网工作环境中,我们可以通过配置三层交换机的中继代理参数,来实现让同一台DHCP服务器服务多个Vlan的目的!

  实现思路

  大家知道,在局域网三层交换机中网络管理员可以很轻松地划分VLAN,而目前市场上推出的三层交换机几乎都支持DHCP中继代理服务,这样一来网络管理员就能直接在三层交换机中为每一个VLAN连接端口安装、配置DHCP中继代理功能,那样的话当局域网中任意一台普通工作站向网络发出地址申请广播信息后,广播信息如果在本地的VLAN中得不到及时应答时,地址申请广播信息就会自动被转交给Vlan连接端口,然后通过该端口的DHCP中继代理功能被转发到位于其他VLAN中的DHCP服务器,DHCP服务器收到地址申请请求信息后会立即进行响应,响应信息又会通过DHCP中继代理功能及时反馈给目标工作站,如此一来局域网任何VLAN中的普通工作站都能从同一台DHCP服务器那里获得有效的IP地址了。

启用中继代理

  依照上面的分析思路,我们需要先对局域网的三层交换机进行适当配置,以便将不同VLAN连接端口的DHCP中继代理服务安装、启用起来,从而确保DHCP客户端请求信息能够在局域网任何一个VLAN中进行广播。无论什么型号、什么品牌的核心交换机,大致的配置步骤都是相同的,不同的只是一些命令格式。为了帮助各位朋友快速地启用DHCP中继代理功能,本文现在以PassPort8600型号的核心三层交换机为操作蓝本,向各位朋友详细介绍启用VLAN连接端口DHCP中继代理功能的具体操作步骤:

  首先通过超级终端登录到局域网三层交换机后台管理界面,并按实际工作要求划分设置好VLAN,之后在命令行状态下输入“conf vlan x ip dhcp-relay enable”字符串命令(其中x为对应虚拟子网的编号,例如1、2、3……),单击回车键后,就能将对应Vlan的DHCP中继代理功能启用起来了。要是本地局域网环境中包含有多个不同Vlan时,我们还需要依次为每一个VLAN启用DHCP中继代理功能。

  在为VLAN启用好DHCP中继代理功能后,我们还需要为Vlan的连接端口启用DHCP中继代理功能,在进行这种操作时,我们可以先在三层交换机后台管理界面的命令行中输入“conf ethernet 1/2 ip dhcp-relay enable”字符串命令(其中“1”表示交换机的插槽号码,“2”表示对应插槽中的端口号码),单击回车键后,就能将对应连接端口的DHCP中继代理功能启用好了。当然,要是我们要启用多个Vlan连接端口的DHCP中继代理功能时,需要依次输入对应端口的命令来启动DHCP中继代理功能。

  在完成上面的配置任务后,我们还需要为Vlan连接端口所使用的IP地址、DHCP服务器地址以及允许工作模式进行适当设置。例如,现在我们要把Vlan1的连接端口IP地址设置成10.176.6.98,对应工作子网的网关地址设置为10.176.6.1,并且将端口工作模式设置为dhcp模式时,那么我们就可以在三层交换机后台管理界面的命令行中输入“conf ip dhcp-relay create-fwd-path agent 10.176.6.98 server 10.176.6.1 mode dhcp state enable”字符串命令,其中10.176.6.98是默认Vlan1连接端口的IP地址,10.176.6.1是对应连接端口所在子网的网关IP地址,dhcp表示端口的工作模式为允许dhcp服务模式,如果模式参数被设置为bootp_dhcp时,那就表示同时允许bootp模式和DHCP模式,在确认上面的字符串命令输入无误后,单击回车键,上述字符串命令就能被成功执行了。按照相同的操作步骤,我们再将Vlan连接端口的IP地址换成其它Vlan的地址,继续完成剩余连接端口的配置任务。

对DHCP服务进行配置

  在对局域网三层交换机的相关参数完成配置操作后,我们下面的工作主要就是在局域网的任意一个VLAN中,架设一台DHCP服务器,并且需要对该服务器的各项参数进行合适配置。为了方便叙述,本文现在就以在Windows Server 2003系统中配置DHCP服务器为例,向各位朋友详细介绍一下DHCP服务器的配置过程,下面就是具体的配置步骤:

  首先以系统管理员身份登录进Windows Server 2003服务器系统,依次单击“开始”/“设置”/“控制面板”命令,在弹出的系统控制面板窗口中双击“管理工具”图标,打开系统的管理工具列表窗口;

  其次双击管理工具列表窗口中的DHCP选项,进入本地服务器系统的DHCP控制台窗口,在该窗口的左侧显示区域用鼠标右键单击服务器主机名称,从弹出的快捷菜单中执行“新建作用域”命令,在其后出现的作用域创建向导对话框中输入新的作用域的名称信息,并单击“下一步”按钮,之后根据向导提示设置好地址池的起始IP地址、结束IP地址以及子网掩码地址等参数;

  之后继续单击“下一步”按钮,在其后的设置对话框中设置好需要排除在外的IP地址范围,出现在这里的IP工作站将无法获取,网络管理员往往会将这些重要的IP地址用于局域网中的服务器主机、路由器设备或防火墙设备等使用,随后向导窗口会提示我们对租约期限参数进行合适配置,该参数的缺省数值为8天,要是局域网中可以使用的IP地址数量比较少时,那么我们可以尝试将该数值调整得稍微小一些,也就是说让IP地址交换的频率适当提高一些,以防止IP地址被长时间占用;不过,对于内网来说,通常IP地址的可用数量都比较多,那么租约期限参数设置得稍微长一些没有什么关系。

 当向导窗口询问我们是否要对客户端的网关地址以及DNS参数进行设置时,我们可以选中对应窗口中的“是,我现在想配置这些选项”选项,之后根据提示正确设置好局域网的网关地址,以及DNS服务器地址,最后激活新创建的作用域就可以了。按照相同的操作方法,我们还需要为局域网中其他创建各自的作用域,如此一来相同的一台DHCP服务器就能为局域网中的多个Vlan提供地址分配服务了。

  小提示

  在更大规模的局域网工作环境中,我们有时需要配置两台或多台DHCP服务器,当其中的一台DHCP服务器遇到意外不能正常工作时,那么另外一台DHCP服务器就能自动启用并承担向局域网工作站分配动态地址的任务,对于普通网络用户来说,这个过程是透明的,普通上网用户根本察觉不到DHCP服务器的运行发生了变化。那么假如局域网中的两台或多台DHCP服务器位于不同位置时,我们该如何高效地管理它们呢?要是对每一台DHCP服务器进行依次管理时,那不但管理不方便,而且工作量也是比较大。事实上,我们可以先选中一台DHCP服务器当作局域网的管理服务器,之后再在该管理服务器中远程管理局域网中的其他DHCP服务器,那样一来网络管理效率就能大大提升了。所以,我们只要将位于其他位置的DHCP服务器依次加入到管理服务器的DHCP控制台窗口中,就能对分散在其他位置处的DHCP服务器进行集中管理了,下面就是具体的操作步骤:

  首先在作为管理服务器的DHCP服务器系统中依次单击“开始”/“程序”/“管理工具”选项,在弹出的本地系统管理工具列表窗口中,双击DHCP图标,进入DHCP服务器控制台界面;

  其次在DHCP控制台界面的左侧显示区域选中“树”目录下面的“DHCP”选项,并用鼠标右键单击该选项,在其后出现的右键菜单中执行“添加服务器”命令,之后选中另外一台DHCP服务器选项,并输入目标服务器的IP地址,最后单击“确定”按钮,如此一来位于其他位置的DHCP服务器就被添加到管理服务器中了,日后我们就能象管理本地DHCP服务器那样对远程DHCP服务器进行任意管理和维护了。









前置知识
1.DHCP协议
DHCP是Dynamic Host Configuration Protocol(动态主机配置协议)的缩写。在常见的小型网络中,IP地址的分配一般都采用静态方式,但在大中型网络中,为每一台计算机分配一个静态IP地址的工作量非常巨大且容易出错。因此在大中型网络中使用DHCP服务是很有效率的。使用DHCP服务,网络管理员可以验证IP地址和其它配置参数,而不用去检查每个主机;DHCP不会同时租借相同的IP地址给两台主机;DHCP管理员可以约束特定的计算机使用特定的IP地址;可以为每个DHCP作用域设置很多选项;客户机在不同子网间移动时不需要重新设置IP地址。
2.三层交换技术
三层交换技术也称为IP交换技术,是一种利用三层协议中的信息来加强第二层交换功能的机制,。三层交换技术具有路由的基本特征。数据报文转发是路由器和三层交换机最基本的功能。路由器具有配置复杂、价格高、吞吐量相对较低和吞吐量变化相对较高等缺点。三层交换技术在很大程度上弥补了路由器的这些缺点。
3.实现DHCP中继
1) DHCP工作原理
DHCP服务器的工作流程如下:
DHCP客户机以广播方式发送dhcpdiscover信息来寻找DHCP服务器,即向地址255.255.255.255发送特定的广播信息。网络上每一台TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应。
在网络中接收到dhcpdiscover信息的DHCP服务器会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的dhcpoffer提供信息。
DHCP客户机接受收到的dhcpoffer提供信息,然后回答一个dhcprequest请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。
当DHCP服务器收到DHCP客户机回答的dhcprequest请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的dhcpack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定。
DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,当租约过了一半时,客户机将和设置它的TCP/IP配置的DHCP更新租约。当租期过了87.5%时,如果客户机仍然无法与当初的DHCP联系上,该客户机必须停止使用该IP地址,并从发送一个dhcpdiscover数据包开始,再一次重复整个过程。
2) 三层交换的工作原理
假设两个使用IP协议的站点A、B通过三层交换机进行通信,发送站点A在开始发送时,把自己的IP地址与B站的IP地址比较,判断B站是否与自己在同一子网内。若目的站B与发送站A在同一子网内,则进行二层的转发。若两个站点不在同一子网内,如发送站A要与目的站B通信,发送站A要向“缺省网关”发出地址解析封包,而“缺省网关”的IP地址其实是三层交换机的三层交换模块。当发送站A对“缺省网关”的IP地址广播出一个ARP请求时,如果三层交换模块在以前的通信过程中已经知道B站的MAC地址,则向发送站A回复B的MAC地址。否则三层交换模块根据路由信息向B站广播一个ARP请求,B站得到此ARP请求后向三层交换模块回复其MAC地址,三层交换模块保存此地址并回复给发送站A,同时将B站的MAC地址发送到二层交换引擎的MAC地址表中。从这以后,从A向B发送的数据包便全部交给二层交换处理,信息得以高速交换。
实际应用中经常会出现A、B两站点不在同一子网内的情况,这就要求我们掌握三层交换机的虚网配置,cisco标准命令格式如下:
Switch>enable
Switch#vlan database
Switch(Vlan)#vlan 2 name server
Switch(vlan)#exit Switch#config terminal
Switch(Config)#interface vlan 2
Switch(Config-vlan)#ip address 192.168.1.1 255.255.255.0
Switch(Config-vlan)#no shutdown Switch(Config-vlan)exit
Switch(Config)#interface range fastethernet 0/1 – 24
Switch(Config-if-range)#switchport mode access
Switch(Config-if-range)#spanning-tree portfast
Switch(Config-if-range)#exit Switch(Config)#interface range fastethernet 0/1 – 2
Switch(Config-if-range)#switchport access vlan 2
Switch(Config-if-range)#exit 3)技术分析
从DHCP的工作原理我们可以看出,在客户机和服务器之间进行联系的消息以广播的形式进行,这在一个基于共享或没有划分VLAN的交换网络中是很容易实现的。当网络划分了多个VLAN后,广播信息只限于客户机所在的VLAN。如果客户机和DHCP服务器不在同一个VLAN中,请求信息将不能传送到DHCP服务器,也就不能自动地获得IP地址及相关配置参数。针对这个问题,我们可以在每个VLAN中都设置一台DHCP服务器,客户机通过位于同一个VLAN的DHCP服务器获得IP地址、子网掩码、默认网关和DNS服务器地址等信息。但这种解决方式需要设置多台计算机作为DHCP服务器,不仅需要较多的资金投入而且服务器的维护工作量也比较大。三层交换机中的DHCP中继功能很好地解决了这些问题。通过启动每个VLAN及三层交换机中相关端口的DHCP中继功能,VLAN的接口地址(默认网关)收到该VLAN中客户机发出的DHCP请求广播信息后,由该默认网关充当DHCP代理的角色将请求信息转发给DHCP服务器。在DHCP中继中,每个VLAN的接口地址都作为该VLAN的DHCP代理。利用DHCP中继功能只需要在网络中设置一台DHCP服务器即可,并且DHCP服务器可以位于任何一个VLAN中,只需要在设置DHCP中继参数的时候,指定DHCP服务器的地址就可以了。
4) 配置三层交换机为DHCP中继代理
首先要启用DHCP中继代理,否则即使在vlan中指定DHCP服务器,客户机也无法获取IP地址。Cisco标准命令格式如下:
Switch>enable
Switch#config terminal
Switch(config)service dhcp
switch(config)ip dhcp relay information option
中继代理启用后,只需要在设置DHCP中继参数的时候,指定DHCP服务器的地址即可。假设DHCP服务器在vlan1中,它的IP地址为192.168.1.10。则cisco标准命令格式如下:
Switch(config)interface vlan 2 Switch(config-if)ip helper-address 192.168.1.10 Switch(config-if)exit

应用实例
1.需求分析
A大学的几位大学生自主创业,筹建一科研性企业,该企业由行政部、研发部和财务部组成。为了适应社会发展的形势,计划组建一个小型局域网。考虑到公司将来的发展规模和机密信息的安全性问题,提出如下要求:
1.初期投资尽量节约。
2.研发部和财务部不允许互相访问,但都可以访问服务器所在的行政部。
3.拒绝来自外部的一切访问。
4.允许内部用户访问外网。
3.详细设计
考虑到该公司刚成立,经济能力一般,所以使用一台cisco 4006交换机,划分三个vlan:vlan2为行政部所在网络也是服务器所在网络,命名为server,IP地址段为210.28.182.0,子网掩码:255.255.255.0,网关:210.28.182.1。域服务器为windows 2000高级服务器, 同时兼作DHCP服务器、DNS服务器,IP地址为210.28.182.10。vlan3为研发部所在网络,IP地址段为210.28.183.0,子网掩码:255.255.255.0,网关:210.28.183.1命名为research。vlan4为财务部所在网络,命名为finance,IP地址段为210.28.184.0,子网掩码:255.255.255.0,网关:210.28.184.1。3550作DHCP服务器,端口1-8划到vlan 2,端口9-16划分到vlan 3,端口17-24划分到vlan 4。
4.具体配置
配置命令及步骤如下:
第一步:配置enable口令和主机名:
Switch>
Switch>enable
Switch#config terminal
Switch(config)#enable secret cisco
Switch(config)#hostname C4006
C4006(config)#exit
第二步:创建VLAN:
C4006#vlan database
C4006(Vlan)#vlan 2 name server
C4006(Vlan)#vlan 3 name research
C4006(vlan)#vlan 4 name finance
C4006(vlan)#exit
第三步:启用DHCP中继代理:
C4006#config terminal
C4006(Config)#service dhcp
C4006(Config)#ip dhcp relay information option
第四步:设置VLAN IP地址:
C4006#config terminal
C4006(Config)#interface vlan 2
C4006(Config-if)#ip address 210.28.182.1 255.255.255.0
C4006(Config-if)#no shutdown
C4006(Config-if)#interface vlan 3
C4006(Config-if)#ip address 210.28.183.1 255.255.255.0
C4006(Config-if)#no shutdown
C4006(Config-if)#interface vlan 4
C4006(Config-if)#ip address 210.28.184.1 255.255.255.0
C4006(Config-if)#no shutdown
C4006(Config-if)exit
第五步:设置端口全局参数
C4006(Config)#interface range fastethernet 0/1 – 24
C4006(Config-if-range)#switchport mode access
C4006(Config-if-range)#spanning-tree portfast
第六步:划分端口
C4006(Config)#interface range fastethernet 0/1 – 8
C4006(Config-if-range)#switchport access vlan 2
C4006(Config)#interface range fastethernet 0/9 – 16
C4006(Config-if-range)#switchport access vlan 3
C4006(Config)#interface range fastethernet 0/17 – 24
C4006(Config-if-range)#switchport access vlan 4
C4006(Config-if-range)#exit
第七步:配置DHCP服务器地址
C4006(Config)interface vlan 3
C4006(Config-if)ip helper-address 210.28.182.10
C4006(Config)interface vlan 4
C4006(Config-if)ip helper-address 210.28.182.10
第八步:设置访问控制
C4006(Config)ip routing
C4006(Config)#access-list 101 permit ip 210.28.182.0 0.0.0.255 210.28.183.0 0.0.0.255
C4006(Config)#access-list 101 permit ip 210.28.183.0 0.0.0.255 210.28.182.0 0.0.0.255
C4006(Config)#access-list 101 permit udp any any eq bootpc
C4006(Config)#access-list 101 permit udp any any eq tftp
C4006(Config)#access-list 101 permit udp any eq bootpc any
C4006(Config)#access-list 101 permit udp any eq tftp any
C4006(Config)#access-list 102 permit ip 210.28.182.0 0.0.0.255 210.28.184.0 0.0.0.255
C4006(Config)#access-list 102 permit ip 210.28.184.0 0.0.0.255 210.28.182.0 0.0.0.255
C4006(Config)#access-list 102 permit udp any eq tftp any
C4006(Config)#access-list 102 permit udp any eq bootpc any
C4006(Config)#access-list 102 permit udp any eq bootpc any
C4006(Config)#access-list 102 permit udp any eq tftp any
C4006(Config)#exit
第九步:启用访问控制列表
C4006(Config)#interface vlan 3
C4006(Config-if)#ip access-group 101 out
C4006(Config-if)#interface vlan 4
C4006(Config-if)#ip access-group 102 out
第十步:保存配置文件
C4006(Config-if)#end
C4006#copy running-config startup-config

总 结
实现DHCP中继代理的方法有多种,包括使用Windows 2000 路由、远程访问服务、路由器以及 Windows 2003 Server中提供的 DHCP 中继代理。但是使用三层交换技术实现DHCP中继代理是最经济、实用、高效的方法。