BOOTP中继代理
BOOTP(Bootstrap Protocol)中继代理是在DHCP服务器和DHCP客户端之间传送DHCP消息的因特网主机或路由器。设计BOOTP协议的目的是用作远程引导,主要是通知连接客户机引导文件的位置。
DHCP是BOOTP机制的一个扩展,这个特征意味着已经存在的BOOTP的客户端不用改变安装的软件就可以和DHCP服务器互用。RFC 1542详细描述了BOOTP、DHCP客户端和DHCP服务器之间的交互作用。
DHCP与BOOTP中继代理
与BOOTP协议一样,DHCP协议也是以客户机/服务器(client/server)模式工作的。利用该协议,DHCP客户机可以向DHCP服务器动态地请求配置信息,包括分配的IP地址、子网掩码、缺省网关等重要参数,而DHCP服务器也可以很方便地为其动态配置这些信息。
DHCP提供了如何在TCP/IP网络上对主机进行设置的方案框架。DHCP继承于BOOTP,在其基础上添加了自动分配可重用网络地址和附加配置选项的功能。DHCP具有BOOTP的中继代理行为,DHCP的使用者和BOOTP的使用者可以进行交互操作。
DHCP的消息格式是基于BOOTP的消息格式的,以便具有中继代理的行为并且允许已经存在的BOOTP客户端和DHCP服务器有协作能力(互用性),使用BOOTP中继代理避免了在每一个物理网段都需要有一个DHCP服务器的情况。
。DHCP定义了一种机制,通过这种机制,客户端可以分配到一个有一定租期的网络参数。并且考虑到了为不同客户端进行网络地址的连续地再分配。
。DHCP提供了一种机制,通过允许客户端为了进行操作而获得所有IP配置的参数。
DHCP原理介绍
随着网络规模的扩大和网络复杂度的提高,网络配置越来越复杂,经常出现计算机位置变化(如便携机或无线网络)和计算机数量超过可分配的IP地址的情况。动态主机配置协议DHCP(Dynamic Host Configuration Protocol)就是为了满足这些需求发展起来的。DHCP协议采用客户端/服务器(client/server)方式工作,DHCP client向DHCP server动态地请求配置信息,DHCP Server根据策略返回相应的配置信息(如IP地址等)
在DHCP的典型应用中,一般包含一台DHCP服务器和多台客户端(如PC和笔记本电脑),如下图所示:
DHCP的IP地址分配
1、IP地址分配策略
对于IP地址的占用时间,不同客户端有不同的需求:对于服务器,可能需要长期使用固定的IP地址;对于某些主机,可能需要长期使用某个动态分配的IP地址;而某些个人则可能只在需要时分配一个临时的IP地址即可。
。手工分配地址:由管理员为少数特定客户端(如WWW服务器等)配置固定的IP地址。
。自动分配地址:为首次连接到网络的某些客户端分配固定的IP地址,该地址将长期由该用户端使用
。动态分配地址:以租借的方式将某个地址分配给客户端,使用期限到期后,客户端需要重新申请地址。绝大多数客户端得到的就是这种动态分配的地址。
2、IP地址分配的优先次序
DHCP服务器按照如下次序为客户端选择除了forbidden-ip地址之外的地址:
。DHCP服务器的地址池中与客户端MAC地址静态绑定的IP地址;
。客户端以前曾经使用过的IP地址,即客户端发送的DHCP_Discover报文中请求IP地址选项(Requested IP Addr Option)的地址;
。在DHCP地址池中,顺序查找可供分配的IP地址,最先找到的IP地址;
。如果未找到可用的IP地址,则依次查询超过租期、发生冲突的IP地址,如果找到则进行分配,否则报告错误
3、DHCP服务器地址池的类型
。全局地址池:在本交换机内有效,是通过系统视图下的dhcp server ip-pool命令创建
。VLAN接口地址池:在本VLAN接口内有效,是在为vlan接口配置了合法的单播IP地址,且在VLAN接口视图下使用dhcp select interface命令设置从vlan接口地址池分配IP地址后系统创建的,它的地址段范围就是此vlan接口所在的网段。
DHCP客户端与服务器的交互过程
DHCP客户端为了获取合法的动态IP地址,在不同阶段与服务器之间交互不同的信息,通常存在以下三种模式:
1、DHCP客户端首次登录网络
DHCP客户端首次登录网络时,主要通过四个阶段与DHCP服务器建立联系。
。发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCP_Discover报文,只有DHCP服务器才会进行响应。
。提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCP_Discover报文后,从IP地址池中挑选一个尚未分配的IP地址分配给客户端,向该客户端发送包含出租IP地址和其它设置的DHCP_Offer报文。
。选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发来DHCP_Offer报文,客户端只接受第一个收到的DHCP_Offer报文,然后以广播方式向各DHCP服务器回应DHCP_Request报文,该信息中包含向所选定的DHCP服务器请求IP地址的内容。
。确认阶段,即DHCP服务器确认所提供IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCP_Request报文后,便向客户端发送包含它所提供的IP地址和其它设置的DHCP_ACK确认报文。然后,DHCP客户端将其TCP/IP协议组件与网卡绑定。
。除DHCP客户端选中的服务器外,其它DHCP服务器本次未分配出的IP地址仍可用于其它客户端的IP地址申请。
2、DHCP客户端再次登录网络
。再登录网络时,只需要广播包含上次分配IP地址的DHCP_Request报文即可,不需要再次发送DHCP_Discover报文。
。DHCP服务器收到DHCP_Request报文后,如果客户端申请的地址没有被分配,则返回DHCP_ACK确认报文,通知该DHCP客户端继续使用原来的地址。
。如果此IP地址无法再分配给该DHCP客户端使用(例如已分配给其它客户端),DHCP服务器将返回DHCP_NAK报文。客户端收到后,重新发送DHCP_Discover报文请求新的IP地址。
3、DHCP客户端延长IP地址的租用有效期
DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约(如延长IP地址租约)
在实际使用中,DHCP客户端缺省在IP地址租约期限达到一半时,DHCP客户端会自动向DHCP服务器发送DHCP_Request报文,以完成IP租约的更新。如果此IP地址有效,则DHCP服务器回应DHCP_ACK报文,通知DHCP客户端已经获得新的租约。
DHCP公共配置
指对于DHCP服务器和DHCP中继功能都适用的配置,包括:
。使能/禁止DHCP服务
。配置对DHCP报文的处理模式
。使能/禁止伪DHCP服务器检测功能
对于DHCP服务器和DHCP中继,在进行DHCP配置之前,都需要先使能DHCP服务。只有启动该服务后,其它相关的DHCP配置才能生效。
dhcp enable
undo dhcp enable
缺省情况下,DHCP服务处于关闭状态。
当收到DHCP客户端发出的DHCP报文时,可以通过下面的配置决定如何处理这些报文。
如果只配置当前VLAN接口的DHCP报文处理模式,请在VLAN接口视图下进行下列配置。
dhcp select global
dhcp select interface
dhcp select relay
undo dhcp select
注意:
dhcp select interface命令不要同时与ip relay address命令或者dhcp relay security address-check enable命令同时使用,否则配置将不会产生实际意义。
如果同时配置多个VLAN接口的DHCP报文处理模式,请在系统视图下进行下列配置
dhcp select global {interface vlan-interface 3[to vlan-interface 5]|all}
dhcp select interface {interface vlan-interface 3[to vlan-interface 5]|all}
dhcp select relay {interface vlan-interface 3 [to vlan-interface 5]|all}
undo dhcp select {interface vlan-interface 3 [to vlan-interface 5]|all}
缺省情况下,对DHCP报文的处理模式为global,即将DHCP报文发送到本地DHCP服务器,从全局地址池分配地址。
使能/禁止伪DHCP服务器检测功能
在网络中,如果有私自架设的DHCP服务器,当其他用户申请IP地址时,这台DHCP服务器就会与DHCP客户端进行交互,导致用户获得错误的IP地址,无法正常上网,这种私设的DHCP服务器称为伪DHCP服务器。
使能伪DHCP服务器检测功能后,交换机将记录DHCP服务器的IP地址以及申请地址的客户端的MAC地址、发送的报文类型和入报文的VLAN接口,以便管理员及时发现并处理伪DHCP服务吕。
dhcp server detect
undo dhcp server detect
缺省情况下,禁止伪DHCP服务器检测功能
DHCP服务器配置包括:
。创建DHCP全局地址池
。配置DHCP地址池的地址分配
。配置DHCP地址池中不参与自动分配的IP地址
。配置DHCP地址池的IP地址租用有效期限
。配置DHCP客户端的域名
。配置DHCP客户端的DNS服务器地址
。配置DHCP客户端的NETBIOS服务器地址
。配置DHCP客户端的NETBIOS节点地址
。配置DHCP自定义选项
。配置DHCP客户端的出口网关IP地址
。配置DHCP服务器的PING包发送
为方便用户,对某些DHCP配置选项,用户可以分别对全局DHCP地址池、当前VLAN接口DHCP地址池或指定多个VLAN接口DHCP地址池进行配置。
这类配置任务包括:配置DHCP地址池的IP地址租用有效期限、配置DHCP客户端的域名、配置DHCP客户端的DNS服务器地址、配置DHCP客户端的NETBIOS服务器地址、配置DHCP客户端的NETBIOS节点类型以及配置DHCP自定义选项。
创建DHCP全局地址池
DHCP服务器通过地址池给客户端分配IP地址。当客户端向服务器发出DHCP请求时,DHCP服务器根据用户设置选择合适的地址池,并从中挑选一个空闲的IP地址,与其它相关参数(如地址租用期限等)一起传送给客户端。每个DHCP服务器可以配置多个地址池,目前支持128个DHCP全局地址池。
DHCP服务器中的地址池采用树状结构:树根是自然网段地址,分去是该网段的子网地址,叶节点是手工绑定的客户端地址。这种树状结构实现了配置的继承性,即子网配置继承自然网段的配置,客户端的配置继承子网的配置。这样,对于一些通用参数(如域名),只需要在自然网段或者子网上配置即可。地址池的树状结构可以通过命令display dhcp server tree查看,同一级别地址池的顺序由配置的先后决定。
创建DHCP全局地址池时,如果该地址池已存在,则直接进入该地址池视图;否则将先创建DHCP地址池,然后再进入地址池视图。
dhcp server ip-pool xxxx
undo dhcp server ip-pool xxxx
缺省情况下,DHCP全局地址池没有被创建
注意:VLAN接口地址池是在为VLAN接口配置了合法的单播IP地址,且在VLAN接口视图下使用dhcp select interface命令设置从VLAN接口地址池分配IP地址后由系统创建的。
配置DHCP地址池的地址分配
根据客户端的实际需要,可以选择采用静态地址绑定方式或动态地址分配方式。但是,对于同一个全局DHCP地址池不能同时配置这两种方式;对于VLAN接口地址池两种方式可以共存,但动态分配的IP地址网段即为该VLAN接口IP地址的网段。
动态地址分配需要指定用于分配的地址范围,而静态地址绑定则可以看作是只包含绑定地址的特殊的DHCP地址池。
1、配置全局DHCP地址池的静态地址绑定
某些客户端可能需要固定的IP地址,即将客户端的MAC地址与某个IP地址绑定。当此MAC地址的客户端申请IP地址时,服务器将根据客户端的MAC地址寻找到对应的固定IP地址,并分配给客户端。目前一个全局DHCP地址池只支持一条MAC-IP地址的绑定。
static-bind ip-address 192.168.0.100 mask 255.255.255.0
undo static-bind 192.168.0.100
static-bind mac-address 1111.1111.1111
undo static-bind mac-address
缺省情况下,未配置全局DHCP地址池的静态地址绑定。
static-bind ip-address和static-bind mac-address必须配合使用,并且,如果多次执行,新的配置会覆盖已有配置。
2、配置VLAN接口地址池的静态地址绑定
请在VLAN接口视图下进行下列配置。目前VLAN接口地址池支持多条IP地址和MAC地址的绑定。
dhcp server static-bind ip-address 192.168.0.100 mac-address 1111.1111.1111
undo dhcp server static-bind {ip-address 192.168.0.100|mac-address 1111.1111.1111
缺省情况下,未配置VLAN接口地址池的静态地址绑定
注意:接口地址的绑定不可以直接覆盖,若已经配置了绑定的IP地址和MAC表项,修改绑定关系的时候,要删除原来的绑定关系。
3、配置动态地址分配
对于动态分配给客户端的地址(包括永久的和租用期有限的动态地址),都需要配置地址池的范围。
请在DHCP地址池视图下进行下列配置
network 192.168.0.100 mask 255.255.255.0
undo networ
缺省情况下,未配置动态分配的IP地址范围
每个DHCP地址池只能配置一个网段,如果多次执行network命令,新的配置会覆盖已有配置。
配置DHCP地址池中不参与自动分配的IP地址
DHCP服务器在分配地址时,需要排除已经被占用的某些IP地址(如网关、FTP服务器等),否则,同一地址分配给两台主机会造成IP地址冲突。
请在系统视图下进行下列配置:
dhcp server forbidden-ip low-ip-address high-ip-address
undo dhcp server forbidden-ip low-ip-address high-ip-address
缺省情况下,dhcp地址池中的所有IP地址都参与自动分配。
多次执行本命令,可以配置多个不参与自动分配的IP地址段。
配置DHCP地址池的IP地址租用有效期限
对于不同的地址池,DHCP服务器可以指定不同的地址租用期限,但同一DHCP地址池中的地址都具有相同的期限。
1、配置全局DHCP地址池的IP地址租用有效期限
请在DHCP地址池视图下进行下列配置
expired {day [hour [minute]]|unlimited}
undo expired
2、配置当前VLAN接口DHCP地址池的IP地址租用有效期限
请在VLAN接口视图下进行下列配置
dhcp server expired {day [hour [minute]]|unlimited}
undo dhcp server expired
3、配置多个VLAN接口DHCP地址池的IP地址租用有效期限
请在系统视图下进行下列配置
dhcp server expired {day [hour [minute]]|unlimited}{interface vlan-interface 3 [to vlan-interface 5]|all}
undo dhcp server expired {interface vlan-interface 3 [to vlan-interface 5]|all}
缺省情况下,全局和VLAN接口地址池的IP地址租用有效期限均为1天。
配置DHCP客户端的域名
在DHCP服务器上,可以为每个地址池分别指定客户端使用的域名。
1、配置全局DHCP地址池的DHCP客户端域名
请在DHCP地址池视图下进行下列配置
domain-name xxxx
undo domain-name
2、配置当前VLAN接口DHCP地址池的DHCP客户端域名
请在VLAN接口视图下进行下列配置
dhcp server domain-name xxxx
undo dhcp server domain-name
3、配置多个VLAN接口的DHCP地址池的DHCP客户端域名
请在系统视图下进行下列配置
dhcp server domain-name xxxx {interface vlan-interface 3 [to vlan-interface 5]|all}
undo dhcp server domain-name xxxx {interface vlan-interface 3[to vlan-interface 5]|all}
缺省情况下,全局和VLAN接口地址池均未配置DHCP客户端的域名。
如果多次执行该操作,新的配置会覆盖已有配置。
实例:
system-view
vlan 2
interface vlan-interface 2
ip address 10.110.1.1 255.255.0.0
dhcp select interface
dhcp select global 设置从全局地址池分配地址,默认即是如此
undo dhcp select
dhcp server ip-pool xxxx
network 10.110.0.0 mask 255.255.0.0
gateway-list 10.110.1.1
发表评论