启用DHCP中继代理,实现跨子网服务 - Win 2003 Server
伴随着局域网规模的逐步扩大,一个网络常常会被划分成多个不同的子网,以便根据不同子网的工作要求来实现个性化的管理要求。考虑到规模较大的局域网一般会使用DHCP服务器来为各个工作站分配IP地址,不过一旦局域网被划分成多个不同子网时,那我们是不是也必须在各个不同的子网中分别创建DHCP服务器,来为每一子网中的工作站提供IP地址分配服务呢?如果是这样的话,不但操作麻烦不说,而且还不利于局域网网络的高效管理。其实,我们只要启用Windows服务器系统内置的中继代理功能,完全可以将原先的DHCP服务器利用起来,分别为多个不同子网提供IP地址分配服务;下面,笔者就以一台DHCP服务器同时为两个子网提供地址分配服务为例,来向各位详细介绍一下如何启用DHCP中继代理程序,协助不同子网中的工作站完成跨子网申请IP地址的任务。
做好准备工作
假设局域网的某一子网中有一个安装有Windows Server 2003系统的工作站,现在笔者就准备在这台计算机中启用DHCP中继代理功能,来为局域网中的其他子网提供IP地址申请中转服务。不过在启用DHCP中继代理功能之前,我们需要先将该工作站配置成一个虚拟的路由器,以便利用该路由器将局域网中的两个不同子网连接起来。
考虑到Windows Server 2003系统在缺省状态下没有启用路由和远程访问服务,因此我们必须先用手工方法来安装配置好该服务。在安装该服务时,可以依次单击“开始”/“设置”/“控制面板”命令,在打开的系统控制面板窗口中,双击“管理工具”图标,再在其后的界面中用鼠标双击“路由和远程访问”项目,这样系统会自动打开如图1所示的路由和远程访问界面;用鼠标右键单击该界面中的本地计算机图标,从弹出的右键菜单中执行“配置并启用路由和远程访问”命令,打开路由和远程访问服务器安装向导窗口,单击该窗口中的“下一步”按钮,进入到如图2所示的向导配置界面;选中该界面中的“自定义配置”选项,再单击“下一步”按钮,在其后出现的向导窗口中选中“LAN路由”复选项(如图3所示),最后单击“完成”按钮退出路由和远程访问服务器安装向导窗口。
图1
图2
图3
启用DHCP中继代理
所谓“中继代理”,其实就是为处于不同子网中的工作站与服务器之间中转传输BOOTP/DHCP消息的一种特殊程序,为了实现DHCP中继代理功能,我们需要将安装有Windows Server 2003系统的工作站配置成为一个DHCP中继代理服务器,这样的话位于同一子网中的工作站以广播方式申请IP地址时,DHCP中继代理服务器就会自动将IP地址申请信息中转传输到位于另外一个子网中的DHCP服务器,DHCP服务器然后将IP地址应答信息再通过中继代理服务器转发给指定的工作站,从而协助工作站完成跨子网申请IP地址服务。
由于Windows Server 2003系统在默认状态下并没有安装DHCP中继代理程序,因此我们必须先将DHCP中继代理程序安装好。在安装DHCP中继代理程序时,我们先进入如图1所示的路由和远程访问界面,然后用鼠标逐一展开该界面左侧区域的“本地计算机”/“IP路由选择”/“常规”选项,再用鼠标右键单击“常规”选项,从其后弹出的快捷菜单中执行“新增路由协议”命令,打开如图4所示的设置界面;在该界面中,选中“路由协议”列表框中的“DHCP中继代理程序”选项,再单击一下“确定”按钮结束DHCP中继代理程序的安装操作。
图4
图5
下面我们就需要为DHCP中继代理程序指定一个合适的DHCP服务器了,这样可以让DHCP中继代理程序一旦接受到其他子网中的工作站发来的IP地址申请信息时,就自动把这些信息转发到这里指定的DHCP服务器中去处理。在指定DHCP服务器时,可以用鼠标右键单击前面已经安装好的“DHCP中继代理程序”项目,从其后弹出的右键菜单中执行“属性”命令,打开如图5所示的DHCP中继代理程序属性设置窗口;在该窗口的“常规”标签页面中,将位于另外一子网的DHCP服务器IP地址准确地填写在此处的“服务器地址”文本框中,例如笔者在这里输入的DHCP服务器IP地址是“192.168.1.55”,在确认地址输入无误后,再单击一下“添加”按钮,这样就能完成DHCP服务器的指定工作了;当然,要是局域网中包含有多个DHCP服务器时,我们可以分别将这些DHCP服务器的IP地址添加到这里,最后单击“确定”按钮退出DHCP中继代理程序属性设置窗口。
完成好上面的各项工作后,DHCP中继代理程序现在还不能立刻发挥作用,我们还必须对其访问接口进行一下合适配置。在配置DHCP中继代理程序的访问接口时,我们还需要先进入如图1所示的路由和远程访问界面,然后用鼠标逐一展开该界面左侧区域的“本地计算机”/“IP路由选择”/“DHCP中继代理程序”选项,再用鼠标右键单击“DHCP中继代理程序”选项,从其后弹出的快捷菜单中执行“新增接口”命令(如图6所示),随后我们就能看到DHCP中继代理程序的新接口设置对话框,选中该对话框中的能够与位于另外一子网中的DHCP服务器直接通信的那个接口选项,通常该接口就是连接另外一个子网的网卡;选好目标接口之后,再单击一下“确定”按钮,系统就会自动弹出如图7所示的DHCP中继站属性设置窗口,将该窗口中的“中继DHCP数据包”复选项选中,同时设置好“跃点计数阈值”以及“启动阈值”这两个参数,如果没有其他的特殊需求时,我们最好将这两个参数保持默认数值,最后单击一下“确定”按钮,这样DHCP中继代理功能就能开始发挥作用了。
图6
图7
到了这里,DHCP中继代理程序就能实现跨子网地址申请中转服务了;以后,和DHCP中继代理服务器位于相同子网的工作站,就能通过DHCP中继代理程序来向位于另外一个子网的DHCP服务器申请动态IP地址了。
DHCP中继原理及配置
应用场合:
当一个网络中的主机数目较大时,手工分配IP不仅麻烦而且容易出错。DHCP服务的出现大大方便了主机IP地址的分配。现在的企业组网时,根据实际需要来划分vlan,成了必不可少的一个步骤。如何让一个DHCP服务器同时为多个网段提供服务,就是我们所要讨论的问题。
DHCP中继原理:
DHCP客户使用IP广播来寻找同一网段上的DHCP服务器。当服务器和客户段处在不同网段,即被路由器分割开来时,路由器是不会转发这样广播包的。因此可能需要在每个网段上设置一个DHCP服务器,虽然DHCP只消耗很小的一部分资源的,但多个 DHCP服务器,毕竟要带来管理上的不方便。DHCP中继的使用使得一个DHCP服务器同时为多个网段服务成为可能。
为了让路由器可以帮助转发广播请求数据包,使用ip help-address命令。通过使用该命令,路由器可以配置为接受广播请求,然后将其以单播方式转发个指定IP地址。缺省情况下ip help-address转发以下8种UDP服务:
1.Time 2.Tacacs 3.DNS 4.BOOTP/DHCP服务器
5. BOOTP/DHCP客户 6.TFTP 7.NetBios名称服务 8. NetBios数据报服务
在DHCP广播情况下,客户在本地网段广播一个 DHCP发现分组。网关获得这个分组,如果配置了帮助地址,就将DHCP分组转发到特定地址。
DCHP中继配置
第一步:查看设备是否支持IOS DHCP Server功能
一般的Cisco路由器或访问服务器,以及少部分安装有路由交换模块或多层交换功能卡的交换机都具有IOS DHCP Server功能。如果还没有确认你的设备是否具备这一功能,那么,你可以按如下方法在命令行界面(CLI)下进行快速检测,步骤如下:
router>enable
Password:
router#conf t
router(config)#ip dhcp ?
如果出现的是下面的信息,那么很遗憾,你的设备不支持IOS DHCP Server功能: % Unrecognized command
否则,恭喜你,你的设置支持DHCP功能。
第二步:DHCP服务器端配置(此处用路由器来当DHCPserver.PC机上配置类似):
route(config)#ip dhcp pool vlan10 //配置一个地址池,vlan10是地址池的名称,
route(dhcp-config)#network 192.168.10.0 255.255.255.0 //动态分配的地址段
route(dhcp-config)#default-router 192.168.10.254 //网关地址
route(dhcp-config)#dns-server x.x.x.x //为客户机配置DNS服务器
route(dhcp-config)#lease 1 //地址租用期为1天
route(dhcp-config)#exit
route(config)#ip dhcp excluded-address 192.168.10.1 //该地址不被分配
route(config)#ip dhcp excluded-address 192.168.10.254 //该地址不被分配
route(config)#ip dhcp pool vlan20 //配置地址池vlan20,vlan30地址池配置类似
route(dhcp-config)#network 192.168.20.0 255.255.255.0//动态分配的地址段
route(dhcp-config)#default-router 192.168.20.254 //网关地址
route(dhcp-config)#dns-server x.x.x.x //为客户机配置DNS服务器
route(dhcp-config)#lease 1 //地址租用期为1天
route(dhcp-config)#exit
route(config)#ip dhcp excluded-address 192.168.20.254 //该地址不被分配
Tips:DHCP是根据源地址段进行地址分配的。
第三步:使用路由器5300做单臂路由时的DHCP配置:
int f0
no ip address
no shut
exit
int f0.10 //vlan10
ip address 192.168.10.254 255.255.255.0 //vlan网关
ip help-address 192.168.10.1 //DHCP服务器地址
no shut
exit
int f0.20 //vlan20,多个网段类似
ip address 192.168.20.254 //vlan网关
ip help-address 192.168.10.1 //以单播的形式发往该DHCP服务器地址
no shut
exit
使用多层交换机(3550)的DHCP配置
int vlan 10
ip address 192.168.10.254 255.255.255.0 //vlan10网关
ip help-address 192.168.10.1 //DHCP服务器地址
no shut
exit
int vlan 20
ip address 192.168.20.254 255.255.255.0 //vlan10网关
ip help-address 192.168.10.1 //DHCP服务器地址
no shut
exit
题外话:
除了IOS DHCP Server外,DHCP服务器还有很多种。例如Windows 2000或LINUX的DHCP服务器。但不论你采用何种DHCP服务器,在VLAN上的设置都是一样的,唯一的区别就在于一个是在路由器上设置,一个是在PC服务器上设置。在PC服务器上设置DHCP服务器比较容易,从这一点上看好像用PC服务器作DHCP服务器更具优越性,但如果从稳定性和功能上看,这些DHCP服务器是没办法和路由器相比的。毕竟,确保每天24小时的稳定运行才是大型网络重要的任务,因此,在大型网络中还是采用路由器作DHCP服务器较为稳妥。
跨子网使用DHCP服务器(PC版本)
为了提高网络的安全性,规模稍大的局域网通常要划分为多个子网。但DHCP服务器只能为本子网的机器提供服务,每个子网都配置DHCP服务器又会造成浪费。如何让一台DHCP服务器能同时为多个子网提供TCP/IP配置服务呢?
笔者以所管理的两个子网A、B为例,子网A中配置了一台DHCP服务器,子网B中没有DHCP服务器,下面在子网B进行如下配置操作:
1. 配置路由
在子网B中选择一台Windows 2003机器,将其配置成路由器,用来连接A、B两个子网(此时该服务器同时属于两个子网)。进入“控制面板→管理工具”,运行“路由和远程访问”工具,右键点击本地服务器,选择“配置并启用路由及远程访问”,弹出安装向导对话框,选择“自定义配置”,点击“下一步”后,选择“LAN路由”,最后点击“完成”。
2. 配置中继代理
在路由和远程访问窗口中,展开“本地服务器→IP路由选择→常规”,右键点击“常规”,选择“新增路由协议”,接着在新路由协议窗口中选择“DHCP中继代理程序”,点击“确定”按钮。
右键点击DHCP中继代理程序,选择“属性”,弹出“DHCP中继代理程序属性”对话框,在“常规”标签页的“服务器地址”栏中输入子网A的DHCP服务器的IP地址,然后点击“添加”按钮,最后点击“确定”即可。
右键再次点击DHCP中继代理程序,选择“新增接口”,弹出DHCP中继代理程序的新接口对话框,在“接口”框中选中可以访问子网A的那个接口,也就是连接子网A的网卡,点击“确定”按钮。接着在弹出的“DHCP中继站属性”对话框中,确保选中“中继DHCP数据包”后,就启用了它的中继功能,最后点击“确定”按钮。完成以上配置,子网B的客户机就可以使用子网A的DHCP服务器了。
提示:中继代理是为不在同一子网中的DHCP客户机和DHCP服务器之间中转DHCP/BOOTP消息的小程序,下面把这台Windows 2003机器配置成DHCP中继代理服务器。这样当子网B的客户机发出请求时,中继代理就把这个请求转发给子网A的DHCP服务器,接着再把DHCP服务器返回的TCP/IP配置信息转发给子网B的客户机。