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 /*设置vlan IP地址*/ 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 /*服务器所在vlan不需要指定地址*/ Switch(config-if)ip helper-address 192.168.1.10 /*在vlan2中设定DHCP服务器地址*/ 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中继代理是最经济、实用、高效的方法。
转载于:https://blog.51cto.com/chongerfei/116218