教你华为交换机如何配置DHCP

BOOTP中继代理

 

BOOTP(Bootstrap Protocol)中继代理是在DHCP服务器DHCP客户端之间传送DHCP消息的因特网主机或路由器。设计BOOTP协议的目的是用作远程引导,主要是通知连接客户机引导文件的位置。

 

DHCPBOOTP机制的一个扩展,这个特征意味着已经存在的BOOTP的客户端不用改变安装的软件就可以和DHCP服务器互用。RFC 1542详细描述了BOOTPDHCP客户端和DHCP服务器之间的交互作用。

 

 

DHCPBOOTP中继代理

 

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 clientDHCP server动态地请求配置信息,DHCP Server根据策略返回相应的配置信息(IP地址等)

 

DHCP的典型应用中,一般包含一台DHCP服务器和多台客户端(PC和笔记本电脑),如下图所示:

华为交换机DHCP配置

 

DHCPIP地址分配

1IP地址分配策略

对于IP地址的占用时间,不同客户端有不同的需求:对于服务器,可能需要长期使用固定的IP地址;对于某些主机,可能需要长期使用某个动态分配的IP地址;而某些个人则可能只在需要时分配一个临时的IP地址即可。

。手工分配地址:由管理员为少数特定客户端(WWW服务器)配置固定的IP地址。

。自动分配地址:为首次连接到网络的某些客户端分配固定的IP地址,该地址将长期由该用户端使用

。动态分配地址:以租借的方式将某个地址分配给客户端,使用期限到期后,客户端需要重新申请地址。绝大多数客户端得到的就是这种动态分配的地址。

2IP地址分配的优先次序

DHCP服务器按照如下次序为客户端选择除了forbidden-ip地址之外的地址:

DHCP服务器的地址池中与客户端MAC地址静态绑定的IP地址;

。客户端以前曾经使用过的IP地址,即客户端发送的DHCP_Discover报文中请求IP地址选项(Requested IP Addr Option)的地址;

。在DHCP地址池中,顺序查找可供分配的IP地址,最先找到的IP地址;

。如果未找到可用的IP地址,则依次查询超过租期、发生冲突的IP地址,如果找到则进行分配,否则报告错误

3DHCP服务器地址池的类型

。全局地址池:在本交换机内有效,是通过系统视图下的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地址申请。

2DHCP客户端再次登录网络

。再登录网络时,只需要广播包含上次分配IP地址的DHCP_Request报文即可,不需要再次发送DHCP_Discover报文。
DHCP服务器收到DHCP_Request报文后,如果客户端申请的地址没有被分配,则返回DHCP_ACK确认报文,通知该DHCP客户端继续使用原来的地址。
。如果此IP地址无法再分配给该DHCP客户端使用(例如已分配给其它客户端)DHCP服务器将返回DHCP_NAK报文。客户端收到后,重新发送DHCP_Discover报文请求新的IP地址。

3DHCP客户端延长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报文发送到本地DHCP服务器,从全局地址池分配地址
dhcp select interface 
 发送到本地DHCP服务器,从VLAN接口地址池分配地址
dhcp select relay 
 发送到远程DHCP服务器,选择此设备作为DHCP中继,从其它网段的服务器上分配地址
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服务器,从全局地址池中分配地址

dhcp select interface {interface vlan-interface 3[to vlan-interface 5]|all}  发送到本地DHCP服务器,从VLAN接口地址池分配地址

dhcp select relay {interface vlan-interface 3 [to vlan-interface 5]|all}    发送到远程DHCP服务器,选择此设备作为DHCP中继,从其他网段的服务器分配

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服务器可以配置多个地址池,目前支持128DHCP全局地址池。

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地址池只支持一条MACIP地址的绑定。

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-addressstatic-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

华为交换机DHCP配置

缺省情况下,未配置动态分配的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客户端的域名。
如果多次执行该操作,新的配置会覆盖已有配置。

 

实例:

华为交换机DHCP配置

system-view

vlan 2    创建VLAN 2

interface vlan-interface 2    进入接口视图,创建vlan-interface 2

ip address 10.110.1.1 255.255.0.0

 

dhcp select interface   vlan-interface 2 选择从接口地址池分配地址

 

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