应用场合:
当一个网络中的主机数目较大时,手工分配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的客户机。