24-DHCP操作
本章节下载: 24-DHCP操作 (818.56 KB)
目 录
2.4.11 配置DHCP客户端的TFTP服务器地址及启动文件名
2.5.9 配置DHCP客户端的TFTP服务器地址及启动文件名
2.8 配置DHCP服务器对Option 82选项的处理方式
2.10.2 DHCP服务器支持Option 184配置举例
4.1.2 DHCP Snooping支持Option 82简介
4.2.2 配置DHCP Snooping支持Option 82功能
4.4.1 DHCP Snooping支持Option 82配置举例
l 新增“DHCP服务器支持为具有自动配置功能的客户端分配TFTP服务器地址及启动文件名”特性,具体命令请参见2.4.11 配置DHCP客户端的TFTP服务器地址及启动文件名和2.5.9 配置DHCP客户端的TFTP服务器地址及启动文件名。
l 新增“DHCP Snooping支持Option 82”特性,具体命令请参见4.1.2 DHCP Snooping支持Option 82简介和4.2.2 配置DHCP Snooping支持Option 82功能。
l 新增“IP过滤”特性,具体命令请参见4.1.3 IP过滤简介和4.2.3 配置IP过滤功能。
l 新增“DHCP报文限速”特性,具体命令请参见5 DHCP报文限速配置。
随着网络规模的不断扩大和网络复杂度的提高,经常出现计算机的数量超过可供分配的IP地址的情况。同时随着便携机及无线网络的广泛使用,计算机的位置也经常变化,相应的IP地址也必须经常更新,从而导致网络配置越来越复杂。DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)就是为解决这些问题而发展起来的。
DHCP采用“客户端/服务器”通信模式,由客户端向服务器提出配置申请,服务器返回为客户端分配的IP地址等配置信息,以实现网络资源的动态配置。
在DHCP的典型应用中,一般包含一台DHCP服务器和多台客户端(如PC和便携机),如图1-1所示:
图1-1 DHCP典型应用
针对客户端的不同需求,DHCP提供三种IP地址分配策略:
l 手工分配地址:由管理员为少数特定客户端(如WWW服务器等)静态绑定IP地址。通过DHCP将配置的固定IP地址发给客户端。
l 自动分配地址:DHCP为客户端分配租期为无限长的IP地址。
l 动态分配地址:DHCP为客户端分配具有一定有效期限的IP地址,当使用期限到期后,客户端需要重新申请地址。绝大多数客户端得到的都是这种动态分配的地址。
DHCP客户端从DHCP服务器动态获取IP地址,主要通过四个阶段进行:
(1) 发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCP-DISCOVER报文。
(2) 提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端发送的DHCP-DISCOVER报文后,根据IP地址分配的优先次序从地址池中选出一个IP地址,与其他参数一起通过DHCP-OFFER报文发送给客户端(发送方式根据客户端发送的DHCP-DISCOVER报文中的flag字段决定,具体请见1.3 DHCP报文格式的介绍)。
(3) 选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发来DHCP-OFFER报文,客户端只接受第一个收到的DHCP-OFFER报文,然后以广播方式发送DHCP-REQUEST报文,该报文中包含DHCP服务器在DHCP-OFFER报文中分配的IP地址。
(4) 确认阶段,即DHCP服务器确认IP地址的阶段。DHCP服务器收到DHCP客户端发来的DHCP-REQUEST报文后,只有DHCP客户端选择的服务器会进行如下操作:如果确认地址分配给该客户端,则返回DHCP-ACK报文;否则将返回DHCP-NAK报文,表明地址不能分配给该客户端。
l 客户端收到服务器返回的DHCP-ACK确认报文后,会以广播的方式发送免费ARP报文,探测是否有主机使用服务器分配的IP地址,如果在规定的时间内没有收到回应,客户端才使用此地址。否则,客户端会发送DHCP-DECLINE报文给DHCP服务器,并重新申请IP地址。
l 如果网络中存在多个DHCP服务器,除DHCP客户端选中的服务器外,其它DHCP服务器中本次未分配出的IP地址仍可分配给其他客户端。
如果采用动态地址分配策略,则DHCP服务器分配给客户端的IP地址有一定的租借期限,当租借期满后服务器会收回该IP地址。如果DHCP客户端希望延长使用该地址的期限,需要更新IP地址租约。
在DHCP客户端的IP地址租约期限达到一半时间时,DHCP客户端会向DHCP服务器单播发送DHCP-REQUEST报文,进行IP租约的更新。如果此IP地址有效,则DHCP服务器单播回应DHCP-ACK报文,通知DHCP客户端已经获得新IP租约;如果此IP地址不可以再分配给该客户端,则DHCP服务器回应DHCP-NAK报文,通知DHCP客户端不能获得新的租约。
如果在租约的一半时间进行的续约操作失败,DHCP客户端会在租约期限达到7/8时,再次广播发送DHCP-REQUEST报文进行续约。DHCP服务器的处理同上,不再赘述。
DHCP有8种类型的报文,每种报文的格式相同,只是报文中的某些字段取值不同。DHCP报文格式基于BOOTP的报文格式,具体格式如图1-2所示(括号中的数字表示该字段所占的字节):
图1-2 DHCP报文格式
各字段的解释如下:
l op:DHCP报文的操作类型,分为请求报文和响应报文,1为请求报文;2为响应报文。
l htype、hlen:DHCP客户端的硬件地址类型及长度。
l hops:DHCP报文经过的DHCP中继的数目。DHCP请求报文每经过一个DHCP中继,该字段就会增加1。
l xid:客户端发起一次请求时选择的随机数,用来标识一次地址请求过程。
l secs:DHCP客户端开始DHCP请求后所经过的时间。
l flags:第一个比特为广播响应标识位,用来标识DHCP服务器响应报文是采用单播还是广播发送,0表示采用单播方式,1表示采用广播方式。其余比特保留不用。
l ciaddr:DHCP客户端的IP地址。
l yiaddr:DHCP服务器分配给客户端的IP地址。
l siaddr:DHCP客户端获取IP地址等信息的服务器IP地址。
l giaddr:DHCP客户端发出请求报文后经过的第一个DHCP中继的IP地址。
l chaddr:DHCP客户端的硬件地址。
l sname:DHCP客户端获取IP地址等信息的服务器名称。
l file:DHCP服务器为DHCP客户端指定的启动配置文件名称及路径信息。
l option:可选变长选项字段,包含报文的类型、有效租期、DNS(Domain Name System,域名系统)服务器的IP地址、WINS(Windows Internet Naming Service,Windows Internet名称服务)服务器的IP地址等配置信息。
与DHCP相关的协议规范有:
l RFC2131:Dynamic Host Configuration Protocol
l RFC2132:DHCP Options and BOOTP Vendor Extensions
l RFC1542:Clarifications and Extensions for the Bootstrap Protocol
l RFC3046:DHCP Relay Agent Information option
l S3600系列交换机中,只有S3600-EI系列支持本章内容。
l DHCP服务器中对于接口的相关配置,目前只能在VLAN接口上进行。
在以下场合通常利用DHCP服务器来完成IP地址分配:
l 网络规模较大,手工配置需要很大的工作量,而且难以对整个网络进行集中管理。
l 网络中主机数目大于该网络支持的IP地址数量,无法为每个主机分配一个固定的IP地址,且对同时接入网络的用户数目也有限制(比如,Internet接入服务提供商即属于这种情况),大量用户必须通过DHCP服务动态获得自己的IP地址。
l 网络中只有少数主机需要固定的IP地址,大多数主机没有固定IP地址的需求。
DHCP服务器从地址池中为客户端选择并分配IP地址及其他相关参数。当作为DHCP服务器的设备收到客户端发来的DHCP请求时,将根据配置选择合适的地址池,并从中挑选一个空闲的IP地址,与其他相关参数(如DNS服务器地址、地址租用期限等)一起发送给客户端。
DHCP服务器的地址池有两种:全局地址池及接口地址池。其中:
l 全局地址池是通过系统视图下的dhcp server ip-pool命令创建的,在本设备范围内有效。
l 接口地址池是在为接口配置了合法的单播IP地址,且在接口视图下配置dhcp select interface命令后由系统创建的,它的地址范围就是此接口所在的网段,并且只在此接口下有效。
DHCP服务器的地址池采用树状结构:树根是自然网段的地址池,分支是该网段的子网地址池,叶节点是手工绑定的客户端地址。同一级别地址池的顺序由配置的先后决定。这种树状结构实现了配置的继承性,即子网配置继承自然网段的配置,客户端的配置继承子网的配置。这样,对于一些通用参数(如域名),只需要在自然网段或者子网上配置即可。具体的继承情况如下:
(1) 在父子关系建立时,子地址池将会继承父地址池的配置。
(2) 在父子关系建立后,对父地址池进行的配置,子地址池是否会继承,则有下面两种情况:
l 如果子地址池没有该项配置,则子地址池将会继承父地址池的配置;
l 如果子地址池已有该项配置,则子地址池将不会继承父地址池的配置。
IP地址的租用有效期限不具有继承关系。
DHCP服务器为客户端分配IP地址时,地址池的选择原则如下:
(1) 当接收到请求报文的DHCP服务器的接口工作在全局地址池模式时,将从DHCP服务器的全局地址池中分配地址。
(2) 当接收到请求报文的DHCP服务器的接口工作在接口地址池模式时,对该接口直连的DHCP客户端,将会优先从DHCP服务器的接口地址池中分配地址。如果接口地址池中没有可供分配的地址,则会尝试查找包含该接口地址池网段的全局地址池,如果有,则从该全局地址池中进行分配。
DHCP服务器无论是从接口地址池还是全局地址池为客户端分配IP地址,都遵从以下顺序:
(1) 如果存在将客户端MAC地址或客户端ID与IP地址静态绑定的地址池,则选择该地址池,并将静态绑定的IP地址分配给客户端。
(2) 如果不存在静态绑定的地址池,则按如下原则选择动态地址池。如果该地址池中没有可供分配的IP地址,则服务器无法为客户端分配地址,服务器不会将父地址池中的IP地址分配给客户端。
l 当客户端与服务器在同一网段时,选择包含DHCP请求报文接收接口的IP地址的,地址范围最小的地址池。
l 当客户端与服务器不在同一网段(即:客户端通过DHCP中继获取IP地址)时,选择包含DHCP请求报文中giaddr字段指定的IP地址的,地址范围最小的地址池。
DHCP服务器从接口地址池或全局地址池中为客户端分配IP地址的优先次序如下:
(1) DHCP服务器中与客户端MAC地址或客户端ID静态绑定的IP地址。
(2) DHCP服务器记录的曾经分配给客户端的IP地址。
(3) 客户端发送的DHCP-DISCOVER报文中Option 50字段指定的IP地址。
(4) 选择合适的地址池,从中顺序查找可供分配的IP地址,最先找到的IP地址。
(5) 如果未找到可用的IP地址,则依次查询租约过期、曾经发生过冲突的IP地址,如果找到则进行分配,否则将不予处理。
在IRF(Intelligent Resilient Framework,可扩展弹性网络)系统中,DHCP服务器采用集中式实现方式以适应IRF的系统环境。
l DHCP服务器作为一个任务同时运行在Fabric系统内的所有Unit上(包括Master、Slave),但只有运行在Master上的DHCP服务器能够收发报文,完成全部DHCP服务器的功能,而运行在Slave上的DHCP服务器只是作为运行在Master上的任务的备份。
l 作为Slave的Unit收到DHCP-REQUEST请求报文后,将报文重定向到Master Unit上,由Master上的DHCP服务器响应此请求。Master上的DHCP服务器将相应的DHCP-ACK或DHCP-NAK报文发回给DHCP客户端的同时,会将需要备份的信息实时发送到各个Slave Unit上。这样当Master出现故障时,由Slave变为Master的Unit能够马上承担起DHCP服务器的角色。
l DHCP协议是基于UDP的应用层协议,当处于IRF系统中的DHCP服务器运行在二层设备上时,DHCP报文被硬件直接转发,UDP Helper无法将DHCP报文重定向给Master,而且DHCP服务器也不会收到DHCP报文而处于空闲状态。当二层设备升级为三层设备后,DHCP报文被UDP Helper重定向到Master Unit上的DHCP服务器处理。
l 当前IRF系统同一个或多个IRF系统合并(Merge)时,会选举产生新的Master,并且整个IRF系统会采用新的配置数据。这样就有可能使当前的系统配置信息全部丢失,其中包括DHCP服务器所配置的地址池等,新的IRF系统无法使用原来的DHCP服务器的配置信息,只能重新配置。
l 当前IRF系统分裂(Split)后,有可能使分裂后的某个IRF系统降为二层设备,此时DHCP服务器任务仍然存在于系统中,但因为其无法收到任何报文而处于空闲状态。当此IRF系统由于Merge等情况从二层设备再次变为三层设备时,其配置信息将采用新的IRF系统的配置信息,如果新的IRF系统内的配置信息没有关于DHCP服务器的配置,则需要重新配置。
l 在IRF系统中,处于堆叠状态的DHCP服务器上必须启用UDP Helper功能。
表2-1 DHCP服务器配置任务简介
配置任务 |
说明 |
详细配置 |
|
开启DHCP服务 |
必选 |
||
配置DHCP服务器的地址池 |
配置DHCP服务器的全局地址池 |
二者必选其一 |
|
配置DHCP服务器的接口地址池 |
|||
配置DHCP服务器的安全功能 |
可选 |
||
配置DHCP Accounting功能 |
可选 |
||
配置DHCP服务器对Option 82选项的处理方式 |
可选 |
只有开启该服务后,其它相关的DHCP配置才能生效。
表2-2 开启DHCP服务
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启DHCP服务 |
dhcp enable |
可选 缺省情况下,DHCP服务处于开启状态 |
S3600以太网交换机为防止恶意用户对未使用SOCKET的攻击,提高交换机的安全性,提供了如下功能:
l 在启动DHCP功能时,才打开DHCP使用的UDP 67和UDP 68端口。
l 在关闭DHCP功能时,同时关闭UDP 67和UDP 68端口。
具体的实现是:
l 执行dhcp enable命令开启DHCP服务后,如果没有配置DHCP服务器和DHCP中继功能,则保持UDP 67和UDP 68端口的关闭状态,如果配置了DHCP服务器或DHCP中继功能,则打开UDP 67和UDP 68端口。
l 执行undo dhcp enable命令关闭DHCP服务后,即使已经配置了DHCP服务器或DHCP中继功能,也将关闭UDP 67和UDP 68端口。
表2-3 DHCP服务器全局地址池配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置接口工作在DHCP服务器全局地址池模式 |
必选 |
||
创建DHCP地址池 |
必选 |
||
配置DHCP全局地址池的地址分配方式 |
配置采用静态绑定方式进行地址分配 |
二者必选其一,且对同一个全局地址池只能选一种方式 |
|
配置采用动态分配方式进行地址分配 |
|||
配置DHCP客户端的域名后缀 |
可选 |
||
配置DHCP客户端的DNS服务器地址 |
可选 |
||
配置DHCP客户端的WINS服务器地址 |
可选 |
||
配置DHCP客户端的网关地址 |
可选 |
||
配置DHCP客户端的BIMS服务器信息 |
可选 |
||
配置DHCP客户端的Option 184参数 |
可选 |
||
配置DHCP客户端的TFTP服务器地址及启动文件名 |
可选 |
||
配置DHCP自定义选项 |
可选 |
在配置接口工作在DHCP服务器全局地址池模式之后,当接口收到DHCP客户端发来的DHCP报文时,将从DHCP服务器的全局地址池中分配地址。
表2-4 配置接口工作在DHCP服务器全局地址池模式
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置接口工作在DHCP服务器全局地址池模式 |
配置当前接口 |
interface interface-type interface-number |
可选 缺省情况下,接口工作在DHCP服务器全局地址池模式 |
dhcp select global |
|||
quit |
|||
系统视图下,同时配置多个接口 |
dhcp select global { interface interface-type interface-number [ to interface-type interface-number ] | all } |
表2-5 创建DHCP地址池
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建DHCP地址池并进入DHCP地址池视图 |
dhcp server ip-pool pool-name |
必选 缺省情况下,没有创建DHCP地址池 |
根据客户端的实际需要,可以将地址池配置为采用静态绑定或动态分配方式进行地址分配,但对一个DHCP全局地址池不能同时配置这两种方式。
动态地址分配需要指定用于分配的地址范围,而静态地址绑定则可以看作是只包含一个地址的特殊的DHCP地址池。
某些客户端(如WWW服务器等)需要固定的IP地址,可以通过将客户端的MAC地址与IP地址绑定的方式实现。当具有此MAC地址的客户端申请IP地址时,DHCP服务器将根据客户端的MAC地址查找到对应的IP地址,并分配给客户端。
某些客户端在向DHCP服务器发送DHCP-DISCOVER报文申请IP地址时,会构建客户端ID并添加到报文中一起发送,如果在DHCP服务器上将客户端ID与IP地址绑定,则当该客户端申请IP地址时,DHCP服务器将根据客户端ID查找到对应的IP地址并分配给客户端。
目前一个全局DHCP地址池中只支持一个静态绑定,可以是IP地址与MAC地址的绑定,也可以是IP地址与客户端ID的绑定。
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入DHCP地址池视图 |
dhcp server ip-pool pool-name |
- |
|
配置静态绑定的IP地址 |
static-bind ip-address ip-address [ mask mask ] |
必选 缺省情况下,没有配置静态绑定的IP地址 |
|
配置静态绑定的MAC地址或客户端ID |
配置静态绑定的客户端MAC地址 |
static-bind mac-address mac-address |
二者必选其一 缺省情况下,没有配置静态绑定的MAC地址或客户端ID |
配置静态绑定的客户端ID |
static-bind client-identifier client-identifier |
l static-bind ip-address命令和static-bind mac-address或static-bind client-identifier命令必须配合使用。
l 在同一个全局DHCP地址池中,如果配置了static-bind mac-address命令后,再配置static-bind client-identifier命令,则后面的配置将会覆盖前面的配置,反之亦然。
l 在同一个全局DHCP地址池中,如果多次执行static-bind ip-address或static-bind mac-address或static-bind client-identifier命令,新的配置会覆盖已有配置。
l 静态绑定的IP地址不能是DHCP服务器的接口IP地址,否则静态绑定不生效。
l 客户端获得的静态绑定IP地址具有永久使用期限,不受地址池中配置的地址租期限制。
S3600以太网交换机为防止恶意用户对未使用SOCKET的攻击,提高交换机的安全性,提供了如下功能:
l 在启动DHCP功能时,才打开DHCP使用的UDP 67和UDP 68端口。
l 在关闭DHCP功能时,同时关闭UDP 67和UDP 68端口。
具体的实现是:
l 执行dhcp server ip-pool命令创建DHCP地址池后,即同时打开DHCP使用的UDP 67和UDP 68端口。
l 执行undo dhcp server ip-pool命令删除DHCP地址池,并关闭其它所有DHCP功能,即同时关闭DHCP使用的UDP 67和UDP 68端口。
对于动态分配给客户端的地址(包括永久的和租用期有限的动态地址),都需要配置地址池范围。目前,同一地址池中只能配置一个地址段,通过掩码设定地址范围的大小。
DHCP服务器在分配地址时,会自动排除已经通过dhcp server forbidden-ip命令禁止分配的IP地址(如网关、FTP服务器等),否则,同一地址分配给两个客户端会造成IP地址冲突。
对于不同的地址池,DHCP服务器可以指定不同的地址租用期限,但同一DHCP地址池中的地址具有相同的期限。地址租用有效期限不具有继承关系,即子地址池的地址租用期限不受父地址池配置的影响。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入DHCP地址池视图 |
dhcp server ip-pool pool-name |
- |
配置动态分配的IP地址范围 |
network network-address [ mask mask ] |
必选 缺省情况下,没有配置动态分配的IP地址范围,即没有可供分配的地址 |
配置动态分配的IP地址租用有效期限 |
expired { day day [ hour hour [ minute minute ] ] | unlimited } |
可选 缺省情况下,IP地址租用有效期限为1天 |
退回系统视图 |
quit |
- |
配置DHCP地址池中不参与自动分配的IP地址 |
dhcp server forbidden-ip low-ip-address [ high-ip-address ] |
可选 缺省情况下,除DHCP服务器接口的IP地址外,DHCP地址池中的所有IP地址都参与自动分配 |
l 在同一个DHCP全局地址池中,如果多次执行network命令,新的配置会覆盖已有配置。
l 多次执行dhcp server forbidden-ip命令,可以配置多个不参与自动分配的IP地址段。
l 如果用户配置的不参与自动分配的IP地址已经被配置为静态绑定地址,则该IP地址仍将被DHCP服务器自动分配至被绑定的MAC地址或客户端ID所在设备。
在DHCP服务器上,可以为每个地址池指定客户端使用的域名后缀。在给客户端分配IP地址的同时,也将域名后缀发送给客户端。
在客户端进行域名解析时,用户只需要输入域名的部分字段,客户端会自动将输入的域名加上域名后缀进行解析。有关域名后缀的详细介绍,请参见“域名解析”部分。
表2-8 配置DHCP客户端的域名后缀
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入DHCP地址池视图 |
dhcp server ip-pool pool-name |
- |
配置为DHCP客户端分配的域名后缀 |
domain-name domain-name |
必选 缺省情况下,没有配置为DHCP客户端分配的域名后缀 |
客户端通过域名访问Internet上的主机时,需要将域名解析为IP地址,这是通过DNS(Domain Name System,域名系统)实现的。为了使DHCP客户端通过域名成功访问Internet上的主机,DHCP服务器应在为客户端分配IP地址的同时指定DNS服务器地址。目前,每个DHCP地址池最多可以配置8个DNS服务器地址。
表2-9 配置DHCP客户端的DNS服务器地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入DHCP地址池视图 |
dhcp server ip-pool pool-name |
- |
配置为DHCP客户端分配的DNS服务器地址 |
dns-list ip-address&<1-8> |
必选 缺省情况下,没有配置为DHCP客户端分配的DNS服务器地址 |
对于使用Microsoft Windows操作系统的客户端,由WINS(Windows Internet Naming Service,Windows Internet名称服务)服务器为通过NetBIOS协议通信的主机提供主机名到IP地址的解析。所以,大部分Windows网络客户端需要进行WINS的设置。
为了使DHCP客户端实现主机名到IP地址的解析,DHCP服务器应在为客户端分配IP地址的同时指定WINS服务器地址。目前,每个DHCP地址池最多可以配置8个WINS服务器地址。
DHCP客户端在网络上使用NetBIOS协议通信时,需要在主机名和IP地址之间建立映射关系。根据获取映射关系方式的不同,NetBIOS节点分为四种:
l b类节点(b-node):“b”代表广播(broadcast),即此类节点采用广播方式获取映射关系。源节点通过发送带有目的节点主机名的广播报文来获取目的节点的IP地址,目的节点收到广播报文后,就将自己的IP地址返回给源节点。
l p类节点(p-node):“p”代表端到端(peer-to-peer),即此类节点采用发送单播报文与WINS服务器通信的方式获取映射关系。源节点给WINS服务器发送单播报文,如果WINS服务器收到单播报文,就返回源节点所请求的目的节点名所对应的IP地址。
l m类节点(m-node):“m”代表混合(mixed),是具有部分广播特性的p类节点。即此类节点首先发送广播报文来获取映射关系,如果没有获取到,则再发送单播报文与WINS服务器通信来获取映射关系。
l h类节点(h-node):“h”代表混合(hybrid),是具备“端到端”通信机制的b类节点。即此类节点首先发送单播报文与WINS服务器通信来获取映射关系,如果没有获取到,再发送广播报文来获取映射关系。
表2-10 配置DHCP客户端的WINS服务器地址和NetBIOS节点类型
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入DHCP地址池视图 |
dhcp server ip-pool pool-name |
- |
配置为DHCP客户端分配的WINS服务器地址 |
nbns-list ip-address&<1-8> |
必选 缺省情况下,没有配置为DHCP客户端分配的WINS服务器地址 |
配置为DHCP客户端分配的NetBIOS节点类型 |
netbios-type { b-node | h-node | m-node | p-node } |
可选 缺省情况下,没有配置为DHCP客户端分配的NetBIOS节点类型 |
如果配置DHCP客户端为b类NetBIOS节点,则不需要配置WINS服务器地址。
DHCP客户端访问本网段以外的服务器或主机时,数据必须通过网关进行转发。DHCP服务器可以在为客户端分配IP地址的同时指定网关的地址。
在DHCP服务器上,可以为每个全局地址池分别指定客户端对应的网关地址。在给客户端分配IP地址的同时,也将网关地址发送给客户端。目前,每个DHCP地址池最多可以配置8个网关地址。
表2-11 配置DHCP客户端的网关地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入DHCP地址池视图 |
dhcp server ip-pool pool-name |
- |
配置为DHCP客户端分配的网关地址 |
gateway-list ip-address&<1-8> |
必选 缺省情况下,没有配置为DHCP客户端分配的网关地址 |
为了使DHCP客户端通过BIMS(Branch Intelligent Management System,分支智能管理系统)服务器进行软件的备份和升级等操作,DHCP服务器需要在为DHCP客户端分配IP地址的同时,将BIMS服务器的IP地址、端口号以及加密的共享密钥等信息也发给DHCP客户端。之后,DHCP客户端就可以定期向BIMS服务器发送连接请求,从BIMS服务器上获取配置文件,进行软件的备份和升级等操作。
表2-12 配置DHCP客户端的BIMS服务器信息
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入DHCP地址池视图 |
dhcp server ip-pool pool-name |
- |
配置为客户端分配的BIMS服务器信息 |
bims-server ip ip-address [ port port-number ] sharekey key |
必选 缺省情况下,没有配置为客户端分配的BIMS服务器信息 |
Option 184是RFC中规定的保留选项,用户可以自定义该选项中携带的信息。在配置DHCP服务器后,可以使用该选项来定义四个子选项,使具有语音功能的DHCP客户端能够在通过DHCP获取IP地址的同时,获取到语音呼叫所需的相关信息。
Option 184中包含的子选项主要是携带了语音方面的信息,其子选项号和携带的信息具体如下:
l sub-option 1:NCP-IP(Network Call Processor IP Address),网络呼叫处理器IP地址。
l sub-option 2:AS-IP(Alternate Server IP Address),备选NCP服务器的IP地址。
l sub-option 3:Voice VLAN Configuration,语音VLAN配置。
l sub-option 4:Fail-Over Call Routing,Failover呼叫路由。
表2-13 Option 184中各子选项的含义
子选项 |
特点 |
作用 |
注意事项 |
NCP-IP (sub-option 1) |
该子选项携带了NCP(Network Call Processor,网络呼叫处理器)的IP地址 |
携带的NCP-IP地址可以标识作为网络呼叫控制源的服务器及应用程序下载服务器 |
在Option 184中若使用子选项,必须将其作为第一个子选项(sub-option 1) |
AS-IP (sub-option 2) |
该子选项携带了AS(Alternate Server,备选服务器)的IP地址 |
携带了备选NCP服务器的IP地址,用来作为NCP-IP的备份。当NCP-IP中携带的地址不可达或不合法时,才使用该选项指定的NCP服务器 |
只有定义了sub-option 1(NCP-IP子选项),AS-IP子选项才能生效 |
Voice VLAN Configuration (sub-option 3) |
该子选项携带了语音VLAN识别功能是否开启的标记以及VLAN ID |
该子选项由两部分组成: l 一部分携带了语音VLAN识别功能是否开启的标记 l 另一部分携带了语音VLAN的ID信息 |
l 当语音VLAN开启域标记为0时,表示没有开启语音VLAN识别功能,即使VLAN ID域中指定了语音VLAN ID,也将忽略该VLAN ID信息 l 当语音VLAN开启域标记为1时,表示开启语音VLAN识别功能 |
Fail-Over Call Routing (sub-option 4) |
该子选项携带了Failover呼叫路由的IP地址及其关联的拨号串,即SIP(Session Initiation Protocol,会话初始化协议)用户之间互相通信时对端的IP地址和呼叫号码。 |
当NCP服务器不可达时,SIP用户可以使用已配置的对端IP地址及呼叫号码直接与对端SIP用户建立连接并通信 |
- |
DHCP服务器添加Option 184的sub-option时,添加sub-option 2、sub-option 3或sub-option 4前必须先添加sub-option 1子选项,否则后面的子选项将无效。
DHCP服务器将Option 184信息添加在发往DHCP客户端的回应报文中。当DHCP客户端与DHCP服务器在同一网段时,DHCP服务器支持Option 184的工作机制如下:
(1) DHCP客户端向DHCP服务器发送请求报文,请求报文中携带Option 55选项,该选项中指明了请求Option 184的配置参数。
(2) DHCP服务器查看请求报文中的请求列表,然后在回应报文的options字段中添加Option 184及相应的sub-option后返回给DHCP客户端。
只有DHCP客户端在请求报文的Option 55选项中指明要求回应Option 184选项,DHCP服务器才会回应Option 184。
表2-14 配置为客户端分配的Option 184参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入DHCP地址池视图 |
dhcp server ip-pool pool-name |
- |
配置网络呼叫处理器的地址 |
voice-config ncp-ip ip-address |
必选 缺省情况下,没有配置网络呼叫处理器的地址 |
配置备用服务器的地址 |
voice-config as-ip ip-address |
可选 缺省情况下,没有配置备用服务器的地址 |
配置语音VLAN |
voice-config voice-vlan vlan-id { disable | enable } |
可选 缺省情况下,没有配置语音VLAN |
配置自动故障转移呼叫路由 |
voice-config fail-over ip-address dialer-string |
可选 缺省情况下,没有配置自动故障转移呼叫路由 |
只有配置了网络呼叫处理器的地址,其他配置才能生效。
设备在空配置启动时自动获取并执行配置文件的功能,被称为自动配置。具体过程如下:
(1) 设备在空配置启动时,系统会自动将设备的指定接口(如VLAN接口1)设置为DHCP客户端,并向DHCP服务器获取IP地址及后续获取配置文件所需要的信息(例如:TFTP服务器的IP地址、TFTP服务器名、启动文件名等)。
(2) 如果获取到相关信息,则DHCP客户端就可发起TFTP请求,从指定的TFTP服务器获取配置文件,之后设备就使用获取到的配置文件进行设备初始化工作。如果没有获取到相关信息,设备在空配置的情况下正常启动。
自动配置功能在空配置启动的设备上不需要进行任何配置,但需要在DHCP服务器上配置一些必需的参数,包括TFTP服务器地址、TFTP服务器名和启动文件名。
在DHCP服务器收到DHCP客户端发来的请求报文后,如果请求报文中的Option 55选项中有Option 66、Option 67或Option 150的参数,则会在为客户端分配IP地址的同时,将所配置的TFTP服务器的IP地址、TFTP服务器名或启动文件名等信息也发给DHCP客户端。之后,DHCP客户端就可以从TFTP服务器获取配置文件,完成设备的自动配置。
表2-15 配置DHCP客户端的TFTP服务器地址及启动文件名
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入DHCP地址池视图 |
dhcp server ip-pool pool-name |
- |
配置为DHCP客户端分配的TFTP服务器地址 |
tftp-server ip-address ip-address |
可选 缺省情况下,没有配置为DHCP客户端分配的TFTP服务器地址 |
配置为DHCP客户端分配的TFTP服务器名 |
tftp-server domain-name domain-name |
可选 缺省情况下,没有配置为DHCP客户端分配的TFTP服务器名 |
配置为DHCP客户端分配的启动文件名 |
bootfile-name bootfile-name |
可选 缺省情况下,没有配置为DHCP客户端分配的启动文件名 |
通过配置DHCP自定义选项,用户可以:
l 定义新的DHCP选项。随着DHCP的不断发展,新的可选项会陆续出现,为了支持这些新的选项,可以通过手工定义的方式将新选项添加到DHCP服务器的属性列表中。
l 扩展已有的DHCP选项。当前已提供的方式无法满足用户需求时(比如通过dns-list命令最多只能配置8个DNS服务器地址,如果用户需要配置的DNS服务器地址数目大于8,则该命令无法满足需求),可以通过配置DHCP自定义选项的方式进行扩展。
表2-16 配置DHCP自定义选项
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入DHCP地址池视图 |
dhcp server ip-pool pool-name |
- |
配置DHCP自定义选项 |
option code { ascii ascii-string | hex hex-string&<1-10> | ip-address ip-address&<1-8> } |
必选 缺省情况下,没有配置DHCP自定义选项 |
配置自定义选项可能会对DHCP的工作过程造成影响,请谨慎使用DHCP自定义选项。
当DHCP服务器采用接口地址池模式分配地址时,在接口地址池中的地址分配完之后,将会从包含该接口地址池网段的全局地址池中挑选IP地址分配给客户端,从而导致获取到全局地址池地址的客户端与获取到接口地址池地址的客户端处在不同网段,无法正常进行通信。
因此在采用接口地址池模式时,如果要求同一接口下的客户端分配到同一网段的地址,请注意该该接口对应VLAN内连接的自动获取IP地址的客户端数量不要超过本接口地址池可分配地址的数量。
接口地址池是在为接口配置了合法的单播IP地址,且在接口视图下配置dhcp select interface命令后由系统创建的,它的地址范围就是此接口所在的网段,并且只在此接口下有效。
对某些DHCP配置选项,系统提供对单个接口DHCP地址池配置及同时对指定接口范围的多个接口地址池配置功能,以方便用户,减少某些应用中的重复配置工作。
表2-17 DHCP服务器接口地址池配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置接口工作在DHCP服务器接口地址池模式 |
必选 |
||
配置DHCP接口地址池的地址分配方式 |
配置采用静态绑定方式进行地址分配 |
二者必选其一,且二者可以同时配置 |
|
配置采用动态分配方式进行地址分配 |
|||
配置DHCP客户端的域名后缀 |
可选 |
||
配置DHCP客户端的DNS服务器地址 |
可选 |
||
配置DHCP客户端的WINS服务器地址 |
可选 |
||
配置DHCP客户端的BIMS服务器信息 |
可选 |
||
配置DHCP客户端的Option 184参数 |
可选 |
||
配置DHCP客户端的TFTP服务器地址及启动文件名 |
可选 |
||
配置DHCP自定义选项 |
可选 |
S3600-EI系列以太网交换机作为DHCP服务器,工作在接口地址池模式时,为客户端分配的网关地址只能是该接口的主IP地址。
表2-18 配置接口工作在DHCP服务器接口地址池模式
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置接口工作在DHCP服务器接口地址池模式 |
配置当前接口 |
interface interface-type interface-number |
必选 缺省情况下,接口工作在DHCP服务器全局地址池模式 |
dhcp select interface |
|||
quit |
|||
系统视图下,同时配置多个接口 |
dhcp select interface { interface interface-type interface-number [ to interface-type interface-number ] | all } |
需要注意的是:在配置接口工作在DHCP服务器接口地址池模式前,需要在接口上配置IP地址。
S3600以太网交换机为防止恶意用户对未使用SOCKET的攻击,提高交换机的安全性,提供了如下功能:
l 在启动DHCP功能时,才打开DHCP使用的UDP 67和UDP 68端口。
l 在关闭DHCP功能时,同时关闭UDP 67和UDP 68端口。
具体的实现是:
l 执行dhcp select interface命令配置DHCP接口地址池后,即同时打开DHCP使用的UDP 67和UDP 68端口。
l 执行undo dhcp select interface命令删除DHCP接口地址池,并关闭其它DHCP服务,即同时关闭DHCP使用的UDP 67和UDP 68端口。
根据客户端的实际需要,可以选择采用静态地址绑定方式或动态地址分配方式。
某些客户端(如WWW服务器等)需要固定的IP地址,可以通过将客户端的MAC地址与IP地址绑定的方式实现。当具有此MAC地址的客户端申请IP地址时,DHCP服务器将根据客户端的MAC地址查找到对应的IP地址,并分配给客户端。
某些客户端在向DHCP服务器发送DHCP-DISCOVER报文申请IP地址时,会构建客户端ID并添加到报文中一起发送,DHCP服务器将根据客户端ID查找到对应的IP地址并分配给客户端。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置静态绑定 |
dhcp server static-bind ip-address ip-address { client-identifier client-identifier | mac-address mac-address } |
必选 缺省情况下,没有配置静态绑定 |
l 接口地址池静态绑定的IP地址必须与接口IP地址在同一网段。
l 一个接口地址池静态绑定的数量没有限制,只要绑定的IP地址与接口IP地址在同一网段即可。
l 一个IP地址只能与一个MAC地址或客户端ID进行静态绑定;同时,一个MAC地址或客户端ID也只能与一个IP地址进行静态绑定。
l 静态绑定的IP地址不能是DHCP服务器的接口IP地址,否则静态绑定不生效。
由于接口地址池是在为接口配置了合法的单播IP地址后自动创建的,它的动态分配的地址范围就是此接口所在的网段,并且只在此接口下有效。故不需再指定用于动态分配的地址范围。
DHCP服务器在分配地址时,会自动排除已经通过dhcp server forbidden-ip命令禁止分配的IP地址(如网关、FTP服务器等),否则,同一地址分配给两个客户端会造成IP地址冲突。
对于不同的地址池,DHCP服务器可以指定不同的地址租用期限,但同一DHCP地址池中的地址具有相同的期限。地址租用有效期限不具有继承关系,即子地址池的地址租用期限不受父地址池配置的影响。
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置动态分配的IP地址租用有效期限 |
配置当前接口 |
interface interface-type interface-number |
可选 缺省情况下,IP地址租用有效期限为1天 |
dhcp server expired { day day [ hour hour [ minute minute ] ] | unlimited } |
|||
quit |
|||
系统视图下,同时配置多个接口 |
dhcp server expired { day day [ hour hour [ minute minute ] ] | unlimited } { interface interface-type interface-number [ to interface-type interface-number ] | all } |
||
配置DHCP地址池中不参与自动分配的IP地址 |
dhcp server forbidden-ip low-ip-address [ high-ip-address ] |
可选 缺省情况下,接口地址池中的所有IP地址都参与自动分配 |
l 多次执行dhcp server forbidden-ip命令,可以配置多个不参与自动分配的IP地址段。
l 无论是全局地址池还是接口地址池,配置地址池中不参与自动分配的IP地址的命令是相同的,即dhcp server forbidden-ip命令。
l 如果用户配置的不参与自动分配的IP地址已经被配置为静态绑定地址,则该地址仍将被DHCP服务器自动分配至被绑定的MAC地址或客户端ID所在设备。
在DHCP服务器上,可以为每个接口地址池指定客户端使用的域名后缀。在给客户端分配IP地址的同时,也将域名后缀发送给客户端。
表2-21 配置DHCP客户端的域名后缀
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置为DHCP客户端分配的域名后缀 |
配置当前接口地址池 |
interface interface-type interface-number |
必选 缺省情况下,没有配置为DHCP客户端分配的域名后缀 |
dhcp server domain-name domain-name |
|||
quit |
|||
系统视图下,同时配置多个接口地址池 |
dhcp server domain-name domain-name { all | interface interface-type interface-number [ to interface-type interface-number ] } |
客户端通过域名访问Internet上的主机时,需要将域名解析为IP地址,这是通过DNS(Domain Name System,域名系统)实现的。因此,为了使DHCP客户端通过域名访问Internet上的主机,DHCP服务器应在为客户端分配IP地址的同时指定DNS服务器地址。目前,每个接口地址池最多可以配置8个DNS服务器地址。
表2-22 配置DHCP客户端的DNS器地址
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置为DHCP客户端分配的DNS服务器地址 |
配置当前接口 |
interface interface-type interface-number |
必选 缺省情况下,没有配置为DHCP客户端分配的DNS服务器的地址 |
dhcp server dns-list ip-address&<1-8> |
|||
quit |
|||
系统视图下,同时配置多个接口 |
dhcp server dns-list ip-address&<1-8> { interface interface-type interface-number [ to interface-type interface-number ] | all } |
对于使用Microsoft Windows操作系统的客户端,由WINS(Windows Internet Naming Service,Windows Internet名称服务)服务器为通过NetBIOS协议通信的主机提供主机名到IP地址的解析。所以,大部分Windows网络客户端需要进行WINS的设置。
为了使DHCP客户端实现主机名到IP地址的解析,DHCP服务器应在为客户端分配IP地址的同时指定WINS服务器地址。目前,每个DHCP地址池最多可以配置8个WINS服务器地址。
DHCP客户端在网络上使用NetBIOS协议通信时,需要在主机名和IP地址之间建立映射关系。根据获取映射关系方式的不同,NetBIOS节点分为四种:
l b类节点(b-node):“b”代表广播(broadcast),即此类节点采用广播方式获取映射关系。源节点通过发送带有目的节点主机名的广播报文来获取目的节点的IP地址,目的节点收到广播报文后,就将自己的IP地址返回给源节点。
l p类节点(p-node):“p”代表端到端(peer-to-peer),即此类节点采用发送单播报文与WINS服务器通信的方式获取映射关系。源节点给WINS服务器发送单播报文,如果WINS服务器收到单播报文,就返回源节点所请求的目的节点名所对应的IP地址。
l m类节点(m-node):“m”代表混合(mixed),是具有部分广播特性的p类节点。即此类节点首先发送广播报文来获取映射关系,如果没有获取到,则再发送单播报文与WINS服务器通信来获取映射关系。
l h类节点(h-node):“h”代表混合(hybrid),是具备“端到端”通信机制的b类节点。即此类节点首先发送单播报文与WINS服务器通信来获取映射关系,如果没有获取到,再发送广播报文来获取映射关系。
表2-23 配置DHCP客户端的WINS服务器地址和NetBIOS节点类型
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置为DHCP客户端分配的WINS服务器地址 |
配置当前接口 |
interface interface-type interface-number |
必选 缺省情况下,没有配置为DHCP客户端分配的WINS服务器地址 |
dhcp server nbns-list ip-address&<1-8> |
|||
quit |
|||
系统视图下,同时配置多个接口 |
dhcp server nbns-list ip-address&<1-8> { interface interface-type interface-number [ to interface-type interface-number ] | all } |
||
配置为DHCP客户端分配的NetBIOS节点类型 |
配置当前接口 |
interface interface-type interface-number |
必选 缺省情况下,没有配置为DHCP客户端分配的NetBIOS节点类型 |
dhcp server netbios-type { b-node | h-node | m-node | p-node } |
|||
quit |
|||
系统视图下,同时配置多个接口 |
dhcp server netbios-type { b-node | h-node | m-node | p-node } { interface interface-type interface-number [ to interface-type interface-number ] | all } |
如果配置DHCP客户端为b类NetBIOS节点,则不需要配置WINS服务器地址。
为了使DHCP客户端通过BIMS(Branch Intelligent Management System,分支网点智能管理系统)服务器进行软件的备份和升级等操作,DHCP服务器需要在为DHCP客户端分配IP地址的同时,将BIMS服务器的IP地址、端口号以及加密的共享密钥等信息也发给DHCP客户端。之后,DHCP客户端就可以定期向BIMS服务器发送连接请求,从BIMS服务器上获取配置文件,进行软件的备份和升级。
表2-24 配置DHCP客户端的BIMS服务器信息
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置为DHCP客户端分配的BIMS服务器信息 |
dhcp server bims-server ip ip-address [ port port-number ] sharekey key { interface interface-type interface-number [ to interface-type interface-number ] | all } |
必选 缺省情况下,没有配置为DHCP客户端分配的BIMS服务器信息 |
关于Option 184的基本概念和DHCP服务器支持Option 184的工作机制请参见2.4.10 配置DHCP客户端的Option 184参数。
表2-25 配置为DHCP客户端分配的Option 184参数
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置当前接口地址池的Option 184内容 |
进入接口视图 |
interface interface-type interface-number |
- |
配置网络呼叫处理器的地址 |
dhcp server voice-config ncp-ip ip-address |
必选 缺省情况下,没有配置网络呼叫处理器的地址 |
|
配置备用服务器的地址 |
dhcp server voice-config as-ip ip-address |
可选 缺省情况下,没有配置备用服务器的地址 |
|
配置语音VLAN |
dhcp server voice-config voice-vlan vlan-id { disable | enable } |
可选 缺省情况下,没有配置语音VLAN |
|
配置自动故障转移呼叫路由 |
dhcp server voice-config fail-over ip-address dialer-string |
可选 缺省情况下,没有配置自动故障转移呼叫路由 |
|
返回系统视图 |
quit |
- |
|
同时配置多个接口地址池为DHCP客户端分配的Option 184内容 |
配置网络呼叫处理器的地址 |
dhcp server voice-config ncp-ip ip-address { all | interface interface-type interface-number [ to interface-type interface-number ] } |
必选 缺省情况下,没有配置网络呼叫处理器的地址 |
配置备用服务器的地址 |
dhcp server voice-config as-ip ip-address { all | interface interface-type interface-number [ to interface-type interface-number ] } |
可选 缺省情况下,没有配置备用服务器的地址 |
|
配置语音VLAN |
dhcp server voice-config voice-vlan vlan-id { disable | enable } { all | interface interface-type interface-number [ to interface-type interface-number ] } |
可选 缺省情况下,没有配置语音VLAN |
|
配置自动故障转移呼叫路由 |
dhcp server voice-config fail-over ip-address dialer-string { all | interface interface-type interface-number [ to interface-type interface-number ] } |
可选 缺省情况下,没有配置自动故障转移呼叫路由 |
只有配置了网络呼叫处理器的地址,其他配置才能生效。
相关原理请参见2.4 配置DHCP服务器的全局地址池中的2.4.11 配置DHCP客户端的TFTP服务器地址及启动文件名部分。
表2-26 配置DHCP客户端的TFTP服务器地址及启动文件名
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置当前接口地址池为DHCP客户端分配的TFTP服务器地址及启动文件名 |
进入接口视图 |
interface interface-type interface-number |
- |
配置TFTP服务器地址 |
dhcp server tftp-server ip-address ip-address |
可选 缺省情况下,没有配置TFTP服务器地址 |
|
配置TFTP服务器名 |
dhcp server tftp-server domain-name domain-name |
可选 缺省情况下,没有配置TFTP服务器名 |
|
配置启动文件名 |
dhcp server bootfile-name bootfile-name |
可选 缺省情况下,没有配置启动文件名 |
|
返回系统视图 |
quit |
- |
|
配置指定接口地址池为DHCP客户端分配的TFTP服务器地址及启动文件名 |
配置TFTP服务器地址 |
dhcp server tftp-server ip-address ip-address { all | interface interface-type interface-number } |
可选 缺省情况下,没有配置TFTP服务器地址 |
配置TFTP服务器名 |
dhcp server tftp-server domain-name domain-name { all | interface interface-type interface-number } |
可选 缺省情况下,没有配置TFTP服务器名 |
|
配置启动文件名 |
dhcp server bootfile-name bootfile-name { all | interface interface-type interface-number } |
可选 缺省情况下,没有配置启动文件名 |
通过配置DHCP自定义选项,用户可以:
l 定义新的DHCP选项。随着DHCP的不断发展,新的可选项会陆续出现,为了支持这些新的选项,可以通过手工定义的方式将新选项添加到DHCP服务器的属性列表中。
l 扩展已有的DHCP选项。当前已提供的方式无法满足用户需求时(比如通过dns-list命令最多只能配置8个DNS服务器地址,如果用户需要配置的DNS服务器地址数目大于8,则该命令无法满足需求),可以通过配置DHCP自定义选项的方式进行扩展。
表2-27 配置DHCP自定义选项
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置DHCP自定义选项 |
配置当前接口 |
interface interface-type interface-number |
必选 缺省情况下,没有配置DHCP自定义选项 |
dhcp server option code { ascii ascii-string | hex hex-string&<1-10> | ip-address ip-address&<1-8> } |
|||
quit |
|||
系统视图下,同时配置多个接口 |
dhcp server option code { ascii ascii-string | hex hex-string&<1-10> | ip-address ip-address&<1-8> } { interface interface-type interface-number [ to interface-type interface-number ] | all } |
配置自定义选项可能会对DHCP的工作过程造成影响,请谨慎使用DHCP自定义选项。
在配置DHCP服务器后,为了提高DHCP服务的安全性,需要配置DHCP服务的安全功能。
在配置DHCP服务的安全功能之前,需完成DHCP服务器配置任务,可以是基于全局地址池,也可以是基于接口地址池。
如果网络中有私自架设的DHCP服务器,当客户端申请IP地址时,这台DHCP服务器就会与DHCP客户端进行交互,导致客户端获得错误的IP地址,这种私设的DHCP服务器称为伪DHCP服务器。
在DHCP服务器上开启伪DHCP服务器检测功能后,当DHCP服务器接收到siaddr字段(为客户端分配IP地址的服务器IP地址)不为0的DHCP报文时,DHCP服务器会记录报文中siaddr字段的值及接收到报文的接口信息,以便管理员及时发现并处理伪DHCP服务器。
表2-28 配置伪DHCP服务器检测功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启伪DHCP服务器检测功能 |
dhcp server detect |
必选 缺省情况下,伪DHCP服务器检测功能处于关闭状态 |
l 开启伪DHCP服务器检测功能后,对所有DHCP服务器都会进行记录,包括合法的DHCP服务器。管理员需要从系统日志中查找伪DHCP服务器。
l 开启伪DHCP服务器检测功能后,对每个DHCP服务器只记录一次。
为防止IP地址重复分配导致地址冲突,DHCP服务器为客户端分配地址前,需要先对该地址进行探测。
地址探测是通过ping功能实现的,通过检测是否能在指定时间内得到响应来判断是否有地址冲突。DHCP服务器发送目的地址为待分配地址的ICMP回显请求报文,如果在指定时间内收到回显响应报文,DHCP服务器从地址池中选择新的IP地址,并重复上述操作;如果在指定时间内没有得到回显响应报文,则继续发送ICMP回显请求报文,直到发送的回显请求报文达到最大值,如果仍然没有收到回显响应报文,则将地址分配给客户端,从而确保客户端被分得的IP地址唯一。
DHCP服务器通过ping操作来检测是否发生地址冲突,而DHCP客户端则通过发送免费ARP报文检测是否发生地址冲突。
表2-29 配置IP地址重复分配检测功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置DHCP服务器发送回显请求报文的最大数目 |
dhcp server ping packets number |
可选 缺省情况下,DHCP服务器发送回显请求报文的最大数目为2 |
配置DHCP服务器等待回显响应报文的超时时间 |
dhcp server ping timeout milliseconds |
可选 缺省情况下,DHCP服务器等待回显响应报文的超时时间为500毫秒 |
DHCP Accounting又称为DHCP计费,是指DHCP服务器在分配和释放租约时,通知RADIUS服务器开始计费或停止计费。DHCP服务器与RADIUS服务器配合使用,实现了网络计费功能,同时也在一定程度上保障了网络的安全。
在运行DHCP服务器功能的交换机上配置好AAA认证和RADIUS,DHCP服务器作为RADIUS的客户端。对于DHCP服务器作为RADIUS客户端的认证过程,请参考“AAA”模块的相关内容,这里将只介绍DHCP服务器与RADIUS服务器的计费交互过程。
l DHCP服务器通过DHCP-ACK报文将IP配置信息发送给DHCP客户端后,会发送Accounting START报文给指定的RADIUS服务器,RADIUS服务器将对Accounting START报文进行相应的处理,并进行记录。同时RADIUS服务器给DHCP服务器发送回应报文。
l 当DHCP服务器的租约被释放后,DHCP服务器将立刻发送Accounting STOP报文通知RADIUS服务器停止记录,然后RADIUS服务器对Accounting STOP报文进行相应的处理并停止记录。同时RADIUS服务器给DHCP服务器发送回应报文。释放租约的原因有:租约过期、收到用户的release请求、手工删除租约、手工删除地址池等。
若指定域的RADIUS服务器不可达,则Accounting START报文将在一定的时间间隔内重发三次,若三次后仍没有收到正确的回应报文,则不再发送Accounting START报文。
在配置DHCP Accounting前需完成如下配置:
l DHCP服务器的网络参数、地址池及地址分配租期等分配策略
l 配置DHCP客户端并启动DHCP服务
l 保证网络可达
表2-30 配置DHCP Accounting
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入地址池视图 |
dhcp server ip-pool pool-name |
必选 |
启动DHCP Accounting |
accounting domain domain-name |
必选 该命令指定的domain-name为domain命令创建的域 |
如果配置DHCP服务器处理Option 82选项,则当DHCP服务器收到带有Option 82选项的报文后,会在响应报文中携带Option 82选项,并为客户端分配IP地址等信息。
如果配置DHCP服务器忽略Option 82选项,则当DHCP服务器收到带有Option 82选项的报文,不会在响应报文中携带Option 82选项,只为客户端分配IP地址等信息。
有关Option 82选项的详细介绍,请参见3.1.3 DHCP中继支持Option 82部分。
表2-31 配置DHCP服务器对Option 82选项的处理方式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置DHCP服务器处理Option 82选项 |
dhcp server relay information enable |
可选 缺省情况下,DHCP服务器处理Option 82选项 |
完成上述配置后,在任意视图下执行display命令,可以显示配置DHCP服务器后的运行情况。通过查看显示信息,用户可以验证配置的效果。在用户视图下使用reset命令清除DHCP服务器的相关信息。
表2-32 DHCP服务器配置显示和维护
操作 |
命令 |
说明 |
查看DHCP的地址冲突统计信息 |
display dhcp server conflict { all | ip ip-address } |
display命令可以在任意视图下执行 |
查看DHCP地址池中的租约超期信息 |
display dhcp server expired { ip ip-address | pool [ pool-name ] | interface [ interface-type interface-number ] | all } |
|
查看DHCP地址池的可用地址信息 |
display dhcp server free-ip |
|
查看DHCP地址池中的地址绑定信息 |
display dhcp server ip-in-use { ip ip-address | pool [ pool-name ] | interface [ interface-type interface-number ] | all } |
|
查看DHCP服务器的统计信息 |
display dhcp server statistics |
|
查看DHCP地址池的树状结构信息 |
display dhcp server tree { pool [ pool-name ] | interface [ interface-type interface-number ] | all } |
|
清除DHCP地址冲突统计信息 |
reset dhcp server conflict { all | ip ip-address } |
reset命令可以在用户视图下执行 |
清除DHCP动态地址绑定信息 |
reset dhcp server ip-in-use { ip ip-address | pool [ pool-name ] | interface [ interface-type interface-number ] | all } |
|
清除DHCP服务器的统计信息 |
reset dhcp server statistics |
DHCP服务器的租约信息不会在执行save命令时保存到FLASH中,故当系统重新启动或使用reset dhcp server ip-in-use命令清除租约后,配置文件中将没有任何租约信息。此时客户端如果发出续约请求将会被拒绝,系统会让客户端重新申请IP地址。
常见的DHCP组网方式可分为两类:一种是DHCP服务器和客户端都在一个子网内,直接进行DHCP协议报文的交互;第二种是DHCP服务器和客户端分别处于不同的子网中,必须通过DHCP中继代理实现IP地址的分配。无论哪种情况下,DHCP服务器的配置是基本相同的。
l 作为DHCP服务器的Switch A为网段10.1.1.0/24中的客户端动态分配IP地址,该地址池网段分为两个子网网段:10.1.1.0/25和10.1.1.128/25;
l Switch A的两个VLAN接口,Vlan-interface1和Vlan-interface2的地址分别为10.1.1.1/25和10.1.1.129/25;
l 10.1.1.0/25网段内的地址租用期限为10天12小时,域名后缀为aabbcc.com,DNS服务器地址为10.1.1.2,WINS服务器地址为10.1.1.4,网关的地址为10.1.1.126;
l 10.1.1.128/25网段内的地址租用期限为5天,域名后缀为aabbcc.com,DNS服务器地址为10.1.1.2,无WINS服务器地址,网关的地址为10.1.1.254。
如果使用父子地址池的继承关系来进行配置时,请确保需要从一个子地址池分配的地址数目不要超过该子地址池可分配的数目,否则超出的申请将会从父地址池中进行分配,且所分配的属性(如网关等)也会按照父地址池的配置。
例如,本例中Vlan-interface1所连接的网络中如果有多个客户端申请IP地址,将首先从子地址池10.1.1.0/25中进行分配,当子地址池10.1.1.0/25中的地址全部分配之后,如果还有客户端需要分配IP地址,则会继续从父地址池10.1.1.0/24中分配地址,且所分配的属性将按照父地址池的配置。
故在本例中,建议从Vlan-interface1申请IP地址的客户端数目不要超过122个;从Vlan-interface2申请IP地址的客户端不要超过124个。
图2-1 DHCP服务器与客户端在同一网络中的组网示意图
(1) 配置端口属于VLAN及对应VLAN接口的IP地址(略)
(2) 配置DHCP服务
# 开启DHCP服务。
<SwitchA> system-view
[SwitchA] dhcp enable
# 配置不参与自动分配的IP地址(DNS服务器、WINS服务器和网关地址)。
[SwitchA] dhcp server forbidden-ip 10.1.1.2
[SwitchA] dhcp server forbidden-ip 10.1.1.4
[SwitchA] dhcp server forbidden-ip 10.1.1.126
[SwitchA] dhcp server forbidden-ip 10.1.1.254
# 配置DHCP地址池0的共有属性(地址池范围、客户端域名后缀、DNS服务器地址)。
[SwitchA] dhcp server ip-pool 0
[SwitchA-dhcp-pool-0] network 10.1.1.0 mask 255.255.255.0
[SwitchA-dhcp-pool-0] domain-name aabbcc.com
[SwitchA-dhcp-pool-0] dns-list 10.1.1.2
[SwitchA-dhcp-pool-0] quit
# 配置DHCP地址池1的属性(地址池范围、网关、地址租用期限、WINS服务器地址)。
[SwitchA] dhcp server ip-pool 1
[SwitchA-dhcp-pool-1] network 10.1.1.0 mask 255.255.255.128
[SwitchA-dhcp-pool-1] gateway-list 10.1.1.126
[SwitchA-dhcp-pool-1] expired day 10 hour 12
[SwitchA-dhcp-pool-1] nbns-list 10.1.1.4
[SwitchA-dhcp-pool-1] quit
# 配置DHCP地址池2的属性(地址池范围、地址租用期限、网关)。
[SwitchA] dhcp server ip-pool 2
[SwitchA-dhcp-pool-2] network 10.1.1.128 mask 255.255.255.128
[SwitchA-dhcp-pool-2] expired day 5
[SwitchA-dhcp-pool-2] gateway-list 10.1.1.254
3COM VCX设备作为DHCP客户端从DHCP服务器请求Option 184的所有子选项配置,H3C交换机作为DHCP服务器,并在全局地址池下配置支持Option 184功能。其中NCP-IP地址为3.3.3.3;Alternate Server IP地址为2.2.2.2;开启语音VLAN,且语音VLAN ID为3。Fail-Over IP地址为1.1.1.1,呼叫号码为99*。
l DHCP客户端配置
作为DHCP客户端的3COM VCX开启DHCP Client功能,并配置请求Option 184的所有子选项,配置过程略。
l DHCP服务器配置
# 进入系统视图开启DHCP服务。
<Sysname> system-view
[Sysname] dhcp enable
# 配置端口Ethernet1/0/1属于VLAN2,VLAN2接口的IP地址为10.1.1.1/24。
[Sysname] vlan 2
[Sysname-vlan2] port Ethernet 1/0/1
[Sysname-vlan2] quit
[Sysname] interface Vlan-interface 2
[Sysname-Vlan-interface2] ip address 10.1.1.1 255.255.255.0
[Sysname-Vlan-interface2] quit
# 配置VLAN 2的接口工作在DHCP服务器全局地址池模式。
[Sysname] dhcp select global interface Vlan-interface 2
# 进入DHCP地址池视图。
[Sysname] dhcp server ip-pool 123
# 在DHCP全局地址池视图下配置DHCP服务器支持Option 184。
[Sysname-dhcp-pool-123] network 10.1.1.1 0 mask 255.255.255.0
[Sysname-dhcp-pool-123] voice-config ncp-ip 3.3.3.3
[Sysname-dhcp-pool-123] voice-config as-ip 2.2.2.2
[Sysname-dhcp-pool-123] voice-config voice-vlan 3 enable
[Sysname-dhcp-pool-123] voice-config fail-over 1.1.1.1 99*
DHCP服务器的Ethernet1/0/1和Ethernet1/0/2分别属于VLAN 2和VLAN 3,且分别连接DHCP客户端及RADIUS服务器;Vlan-interface 2的IP地址为10.1.1.1/24;Vlan-interface3的IP地址为10.1.2.1/24;RADIUS服务器的IP地址为10.1.2.2/24;
l 在DHCP服务器上开启DHCP Accounting功能;
l DHCP全局地址池为10.1.1.0,DHCP服务器作为RADIUS客户端采用AAA方式进行认证。
图2-3 DHCP Accounting配置举例组网图
# 进入系统视图。
<Sysname> system-view
# 创建VLAN2。
[Sysname] vlan 2
[Sysname-vlan2] quit
# 创建VLAN3。
[Sysname] vlan 3
[Sysname-vlan3] quit
# 进入Ethernet1/0/1端口视图,并将该端口加入VLAN2。
[Sysname] interface Ethernet 1/0/1
[Sysname-Ethernet1/0/1] port access vlan 2
[Sysname-Ethernet1/0/1] quit
# 进入Ethernet1/0/2端口视图,并将该端口加入VLAN3。
[Sysname] interface Ethernet 1/0/2
[Sysname-Ethernet1/0/2] port access vlan 3
[Sysname-Ethernet1/0/2] quit
# 进入Vlan-interface2接口视图,配置该接口IP地址为10.1.1.1/24。
[Sysname] interface Vlan-interface 2
[Sysname-Vlan-interface2] ip address 10.1.1.1 24
[Sysname-Vlan-interface2] quit
# 进入Vlan-interface3接口视图,配置该接口IP地址为10.1.2.1/24。
[Sysname] interface Vlan-interface 3
[Sysname-Vlan-interface3] ip address 10.1.2.1 24
[Sysname-Vlan-interface3] quit
# 配置Domain、创建RADIUS方案并配置Domain和RADIUS关联。
[Sysname] radius scheme 123
[Sysname-radius-123] primary authentication 10.1.2.2
[Sysname-radius-123] primary accounting 10.1.2.2
[Sysname] domain 123
[Sysname-isp-123] scheme radius-scheme 123
[Sysname-isp-123] quit
# 配置DHCP服务器的地址池。
[Sysname] dhcp server ip-pool test
[Sysname-dhcp-pool-test] network 10.1.1.0 mask 255.255.255.0
# 配置DHCP Accounting。
[Sysname-dhcp-pool-test] accounting domain 123
客户端从DHCP服务器动态获得的IP地址与其他主机IP地址冲突。
可能是网络上有主机私自配置了IP地址,导致冲突。
l 断开客户端的网线,从另外一台主机执行ping操作,设置较长超时时间,检查网络中是否已经存在该IP地址的主机。
l 如果能够收到ping操作的响应消息,则说明该IP地址已由用户静态配置。在DHCP服务器上执行dhcp server forbidden-ip命令,禁止该IP地址参与动态地址分配。
l 连接好客户端的网线,在客户端释放并重新获取IP地址。以Windows XP为例,在Windows环境下运行cmd进入DOS环境,使用ipconfig/release命令释放IP地址,之后使用ipconfig/renew重新获取IP地址。
DHCP中继中对于接口的相关配置,目前只能在VLAN接口上进行。
由于在IP地址动态获取过程中采用广播方式发送报文,因此DHCP只适用于DHCP客户端和服务器处于同一个子网内的情况。为进行动态主机配置,需要在所有网段上都设置一个DHCP服务器,这显然是很不经济的。
DHCP中继功能的引入解决了这一难题:子网内的客户端可以通过DHCP中继与其他子网的DHCP服务器通信,最终获取到IP地址。这样,多个网络上的DHCP客户端可以使用同一个DHCP服务器,既节省了成本,又便于进行集中管理。
图3-1是DHCP中继的典型应用示意图。
图3-1 DHCP中继的典型组网应用
通过DHCP中继完成动态配置的过程中,DHCP客户端与DHCP服务器的处理方式与不通过DHCP中继时基本相同。下面只说明DHCP中继的转发过程,报文的具体交互过程请参见“1.2.2 IP地址动态获取过程”。
(1) 具有DHCP中继功能的网络设备收到DHCP客户端发送的DHCP-DISCOVER或DHCP-REQUEST广播报文后,根据配置将报文单播转发给指定的DHCP服务器。
(2) DHCP服务器进行IP地址等参数的分配,并通过DHCP中继将配置信息发送给客户端(发送方式根据客户端发送的DHCP-DISCOVER报文中的flag字段决定,具体请见1.3 DHCP报文格式的介绍),完成对客户端的动态配置。
Option 82是DHCP报文中的中继代理信息选项(Relay Agent Information Option),该选项记录了DHCP客户端的位置信息。管理员可以利用该选项定位DHCP客户端,实现对客户端的安全和计费等控制。支持Option 82选项的DHCP服务器还可以根据该选项的信息制订IP地址和其他参数的分配策略,提供更加灵活的地址分配方式。
Option 82选项最多可以包含255个子选项。若定义了Option 82,则至少要定义一个子选项。目前设备只支持两个子选项:sub-option 1(Circuit ID,电路ID子选项)和sub-option 2(Remote ID,远程ID子选项)。
由于RFC 3046对于Option 82的内容没有统一规定,不同厂商通常根据需要进行填充。目前,S3600系列以太网交换机作为DHCP中继设备,支持Option 82子选项的扩展填充格式,其默认情况下的填充内容如图3-2、图3-3所示(括号中的内容为该字段的固定取值)。
l sub-option 1的内容是接收到DHCP客户端请求报文的端口所属VLAN的编号以及端口索引(端口索引的取值为端口物理编号减1)。
l sub-option 2的内容是接收到DHCP客户端请求报文的DHCP中继设备的桥MAC地址。
图3-2 DHCP中继对Option 82中sub-option 1的填充内容
图3-3 DHCP中继对Option 82中sub-option 2的填充内容
DHCP客户端通过DHCP中继从DHCP服务器获取IP地址的过程与直接从DHCP服务器获取IP地址的过程基本相同,都要经历发现、提供、选择和确认四个阶段,这里将只介绍DHCP中继支持Option 82时的工作机制,具体如下:
(1) DHCP中继设备收到DHCP请求报文后,将检查报文中是否已有Option 82选项,并进行相应的处理。
l 如果请求报文中已有Option 82,DHCP中继设备会按照配置的策略对该报文进行处理(丢弃、用中继设备本身的Option 82选项替代报文中原有的Option 82选项或保持报文原有的Option 82选项),然后将请求报文转发给DHCP服务器。
l 如果请求报文中没有Option 82选项,则DHCP中继设备将Option 82选项添加到报文中后转发给DHCP服务器。
(2) DHCP中继设备收到DHCP服务器的返回报文后,将剥离报文中的Option 82信息,然后将带有DHCP配置信息的报文转发给DHCP客户端。
DHCP客户端发送的请求报文有两种,分别为DHCP-DISCOVER报文和DHCP-REQUEST报文。由于不同厂商生产的DHCP服务器设备对请求报文的处理机制不同,有些设备处理DHCP-DISCOVER报文中的Option 82信息,而有些处理DHCP-REQUEST报文中的Option 82信息,因此DHCP中继设备将在这两种报文中都添加Option 82选项。
当交换机处于IRF系统中时,要在交换机上配置DHCP中继,必须保证交换机上已经开启了UDP Helper配置。
表3-1 DHCP中继配置任务简介
配置任务 |
说明 |
详细配置 |
开启DHCP服务 |
必选 |
|
配置DHCP中继转发的目的服务器组 |
必选 |
|
配置DHCP中继的安全功能 |
可选 |
|
配置DHCP中继支持Option 82功能 |
可选 |
在进行DHCP中继配置之前,需要先开启DHCP服务。只有开启该服务后,其它相关的DHCP配置才能生效。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启DHCP服务 |
dhcp enable |
必选 缺省情况下,DHCP服务处于开启状态 |
需要注意的是:在S3600系列交换机中,只有S3600-EI系列支持dhcp enable命令;S3600-SI系列交换机不支持此命令,其DHCP服务功能始终开启。
为了提高可靠性,可以在一个网络中设置多个DHCP服务器。多个DHCP服务器构成一个DHCP服务器组。当接口与DHCP服务器组建立归属关系后,会将DHCP报文转发给服务器组中的所有服务器。
表3-3 配置DHCP中继转发的目的服务器组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置DHCP服务器组中DHCP服务器的地址 |
dhcp-server groupNo ip ip-address&<1-8> |
必选 缺省情况下,没有配置DHCP服务器组中的服务器的IP地址 |
配置接口与DHCP服务器组的归属关系 |
interface interface-type interface-number |
必选 缺省情况下,VLAN接口没有与任何一个DHCP服务器组建立归属关系 |
dhcp-server groupNo |
S3600以太网交换机为防止恶意用户对未使用SOCKET的攻击,提高交换机的安全性,提供了如下功能:
l 在启动DHCP功能时,才打开DHCP使用的UDP 67和UDP 68端口。
l 在关闭DHCP功能时,同时关闭UDP 67和UDP 68端口。
具体的实现是:
l 执行dhcp-server命令配置VLAN接口与DHCP服务器组的归属关系后,DHCP Relay功能开启,同时打开DHCP使用的UDP 67和UDP 68端口。
l 执行undo dhcp-server命令删除VLAN接口与DHCP服务器组的归属关系,并关闭其它DHCP服务,即同时关闭DHCP使用的UDP 67和UDP 68端口。
l 每个DHCP服务器组最多可以配置8个DHCP服务器地址。
l 每个DHCP服务器组可以对应多个接口。但每个接口只能对应一个DHCP服务器组。
l 如果多次执行dhcp-server groupNo命令,新的配置会覆盖已有配置。
l VLAN接口视图下的dhcp-server groupNo命令中所指定的组号,需事先通过dhcp-server groupNo ip ip-address&<1-8>命令进行配置。
S3600系列交换机中,只有S3600-EI系列支持DHCP中继地址匹配检查功能。
当客户端通过DHCP中继从DHCP服务器获取到IP地址时,DHCP中继可以自动记录客户端IP地址与MAC地址的绑定关系,生成DHCP中继的动态用户地址表项。同时,为满足用户采用合法固定IP地址访问外部网络的需求,DHCP中继也支持静态用户地址表项配置,即在DHCP中继上手工配置IP地址与MAC地址的绑定关系。
为了防止非法用户静态配置一个IP地址,并访问其他网络,设备支持DHCP中继的地址匹配检查功能。当接口上开启了该功能后,如果用户配置的IP地址与用户的MAC地址的对应关系与DHCP中继的用户地址表(包括DHCP中继动态记录的表项以及手工配置的用户地址表项)不匹配,则DHCP中继将不允许该用户访问外部网络。
表3-4 配置DHCP中继的地址匹配检查功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置DHCP中继的静态用户地址表项 |
dhcp-security static ip-address mac-address |
可选 缺省情况下,没有配置DHCP中继的静态用户地址表项(S3600系列交换机中,只有S3600-EI系列支持该配置) |
进入接口视图 |
interface interface-type interface-number |
- |
开启DHCP中继的地址匹配检查功能 |
address-check enable |
必选 缺省情况,禁止DHCP中继的地址匹配检查功能 (S3600系列交换机中,只有S3600-EI系列支持该配置) |
l DHCP中继的地址匹配检查功能与DHCP中继的其他配置无直接关系。即只要执行了address-check enable命令,地址匹配检查功能就可以生效,不需要配置DHCP中继的其他功能,如开启DHCP。
l 如果在连接DHCP服务器的接口上配置address-check enable命令,则需要在DHCP中继上配置DHCP服务器IP地址与MAC地址绑定的静态用户地址表项,否则会导致DHCP客户端申请不到IP地址。
S3600系列交换机中,只有S3600-EI系列支持DHCP中继握手功能和动态用户地址表项定时刷新功能。
当DHCP客户端通过DHCP中继从DHCP服务器获取到IP地址时,DHCP中继可以自动记录客户端IP地址与MAC地址的绑定关系,生成DHCP中继的动态用户地址表项。由于DHCP客户端释放该IP地址时,会发送单播DHCP-RELEASE报文给DHCP服务器,而DHCP中继不会处理该报文,造成DHCP中继的用户地址项不能被实时刷新。用户可以通过开启DHCP中继的握手功能和配置DHCP中继动态用户地址表项的定时刷新间隔,来解决上述问题。
当交换机上开启了DHCP中继握手功能后,DHCP中继将根据绑定关系中的IP地址和自己的MAC地址,每隔指定时间向DHCP服务器端发送握手报文(DHCP-REQUEST报文):
l 如果DHCP中继接收到服务器响应的DHCP-ACK报文或在指定时间内没有接收到DHCP服务器的响应报文,则表明这个IP地址已经可以进行分配,DHCP中继会将动态用户地址表中对应的表项老化掉;
l 如果DHCP中继接收到DHCP服务器响应的DHCP-NAK报文,则表示该IP地址的租约仍然存在,DHCP中继不会老化该IP地址对应的表项。
表3-5 配置DHCP中继动态用户地址表项刷新功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启DHCP中继握手功能 |
dhcp relay hand enable |
可选 缺省情况下,DHCP中继握手功能处于开启状态 (S3600系列交换机中,只有S3600-EI系列支持该配置) |
配置DHCP中继动态用户地址表项的定时刷新周期 |
dhcp-security tracker { interval | auto } |
可选 缺省情况下,自动计算DHCP中继动态用户地址表项的刷新周期 (S3600系列交换机中,只有S3600-EI系列支持该配置) |
目前,S3600-EI系列以太网交换机的DHCP中继握手功能,只支持与Windows 2000作为DHCP服务器时配合使用。
如果网络中有私自架设的DHCP服务器,当客户端申请IP地址时,这台DHCP服务器就会与DHCP客户端进行交互,导致客户端获得错误的IP地址,这种私设的DHCP服务器称为伪DHCP服务器。
在DHCP中继设备上开启伪DHCP服务器检测功能后,当其接收到siaddr字段(为客户端分配IP地址的服务器IP地址)不为0的DHCP报文时,DHCP中继设备会记录报文中siaddr字段的值及接收到报文的接口信息,以便管理员及时发现并处理伪DHCP服务器。
表3-6 配置伪DHCP服务器检测功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启伪DHCP服务器检测功能 |
dhcp-server detect |
必选 缺省情况下,伪DHCP服务器检测功能处于关闭状态 |
l 开启伪DHCP服务器检测功能后,对所有DHCP服务器都会进行记录,包括合法的DHCP服务器,管理员需要从系统日志中查找伪DHCP服务器。
l 开启伪DHCP服务器检测功能后,对每个DHCP服务器只记录一次。记录的DHCP服务器信息被清除后,将重新记录。
在配置DHCP中继支持Option 82功能前需要先进行下列配置:
l 配置DHCP中继设备的网络参数及中继功能
l 配置DHCP服务器的网络参数、地址池及地址分配租期等分配策略
l 通过配置保证中继和服务器之间路由可达
表3-7 配置DHCP中继支持Option 82功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置DHCP中继支持Option 82功能 |
dhcp relay information enable |
必选 缺省情况下,DHCP中继不支持Option 82功能 |
配置DHCP中继对包含Option 82的请求报文的处理策略 |
dhcp relay information strategy { drop | keep | replace } |
可选 缺省情况下,处理策略为replace |
l 缺省情况下,开启DHCP中继支持Option 82功能后,设备对包含Option 82的请求报文将采用replace策略进行处理。但如果之前配置了其他处理策略,则开启DHCP中继支持Option 82功能的操作不会改变已经配置的处理策略。
l 为使Option 82功能正常使用,需要在DHCP服务器和DHCP中继上都进行相应配置。
完成上述配置后,在任意视图下执行display命令,可以显示配置DHCP中继后的运行情况。通过查看显示信息,用户可以验证配置的效果。在用户视图下使用reset命令可以清除指定DHCP服务器组的统计信息。
表3-8 DHCP中继配置显示与维护
操作 |
命令 |
说明 |
显示DHCP服务器组的相关信息 |
display dhcp-server groupNo |
display命令可在任意视图下执行 |
显示VLAN接口对应的DHCP服务器组的相关信息 |
display dhcp-server interface Vlan-interface vlan-id |
|
显示DHCP中继记录的用户地址表项信息 |
display dhcp-security [ ip-address | dynamic | static | tracker ] |
|
清除指定DHCP服务器组的统计信息 |
reset dhcp-server groupNo |
reset命令在用户视图下执行 |
S3600系列以太网交换机中,只有S3600-EI系列支持display dhcp-security命令。
l 具有DHCP中继功能的Switch A通过端口(属于VLAN1)连接到DHCP客户端所在的网络,交换机VLAN接口1的IP地址为10.10.1.1/24,VLAN接口2的IP地址为10.1.1.2/24;
l DHCP服务器的IP地址为10.1.1.1/24;
l 通过Switch A转发DHCP报文,DHCP客户端可以从DHCP服务器上申请到10.10.1.0/24网段的IP地址及相关配置信息。
图3-4 DHCP中继组网示意图
# 配置DHCP服务器的组号为1,IP地址为10.1.1.1。
<SwitchA> system-view
[SwitchA] dhcp-server 1 ip 10.1.1.1
# 配置Vlan-interface1接口对应DHCP服务器组1。
[SwitchA] interface Vlan-interface 1
[SwitchA-Vlan-interface1] dhcp-server 1
l 为了使DHCP客户端能从DHCP服务器获得IP地址,还需要在DHCP服务器上进行一些配置。由于作为DHCP服务器的设备不同,所需进行的配置也不同,故此处从略。
l DHCP中继与DHCP服务器之间必须路由可达。
客户端不能通过DHCP中继获得配置信息。
可能中继的配置有问题。DHCP中继功能不正常时,可以打开调试开关,并通过执行display命令以显示调试信息和接口状态信息的方法来分析定位。
l 检查DHCP服务器和DHCP中继是否开启了DHCP服务。
l 检查DHCP服务器是否配置有DHCP客户端所在网段的地址池。
l 检查具有DHCP中继功能的网络设备和DHCP服务器是否配置有相互可达的路由。
l 检查具有DHCP中继功能的网络设备,查看在连接DHCP客户端所在网段的接口上是否配置有正确的DHCP服务器组,DHCP服务器组的IP地址配置是否正确。
l 如果在连接DHCP服务器的接口上配置address-check enable命令,则需要检查在DHCP中继上是否配置有DHCP服务器IP地址与MAC地址绑定的静态用户地址表项,否则会导致DHCP客户端申请不到IP地址。
出于安全性的考虑,网络管理员可能需要记录用户上网时所用的IP地址,确认用户从DHCP服务器获取的IP地址和用户主机的MAC地址的对应关系。
l 交换机可以通过运行在网络层的DHCP中继的安全功能记录用户的IP地址信息。
l 交换机可以通过运行在数据链路层的DHCP Snooping功能监听DHCP报文,记录用户的IP地址信息。
另外,在网络中如果有私自架设的DHCP服务器,将可能导致用户得到错误的IP地址。为了使用户能通过合法的DHCP服务器获取IP地址,DHCP Snooping安全机制允许将端口设置为信任端口与不信任端口。
l 信任端口是与合法的DHCP服务器直接或间接连接的端口。信任端口对接收到的DHCP报文正常转发,从而保证了DHCP客户端获取正确的IP地址。
l 不信任端口是不与合法的DHCP服务器连接的端口。如果从不信任端口接收到DHCP服务器响应的DHCP-ACK和DHCP-OFFER报文则会丢弃,从而防止了DHCP客户端获得错误的IP地址。
DHCP Snooping功能在S3600系列以太网交换机应用的典型组网如图4-1所示。图中的Switch A为S3600系列以太网交换机。
DHCP Snooping通过以下两种方法来获得用户从DHCP服务器获取的IP地址和用户MAC地址信息:
l 监听DHCP-REQUEST报文
l 监听DHCP-ACK报文
Option 82的基本概念和作用请参见3.1.3 DHCP中继支持Option 82部分介绍。
由于Option 82的内容没有统一规定,不同厂商通常根据需要进行填充。目前,S3600系列以太网交换机作为DHCP Snooping设备,对Option 82子选项在默认情况下的填充内容为:
l sub-option 1(Circuit ID,电路ID子选项)的内容是接收到DHCP客户端请求报文的端口所属VLAN的编号以及端口索引(端口索引的取值为端口物理编号减1)。
l sub-option 2(Remote ID,远程ID子选项)的内容是接收到DHCP客户端请求报文的DHCP Snooping设备的桥MAC地址。
缺省情况下,S3600系列以太网交换机作为DHCP Snooping设备,Option 82的实现格式为扩展格式。以默认填充内容为例,子选项的扩展格式如图4-2和图4-3所示。即:在Circuit ID子选项(或Remote ID子选项)中分别定义了Circuit ID(或Remote ID)的类型和长度。
在扩展格式中,Circuit ID(或Remote ID)的类型字段取值由存储格式决定。如果是HEX格式,则设置为0;如果是ASCII格式,则设置为1。
图4-2 Circuit ID子选项的扩展格式
图4-3 Remote ID子选项的扩展格式
在实际组网环境中,由于一些网络设备所支持的Option 82格式不支持Remote ID和Circuit ID的类型和长度标识,为了与这些设备正常互通,S3600系列以太网交换机支持配置Option 82的格式为标准格式。以默认填充内容为例,子选项的标准格式如图4-4和图4-5所示。即:在Circuit ID子选项(或Remote ID子选项)中不包含标识Circuit ID(或Remote ID)的类型和长度的两个字节。
图4-4 Circuit ID子选项的标准格式
图4-5 Remote ID子选项的标准格式
设备配置了DHCP Snooping和DHCP Snooping支持Option 82功能后,当收到的DHCP客户端发送的DHCP请求报文中带有Option 82选项时,根据配置的处理策略和子选项内容不同,DHCP Snooping对报文的处理机制不同,详见表4-1。
表4-1 DHCP Snooping设备对携带Option 82选项的报文的处理方式
处理策略 |
子选项内容 |
DHCP Snooping设备对报文的处理 |
Drop |
- |
丢弃报文 |
Keep |
- |
保持报文中的Option 82选项不变并进行转发 |
Replace |
未配置子选项的内容 |
采用默认内容填充Option 82字段,替换报文中原有的Option 82选项并进行转发 存储格式为dhcp-snooping information format命令指定的格式(如果未配置此命令,则采用默认的HEX格式) |
配置了Circuit ID子选项的内容 |
将Option 82选项中Circuit ID填充为用户自定义的内容(存储格式为ASCII),替换原有的Option 82选项并进行转发 |
|
配置了Remote ID子选项的内容 |
将Option 82选项中Remote ID填充为用户自定义的内容(存储格式为ASCII),替换原有的Option 82选项并进行转发 |
当收到的DHCP客户端发送的DHCP请求报文中未带Option 82选项时,根据配置的子选项内容,对Option字段进行填充后,转发报文,详见表4-2。
表4-2 DHCP Snooping设备对未携带Option 82选项的报文的处理方式
子选项内容 |
DHCP Snooping设备对报文的处理 |
未配置子选项的内容 |
采用默认内容填充报文中的Option 82字段并进行转发 存储格式为dhcp-snooping information format命令指定的格式(如果未配置此命令,则采用默认的HEX格式) |
配置了Circuit ID子选项的内容 |
将Option 82选项中Circuit ID填充为用户自定义的内容(存储格式为ASCII)并进行转发 |
配置了Remote ID子选项的内容 |
将Option 82选项中Remote ID填充为用户自定义的内容(存储格式为ASCII)并进行转发 |
Option 82字段中对Circuit ID子选项或Remote ID子选项的内容的配置相互独立,可以单独配置也可以同时配置,且配置顺序不分先后。
当接收到DHCP服务器的DHCP回应报文时,如果报文中含有Option 82选项,则删除Option 82字段进行转发;如果报文中不含有Option 82选项,则直接转发。
DoS(Denial of Service,拒绝服务)攻击是指攻击者利用攻击工具向服务器发送大量伪造的不同源IP地址的请求报文,使网络无法正常工作。具体的影响如下:
l 耗尽服务器的资源,使其拒绝对其它请求的响应;
l 由于交换机接收到此类报文需上送CPU处理,因此请求报文数量过多,会导致交换机CPU利用率持续上升,不能正常工作。
交换机可以通过DHCP Snooping表和IP静态绑定表,对非法IP报文进行过滤。
交换机启用DHCP Snooping功能后,会生成一个DHCP Snooping表,用来记录客户端从DHCP服务器获取的IP地址、客户端的MAC地址、客户端连接到DHCP Snooping设备的端口编号、以及该端口所属VLAN的编号等信息,每条记录为DHCP Snooping表中的一个表项。
DHCP Snooping表只记录了通过DHCP方式动态获取IP地址的客户端信息,如果用户手工配置了固定IP地址,其IP地址、MAC地址等信息将不会被DHCP Snooping表记录,因此不能通过基于DHCP Snooping表项的IP过滤检查,导致用户无法正常访问外部网络。
为了能够让这些拥有合法固定IP地址的用户访问网络,交换机支持手工配置IP静态绑定表的表项,即:用户的IP地址、MAC地址及连接该用户的端口之间的绑定关系。以便顺利转发该用户的报文。
交换机对IP报文的两种过滤方式:
l 根据报文中的源IP地址进行过滤。如果报文的源IP地址、接收报文的交换机端口编号,与DHCP Snooping表或手工配置的IP静态绑定表表项一致,则认为该报文是合法的报文,直接转发;否则认为是非法报文,直接丢弃;
l 根据报文中的源IP地址和源MAC地址进行过滤。如果报文的源IP地址、源MAC地址、接收报文的交换机端口编号,与DHCP Snooping表或手工配置的IP静态绑定表表项一致,则认为该报文是合法的报文,直接转发;否则认为是非法报文,直接丢弃。
表4-3 配置DHCP Snooping功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启交换机DHCP Snooping功能 |
dhcp-snooping |
必选 缺省情况下,交换机的DHCP Snooping功能处于关闭状态 |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置当前端口为DHCP Snooping信任端口 |
dhcp-snooping trust |
必选 缺省情况下,开启DHCP Snooping功能后,设备的所有端口均为非信任端口 |
l 在S3600系列以太网交换机上开启DHCP Snooping功能后,不支持与之连接的客户端使用BOOTP方式动态获取IP地址。
l 为了使DHCP客户端能从合法的DHCP服务器获取IP地址,必须将与合法DHCP服务器相连的端口设置为信任端口,设置的信任端口和与DHCP客户端相连的端口必须在同一个VLAN内。
l 在已经组成IRF Fabric的S3600交换机上开启DHCP Snooping特性时,请将Fabric中所有设备上的Fabric端口设定为DHCP Snooping信任端口,以保证各设备连接的用户均可以正常分配到IP地址。在这种情况下,请不要将连接DHCP客户端和DHCP服务器的端口配置在Fabric的不同Unit上,否则客户端虽可以正常获取IP地址,但交换机可能无法正常记录DHCP Snooping表项。
l 建议用户不要在交换机上同时配置DHCP Snooping功能和灵活QinQ功能,否则可能导致DHCP Snooping功能无法正常使用。
配置DHCP Snooping支持Option 82功能之前,需要先开启交换机的DHCP Snooping功能,并配置信任端口。
表4-4 DHCP Snooping支持Option 82配置任务简介
配置任务 |
说明 |
详细配置 |
开启DHCP Snooping支持Option 82功能 |
必选 |
|
配置DHCP Snooping支持Option 82策略 |
可选 |
|
配置Option 82字段的存储格式 |
可选 |
|
配置Option 82中Circuit ID的内容 |
可选 |
|
配置Option 82中Remote ID的内容 |
可选 |
|
配置Option 82字段的填充格式 |
可选 |
表4-5 开启DHCP Snooping支持Option 82功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启DHCP Snooping支持Option 82功能 |
dhcp-snooping information enable |
必选 缺省情况下,DHCP Snooping支持Option 82功能处于关闭状态 |
表4-6 配置DHCP Snooping支持Option 82策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
对所有端口接收的包含Option 82选项请求报文配置全局处理策略 |
dhcp-snooping information strategy { drop | keep | replace } |
可选 缺省情况下,DHCP Snooping对带有Option 82选项的请求报文的处理策略为replace |
进入以太网端口视图 |
interface interface-type interface-number |
- |
对指定端口接收的包含Option 82选项请求报文配置端口处理策略 |
dhcp-snooping information strategy { drop | keep | replace } |
可选 缺省情况下,DHCP Snooping对带有Option 82选项的请求报文的处理策略为replace |
当同时配置了全局处理策略和指定端口的端口处理策略时,在该端口上优先使用端口处理策略进行处理,其它端口使用全局处理策略进行处理。
S3600系列以太网交换机支持对Option 82的存储格式进行配置,可以为十六进制数串格式(HEX),或ASCII码格式。
表4-7 配置Option 82的存储格式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置Option 82的存储格式 |
dhcp-snooping information format { hex | ascii } |
可选 缺省情况下,交换机对Option 82的存储格式为hex |
dhcp-snooping information format命令只对交换机默认填加的Option 82内容生效。如果用户通过命令配置了Circuit ID或Remote ID的内容,则相应子选项的存储格式为ASCII格式,不再受dhcp-snooping information format命令配置的约束。
表4-8 配置Option 82中Circuit ID的内容
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置Option 82中的Circuit ID的内容 |
dhcp-snooping information [ vlan vlan-id ] circuit-id string string |
可选 缺省情况下,Option 82中Circuit ID的内容为接收DHCP客户端请求报文的端口所属VLAN的编号及端口索引 |
l 如果在端口视图下既配置了指定vlan vlan-id参数的Circuit ID的内容,又配置了未指定vlan vlan-id参数的Circuit ID的内容,则对于该端口下指定VLAN内的DHCP报文,优先使用该VLAN的Circuit ID配置内容进行处理,其他VLAN内的DHCP报文使用未配置VLAN参数的Circuit ID的内容进行处理。
l 在端口汇聚组中,本命令允许对汇聚主端口和成员端口进行分别配置,但添加Option 82信息时,以端口汇聚组中主端口上配置的Circuit ID内容为准。
l 在端口上配置Option 82中Circuit ID的内容,不会在端口汇聚时进行汇聚同步,也不支持IRF功能。
配置Option 82中Remote ID的内容有两种方式。
l 系统视图下配置:对本设备所有端口生效。可以配置Option 82的内容为设备的系统名称或用户自定义的字符串,格式为ASCII。
l 端口视图下配置:只对设备的当前端口生效。配置内容为用户自定义的字符串,可以指定VLAN来进行配置,即对于属于不同VLAN的报文可以添加不同的配置规则,格式为ASCII。
表4-9 配置Option 82中Remote ID的内容
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
系统视图下,配置Option 82中Remote ID的内容 |
dhcp-snooping information remote-id { sysname | string string } |
可选 缺省情况下,Option 82中的Remote ID的内容为接收DHCP客户端请求报文的DHCP Snooping设备的MAC地址 |
进入以太网端口视图 |
interface interface-type interface-number |
- |
以太网端口视图下,配置Option 82中的Remote ID的内容 |
dhcp-snooping information [ vlan vlan-id ] remote-id string string |
可选 缺省情况下,Option 82中的Remote ID的内容为接收DHCP客户端请求报文的DHCP Snooping设备的MAC地址 |
l 如果同时在系统视图和端口视图下配置了Remote ID的内容,则在指定端口上优先使用端口配置内容进行处理,其它端口上使用全局配置内容进行处理。
l 如果在端口视图下既配置了指定vlan vlan-id参数的Remote ID的内容,又配置了未指定vlan vlan-id参数的Remote ID的内容,则对于该端口下指定VLAN内的DHCP报文,优先使用该VLAN的Remote ID配置内容进行处理,其他VLAN内的DHCP报文使用未配置VLAN参数的Remote ID的内容进行处理。
l 在端口汇聚组中,本命令允许对汇聚主端口和成员端口进行分别配置,但添加Option 82信息时,以端口汇聚组中主端口上配置的Remote ID内容为准。
l 在端口上配置Option 82中Remote ID的内容,不会在端口汇聚时进行汇聚同步,也不支持IRF功能。
表4-10 配置Option 82字段的填充格式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置Option 82字段的填充格式 |
dhcp-snooping information packet-format { extended | standard } |
可选 缺省情况下,Option 82字段的填充格式为扩展格式 |
表4-11 配置IP过滤功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
开启IP过滤功能 |
ip check source ip-address [ mac-address ] |
必选 缺省情况下,端口上的IP过滤功能处于关闭状态 |
配置IP静态绑定表项 |
ip source static binding ip-address ip-address [ mac-address mac-address ] |
可选 缺省情况下,没有配置IP静态绑定表项 |
l 配置IP过滤功能之前,需要先开启交换机的DHCP Snooping功能,并配置信任端口。
l 请用户不要在汇聚组中的端口或Fabric端口上配置IP过滤功能。
l 如果某端口下开启IP过滤功能时,指定了mac-address参数,则此端口下配置的IP静态绑定表项必须指定mac-address mac-address参数,否则该固定IP地址的客户端发送的报文无法通过IP过滤检查。
l S3600系列以太网交换机上手工配置的IP静态绑定表项的优先级高于DHCP Snooping动态表项。具体表现在:如果手工配置的IP静态绑定表项中的IP地址与已存在的DHCP Snooping动态表项的IP地址相同,则覆盖DHCP Snooping动态表项的内容;如果先配置了IP静态绑定表项,再开启交换机的DHCP Snooping功能,则DHCP客户端不能通过该交换机获取到IP静态绑定表项中已经存在的IP地址。
l 在端口上配置的IP静态绑定表项,其所属VLAN为端口的缺省VLAN值。
完成上述配置后,在任意视图下执行display命令,可以显示配置DHCP Snooping后的运行情况。通过查看显示信息,用户可以验证配置的效果。
操作 |
命令 |
说明 |
显示通过DHCP Snooping记录的用户IP地址和MAC地址的对应关系 |
display dhcp-snooping [ unit unit-id ] |
display命令可在任意视图下执行 |
显示DHCP Snooping开启状态及信任端口信息 |
display dhcp-snooping trust |
|
显示IP静态绑定表 |
display ip source static binding [ vlan vlan-id | interface interface-type interface-number ] |
如图4-6所示,Switch的端口Ethernet1/0/5与DHCP服务器端相连,端口Ethernet1/0/1、Ethernet1/0/2、Ethernet1/0/3分别与DHCP Client A、DHCP Client B、DHCP Client C相连。
l 在Switch上开启DHCP Snooping功能。
l 设置Switch上端口Ethernet1/0/5为DHCP Snooping信任端口。
l 在Switch上开启DHCP Snooping支持Option 82功能,且填充Option 82中Remote ID字段的内容为Switch的系统名称。对经过端口Ethernet1/0/3的属于VLAN 1的报文,填充Option 82中Circuit ID字段的内容为abcd。
图4-6 配置DHCP Snooping支持Option 82功能组网图
# 开启交换机DHCP Snooping功能。
<Switch> system-view
[Switch] dhcp-snooping
# 设置端口Ethernet1/0/5为DHCP Snooping信任端口。
[Switch] interface Ethernet1/0/5
[Switch-Ethernet1/0/5] dhcp-snooping trust
[Switch-Ethernet1/0/5] quit
# 开启DHCP Snooping支持Option 82功能。
[Switch] dhcp-snooping information enable
# 配置Option 82的Remote ID字段的内容为DHCP Snooping设备的系统名称。
[Switch] dhcp-snooping information remote-id sysname
# 在以太网端口Ethernet1/0/3上配置,对VLAN1内DHCP报文的Option 82中Circuit ID字段的内容填充为用户自定义内容abcd。
[Switch] interface Ethernet1/0/3
[Switch-Ethernet1/0/3] dhcp-snooping information vlan 1 circuit-id string abcd
如图4-7所示,Switch的端口Ethernet1/0/1连接DHCP 服务器;端口Ethernet1/0/2连接Host A,Host A的IP地址为1.1.1.1,MAC地址为0001-0001-0001;端口Ethernet1/0/3和端口Ethernet1/0/4连接DHCP Client B和DHCP Client C。
l 在Switch上开启DHCP Snooping功能,并设置端口Ethernet1/0/1为DHCP Snooping信任端口。
l 在Switch的端口Ethernet1/0/2,Ethernet1/0/3,Ethernet1/0/4上开启IP过滤功能,防止客户端使用伪造的不同源IP地址对服务器进行攻击。
l 在Switch上配置IP静态绑定表项,保证使用固定IP地址的客户端Host A正常访问外部网络。
图4-7 配置IP过滤组网图
# 开启交换机DHCP Snooping功能。
<Switch> system-view
[Switch] dhcp-snooping
# 设置端口Ethernet1/0/1为信任端口。
[Switch] interface Ethernet1/0/1
[Switch-Ethernet1/0/1] dhcp-snooping trust
[Switch-Ethernet1/0/1] quit
# 分别启用端口Ethernet1/0/2,Ethernet1/0/3和Ethernet1/0/4的IP过滤功能,根据端口接收的IP报文的源IP地址/源MAC地址对报文进行过滤。
[Switch] interface Ethernet1/0/2
[Switch-Ethernet1/0/2] ip check source ip-address mac-address
[Switch-Ethernet1/0/2] quit
[Switch] interface Ethernet1/0/3
[Switch-Ethernet1/0/3] ip check source ip-address mac-address
[Switch-Ethernet1/0/3] quit
[Switch] interface Ethernet1/0/4
[Switch-Ethernet1/0/4] ip check source ip-address mac-address
[Switch-Ethernet1/0/4] quit
# 在Switch的端口Ethernet1/0/2上配置IP静态绑定表项。
[Switch] interface Ethernet1/0/2
[Switch-Ethernet1/0/2] ip source static binding ip-address 1.1.1.1 mac-address 0001-0001-0001
为了防止ARP攻击和伪DHCP服务器攻击,需要将ARP报文和DHCP报文上送到CPU处理,判断报文的合法性。但是,这样引入了新的问题:如果恶意用户发送大量ARP报文或DHCP报文攻击设备,会导致CPU处理负担过重,从而造成其他功能无法正常运行甚至设备瘫痪。
S3600系列以太网交换机支持端口上ARP报文、DHCP报文限速功能,使受到攻击的端口暂时关闭,来避免此类攻击对设备CPU的冲击。ARP报文限速功能请参见本手册的“ARP”部分,本章只介绍DHCP报文限速功能。
开启以太网端口的DHCP报文限速功能后,交换机对每秒内该端口接收的DHCP报文数量进行统计,如果每秒收到的DHCP报文数量超过设定值,则认为该端口处于超速状态(即受到DHCP报文攻击)。此时,交换机将关闭该端口,使其不再接收任何报文,从而避免设备受到大量DHCP报文攻击而瘫痪。
同时,设备支持配置端口状态自动恢复功能,对于配置了DHCP限速功能的端口,在其因超速而被交换机关闭后,经过一段时间可以自动恢复为开启状态。
S3600系列以太网交换机设置了自动恢复功能,方便用户恢复超速端口。当端口同时设置ARP报文超速恢复时间和DHCP报文超速恢复时间时,以两者中的最短时间作为端口报文超速恢复时间。
表5-1 配置DHCP报文限速功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入端口视图 |
interface interface-type interface-number |
- |
开启DHCP报文限速功能 |
dhcp rate-limit enable |
必选 缺省情况下,端口的DHCP报文限速功能处于关闭状态 |
配置允许通过端口的DHCP报文的最大速率 |
dhcp rate-limit rate |
可选 缺省情况下,端口能通过的DHCP报文的最大速率为15pps |
开启端口状态自动恢复功能 |
dhcp protective-down recover enable |
可选 缺省情况下,交换机的端口状态自动恢复功能处于关闭状态 |
设置端口状态自动恢复时间 |
dhcp protective-down recover interval interval |
可选 缺省情况下,交换机的端口状态自动恢复时间为300秒 |
l 用户必须先开启交换机的端口状态自动恢复功能,才能设置端口状态自动恢复的时间。
l 建议用户不要在汇聚组中的端口上配置DHCP报文限速功能。
如图5-1所示,以太网交换机Switch(S3600)的端口Ethernet1/0/1与DHCP服务器端相连,端口Ethernet1/0/2与Client B相连,端口Ethernet1/0/11与Client A相连;
l 在Switch上开启DHCP Snooping功能,并设置端口Ethernet1/0/1为DHCP Snooping信任端口。
l 在端口Ethernet1/0/11上配置DHCP报文限速,并设置能通过的DHCP报文的最大速率为100pps;
l 配置Switch上DHCP报文超速恢复时间为30秒。
图5-1 配置DHCP报文限速组网图
# 开启交换机DHCP Snooping功能。
<Switch> system-view
[Switch] dhcp-snooping
# 设置端口Ethernet1/0/1为信任端口。
[Switch] interface Ethernet1/0/1
[Switch-Ethernet1/0/1] dhcp-snooping trust
[Switch-Ethernet1/0/1] quit
# 开启DHCP报文超速恢复功能。
[Switch] dhcp protective-down recover enable
# 设置DHCP报文超速恢复时间为30秒。
[Switch] dhcp protective-down recover interval 30
# 进入Ethernet1/0/11端口视图。
[Switch] interface Ethernet 1/0/11
# 开启Ethernet1/0/11端口的DHCP报文限速功能。
[Switch-Ethernet1/0/11] dhcp rate-limit enable
# 设置Ethernet1/0/11端口能通过的DHCP报文的最大速率为100pps。
[Switch-Ethernet1/0/11] dhcp rate-limit 100
指定设备的VLAN接口作为DHCP客户端后,可以使用DHCP协议从DHCP服务器动态获得IP地址等参数,方便用户配置,也便于集中管理。
客户端通过DHCP方式动态获取IP地址的过程请参见“1.2.2 IP地址动态获取过程”部分。
BOOTP是BOOTstrap Protocol(自举协议)的简称。指定设备的接口作为BOOTP客户端后,该接口可以使用BOOTP协议从BOOTP服务器获得IP地址等信息,从而方便用户配置。
使用BOOTP协议,管理员需要在BOOTP服务器上为每个BOOTP客户端配置BOOTP参数文件,该文件包括BOOTP客户端的MAC地址及其对应的IP地址等信息。当BOOTP客户端向BOOTP服务器发起请求时,服务器会查找BOOTP参数文件,并返回相应的配置信息。
BOOTP客户端从BOOTP服务器动态获取IP地址的具体过程如下:
(1) BOOTP客户端以广播方式发送BOOTP请求报文,其中包含了BOOTP客户端的MAC地址;
(2) BOOTP服务器接收到请求报文后,根据报文中的BOOTP客户端MAC地址,从配置文件数据库中查找对应的IP地址等信息,并向客户端返回包含这些信息的BOOTP响应报文;
(3) BOOTP客户端从接收到的响应报文中即可获得IP地址等信息。
由于DHCP服务器可以与BOOTP客户端进行交互,因此用户可以不配置BOOTP服务器,而使用DHCP服务器为BOOTP客户端分配IP地址。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN接口视图 |
interface Vlan-interface vlan-id |
- |
配置VLAN接口采用DHCP或BOOTP方式获取IP地址 |
ip address { bootp-alloc | dhcp-alloc } |
必选 缺省情况下,VLAN接口无IP地址 |
l 目前S3600系列以太网交换机作为DHCP客户端,可以持续占用一个IP地址的最长时间为24天。也就是说,即使DHCP服务器端地址池的租约时间长于24天,DHCP客户端也只能获取24天的租期。
l 若交换机处于IRF系统中,要在交换机的VLAN接口上通过DHCP动态获取IP地址时,必须保证交换机上已经开启了UDP Helper功能。
S3600系列以太网交换机为防止恶意用户对未使用SOCKET的攻击,提高交换机的安全性,提供了如下功能:
l 在启动DHCP功能时,才打开DHCP使用的UDP 67和UDP 68端口。
l 在关闭DHCP功能时,同时关闭UDP 67和UDP 68端口。
具体的实现是:
l 执行ip address dhcp-alloc命令启动DHCP客户端功能时,才打开DHCP使用的UDP 68端口。
l 执行undo ip address dhcp-alloc命令关闭DHCP客户端功能时,同时关闭UDP 68端口。
Switch B的端口(属于VLAN1)接入局域网,VLAN接口1通过DHCP协议从DHCP服务器获取IP地址。
如图2-1所示。
下面只列出图2-1中,作为DHCP客户端的Switch B的配置。
# 配置Vlan-interface1通过DHCP动态获取地址。
<SwitchB> system-view
[SwitchB] interface Vlan-interface 1
[SwitchB-Vlan-interface1] ip address dhcp-alloc
Switch B的端口(属于VLAN1)接入局域网,VLAN接口1通过BOOTP协议从DHCP服务器获取IP地址。
如图2-1所示。
下面只列出图2-1中,作为客户端的Switch B的配置。
# 配置VLAN接口1通过BOOTP动态获取地址。
<SwitchB> system-view
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] ip address bootp-alloc
表6-2 DHCP/BOOTP客户端显示
操作 |
命令 |
说明 |
查看DHCP客户端的相关信息 |
display dhcp client [ verbose ] |
可选 display命令可以在任意视图下执行 |
查看BOOTP客户端的相关信息 |
display bootp client [ interface Vlan-interface vlan-id ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!