03-DHCP配置
本章节下载: 03-DHCP配置 (567.86 KB)
目 录
3.1.3 DHCP Snooping支持Option 82功能
3.4.1 在普通组网中配置DHCP Snooping基本功能
3.5 配置DHCP Snooping支持Option 82功能
3.5.2 配置DHCP Snooping支持Option 82功能(接口视图)
3.5.3 配置DHCP Snooping支持Option 82功能(VLAN视图)
3.7 配置接口动态学习DHCP Snooping表项的最大数目
3.9.4 开启DHCP Snooping记录非信任DHCP服务器信息功能
3.10 开启DHCP Snooping的DHCP请求方向报文的giaddr字段检查功能
3.13.2 配置DHCP Snooping表项资源耗尽/恢复的告警功能
3.13.3 配置DHCP Snooping表项资源使用率大于等于阈值或恢复到低于阈值的告警功能
3.13.4 配置DHCP Snooping报文丢弃告警功能(一)
3.13.5 配置DHCP Snooping报文丢弃告警功能(二)
3.14 开启DHCP Snooping报文丢弃日志告警功能
3.17.2 按VLAN开启DHCP Snooping配置举例
3.17.3 DHCP Snooping支持Option 82配置举例
DHCP有8种类型的报文,每种报文的格式都相同,只是某些字段的取值不同。DHCP的报文格式如图1-1所示,括号中的数字表示该字段所占的字节。
图1-1 DHCP报文格式
各字段的解释如下:
· op:报文的操作类型,分为请求报文和响应报文,1为请求报文;2为响应报文。具体的报文类型在options字段中标识。
· htype、hlen:DHCP客户端的硬件地址类型及长度。
· hops:DHCP报文经过的DHCP中继的数目。DHCP请求报文每经过一个DHCP中继,该字段就会增加1。
· xid:客户端发起一次请求时选择的随机数,用来标识一次地址请求过程。
· secs:DHCP客户端开始DHCP请求后所经过的时间。目前没有使用,固定为0。
· flags:第一个比特为广播响应标识位,用来标识DHCP服务器响应报文是采用单播还是广播方式发送,0表示采用单播方式,1表示采用广播方式。其余比特保留不用。
· ciaddr:DHCP客户端的IP地址。如果客户端有合法和可用的IP地址,则将其添加到此字段,否则字段设置为0。此字段不用于客户端申请某个特定的IP地址。
· yiaddr:DHCP服务器分配给客户端的IP地址。
· siaddr:DHCP客户端获取启动配置信息的服务器IP地址。
· giaddr:DHCP客户端发出请求报文后经过的第一个DHCP中继的IP地址。
· chaddr:DHCP客户端的硬件地址。
· sname:DHCP客户端获取启动配置信息的服务器名称。
· file:DHCP服务器为DHCP客户端指定的启动配置文件名称及路径信息。
· options:可选变长选项字段,包含报文的类型、有效租期、DNS服务器的IP地址、WINS服务器的IP地址等配置信息。
有些选项的内容,RFC 2132中没有统一规定,例如Option 43、Option 82和Option 184。下面将介绍设备上定义的几种选项。
Option 82称为中继代理信息选项,该选项记录了DHCP客户端的位置信息。DHCP中继或DHCP Snooping设备接收到DHCP客户端发送给DHCP服务器的请求报文后,在该报文中添加Option 82,并转发给DHCP服务器。
管理员可以从Option 82中获得DHCP客户端的位置信息,以便定位DHCP客户端,实现对客户端的安全和计费等控制。支持Option 82的服务器还可以根据该选项的信息制定IP地址和其他参数的分配策略,提供更加灵活的地址分配方案。
Option 82最多可以包含255个子选项。若定义了Option 82,则至少要定义一个子选项。目前设备支持sub-option 1(Circuit ID,电路ID子选项)、sub-option 2(Remote ID,远程ID子选项)、sub-option 5(Link Selection,链路选择子选项)和sub-option 9(Vendor-specific,厂商指定信息子选项)等子选项。
由于Option 82的内容没有统一规定,不同厂商通常根据需要进行填充。
设备上,Circuit ID的填充模式有以下几种:
· 采用string模式填充:sub-option 1的内容是用户配置的字符串。
· 采用normal模式填充:sub-option 1的内容是接收到DHCP客户端请求报文的接口所属的VLAN ID以及接口编号。
· 采用verbose模式填充:sub-option 1的内容包括用户配置的接入节点标识,接收到DHCP客户端请求报文的接口类型、接口编号和接口所属的VLAN ID。
Remote ID的填充模式有以下几种:
· 采用string模式填充:sub-option 2的内容是用户配置的字符串。
· 采用normal模式填充:sub-option 2的内容是接收到DHCP客户端请求报文的接口MAC地址(DHCP中继)或设备的桥MAC地址(DHCP Snooping)。
· 采用sysname模式填充:sub-option 2的内容是设备的系统名称。设备的系统名称可以通过系统视图下的sysname命令配置。
Vendor-specific子选项仅支持采用BAS模式填充,填充的内容包括用户配置的接入节点标识,接收到DHCP客户端请求报文的接口类型、接口编号和接口所属的VLAN ID。只有DHCP Snooping支持填充该子选项。
与DHCP相关的协议规范有:
· RFC 2131:Dynamic Host Configuration Protocol
· RFC 2132:DHCP Options and BOOTP Vendor Extensions
· RFC 1542:Clarifications and Extensions for the Bootstrap Protocol
· RFC 3046:DHCP Relay Agent Information Option
· RFC 3442:The Classless Static Route Option for Dynamic Host Configuration Protocol (DHCP) version 4
为了方便用户配置和集中管理,可以指定设备的接口作为DHCP客户端,使用DHCP协议从DHCP服务器动态获得IP地址等参数。
DHCP客户端中对于接口的相关配置,目前只能在VLAN接口上进行。
DHCP客户端配置任务如下:
(2) 配置接口使用的DHCP客户端ID
DHCP客户端使用客户端ID从DHCP服务器获取特定地址时配置。
(3) (可选)开启地址冲突检查功能
(4) (可选)配置DHCP客户端发送DHCP报文的DSCP优先级
(5) (可选)配置DHCP客户端告警功能
配置接口通过DHCP协议获取IP地址,需要注意:
· 接口作为DHCP客户端多次申请IP地址失败后,将停止申请,并为接口配置缺省IP地址。
· 接口可以采用多种方式获得IP地址,新的配置方式会覆盖原有的配置方式。
· 当接口被配置为通过DHCP动态获取IP地址后,不能再给该接口配置从IP地址。
· 如果DHCP服务器为接口分配的IP地址与设备上其他接口的IP地址在同一网段,则该接口不会使用该IP地址,且会再向DHCP服务器重新申请IP地址。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口通过DHCP协议获取IP地址。
ip address dhcp-alloc
缺省情况下,空配置启动时,使用软件功能的缺省值,接口不通过DHCP协议获取IP地址。出厂配置启动时,使用软件功能的出厂值,设备启动时,VLAN1接口会自动通过DHCP协议获取IP地址,其他接口不通过DHCP协议获取IP地址。
关于空配置启动和出厂配置启动的详细介绍,请参见“基础配置指导”中的“配置文件管理”。
DHCP客户端ID用来填充DHCP报文Option 61,作为识别DHCP客户端的唯一标识。DHCP服务器可以根据客户端ID为特定的客户端分配特定的IP地址。DHCP客户端ID包括类型和取值两部分,用户可以通过ASCII字符串、十六进制数和指定接口的MAC地址来指定DHCP客户端ID:
· 当客户端ID的取值为ASCII字符串时,对应的类型值为00;
· 当客户端ID的取值为十六进制数时,对应的类型值为该十六进制数的前两个字符;
· 当客户端ID使用指定接口的MAC地址时,对应的类型值为01。
DHCP客户端ID类型值可通过命令display dhcp client进行查看。
用户在指定客户端ID时,需要确保不同客户端的客户端ID不能相同。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口使用的DHCP客户端ID。
dhcp client identifier { ascii ascii-string | hex hex-string | mac interface-type interface-number }
缺省情况下,根据本接口MAC地址生成DHCP客户端ID,如果本接口没有MAC地址,则获取设备第一个以太接口的MAC地址生成DHCP客户端ID。
通常情况下,DHCP客户端上开启地址冲突检查功能,通过发送和接收ARP报文,对DHCP服务器分配的IP地址进行地址冲突检测。
如果攻击者仿冒地址拥有者进行ARP应答,就可以欺骗DHCP客户端,导致DHCP客户端无法正常使用分配到的IP地址。在网络中存在上述攻击者时,建议在客户端上关闭地址冲突检查功能。
(1) 进入系统视图。
system-view
(2) 开启地址冲突检查功能。
dhcp client dad enable
缺省情况下,地址冲突检查功能处于开启状态。
DSCP优先级用来体现报文自身的优先等级,决定报文传输的优先程度。通过本配置可以指定DHCP客户端发送的DHCP报文的DSCP优先级。
(1) 进入系统视图。
system-view
(2) 配置DHCP客户端发送DHCP报文的DSCP优先级。
dhcp client dscp dscp-value
缺省情况下,DHCP客户端发送的DHCP报文的DSCP优先级为56。
DHCP客户端告警功能是用来将DHCP客户端上发生的重要事件告知给网络管理员,比如DHCP客户端申请地址失败或DHCP客户端获得的IP地址与本设备上的其它接口地址冲突。
当上述事件发生时,DHCP客户端模块会生成告警信息,并将告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 开启DHCP客户端的告警功能。
snmp-agent trap enable dhcp-client [ ip-apply-failed | local-conflict ]*
缺省情况下,DHCP客户端所有类型的告警功能均处于开启状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCP客户端的信息,通过查看显示信息验证配置的效果。
表2-1 DHCP客户端显示和维护
操作 |
命令 |
显示DHCP客户端的相关信息 |
display dhcp client [ verbose ] [ interface interface-type interface-number ] |
DHCP Snooping是DHCP的一种安全特性。
DHCP Snooping设备只有位于DHCP客户端与DHCP服务器之间,或DHCP客户端与DHCP中继之间时,DHCP Snooping功能配置后才能正常工作;设备位于DHCP服务器与DHCP中继之间时,DHCP Snooping功能配置后不能正常工作。
网络中如果存在私自架设的非法DHCP服务器,则可能导致DHCP客户端获取到错误的IP地址和网络配置参数,从而无法正常通信。为了使DHCP客户端能通过合法的DHCP服务器获取IP地址,DHCP Snooping安全机制允许将端口设置为信任端口和不信任端口:
· 信任端口正常转发接收到的DHCP报文。
· 不信任端口接收到DHCP服务器响应的DHCP-ACK和DHCP-OFFER报文后,丢弃该报文。
在DHCP Snooping设备上指向DHCP服务器方向的端口需要设置为信任端口,其他端口设置为不信任端口,从而保证DHCP客户端只能从合法的DHCP服务器获取IP地址,私自架设的伪DHCP服务器无法为DHCP客户端分配IP地址。
DHCP Snooping通过监听DHCP-REQUEST报文和信任端口收到的DHCP-ACK报文,记录DHCP Snooping表项,其中包括客户端的MAC地址、DHCP服务器为DHCP客户端分配的IP地址、与DHCP客户端连接的端口及VLAN等信息。利用这些信息可以实现:
· ARP快速应答:根据DHCP Snooping表项来判断是否进行ARP快速应答,从而减少ARP广播报文。ARP快速应答的详细介绍请参见“三层技术-IP业务配置指导”中的“ARP快速应答”。
· ARP Detection:根据DHCP Snooping表项来判断发送ARP报文的用户是否合法,从而防止非法用户的ARP攻击。ARP Detection的详细介绍请参见“安全配置指导”中的“ARP攻击防御”。
· MFF(MAC-Forced Forwarding):在MFF的自动方式中,设备截获到用户发送的ARP请求后,根据DHCP Snooping表项查找该用户对应的网关地址,并回复网关的MAC地址,强制用户将所有流量发送到网关,使得网关可以监控用户之间的数据流量,从而防止用户之间的恶意攻击,更好的保障网络安全。MFF的详细介绍请参见“安全配置指导”中的“MFF”。
· IP Source Guard:通过动态获取DHCP Snooping表项对端口转发的报文进行过滤,防止非法报文通过该端口。IP Source Guard的详细介绍请参见“安全配置指导”中的“IP Source Guard”。
· VLAN映射:发送给用户的报文通过查找指定VLAN对应的DHCP Snooping表项中的DHCP客户端IP地址、MAC地址和原始VLAN的信息,将报文的指定VLAN修改为原始VLAN。VLAN映射的详细介绍请参见“二层技术-以太网交换配置指导”中的“VLAN映射”。
如图3-1所示,在DHCP Snooping设备上指向DHCP服务器方向的端口需要设置为信任端口,以便DHCP Snooping设备正常转发DHCP服务器的应答报文,保证DHCP客户端能够从合法的DHCP服务器获取IP地址。
在多个DHCP Snooping设备级联的网络中,为了节省系统资源,不需要每台DHCP Snooping设备都记录所有DHCP客户端的IP地址和MAC地址的绑定信息,只需在与客户端直接相连不信任端口上记录绑定信息。间接与DHCP客户端相连的不信任端口不需要记录IP地址和MAC地址绑定信息。
图3-2 DHCP Snooping级联组网图
设备 |
记录绑定信息的不信任端口 |
不记录绑定信息的不信任端口 |
信任端口 |
Device A |
Port A1 |
Port A3 |
Port A2 |
Device B |
Port B3和Port B4 |
Port B1 |
Port B2 |
Device C |
Port C1 |
Port C3和Port C4 |
Port C2 |
Option 82记录了DHCP客户端的位置信息。管理员可以利用该选项定位DHCP客户端,实现对客户端的安全和计费等控制。Option 82的详细介绍请参见“1.2.1 中继代理信息选项(Option 82)”。
如果DHCP Snooping支持Option 82功能,则当设备接收到DHCP请求报文后,将根据报文中是否包含Option 82以及用户配置的处理策略及填充模式等对报文进行相应的处理,并将处理后的报文转发给DHCP服务器。具体的处理方式见表3-2。DHCP Snooping对Option 82的处理策略、填充模式与DHCP中继相同。
DHCP Snoopng还支持填充Option82选项的Vendor-specific子选项,当DHCP Snooping收到DHCP请求报文后,会填充Option 82的Vendor-specific子选项并转发该报文。选项内容包括节点标识、设备用户侧的接口信息和用户所在VLAN的信息等。当DHCP请求报文经过的所有DHCP Snooping设备上的Option 82的请求报文的处理策略都是append时,DHCP请求报文每经过一台DHCP Snooping,Vendor-specific子选项都会将当前DHCP Snooping设备的节点标识、设备用户侧的接口信息和用户所在VLAN的信息等添加到已有的Vendor-specific子选项中。管理设备收到DHCP请求报文后,通过解析报文中的Vendor-specific子选项就可以确定该请求报文经过的网络拓扑,方便定位用户所在的位置。
当设备接收到DHCP服务器的响应报文时,如果报文中含有Option 82,则删除Option 82,并转发给DHCP客户端;如果报文中不含有Option 82,则直接转发。
表3-2 DHCP Snooping支持Option 82的处理方式
收到DHCP请求报文 |
处理策略 |
DHCP Snooping对报文的处理 |
收到的报文中带有Option 82 |
Append |
按照如下处理方式处理报文并进行转发: · 若配置了dhcp snooping information vendor-specific命令,则按照此命令配置的内容向Option 82的Vendor-specific子选项添加内容 · 若未配置dhcp snooping information vendor-specific命令,则保持该报文中的Option 82不变 |
Drop |
丢弃报文 |
|
Keep |
保持报文中的Option 82不变并进行转发 |
|
Replace |
根据DHCP Snooping上配置的填充模式、内容、格式等填充Option 82,替换报文中原有的Option 82并进行转发 |
|
收到的报文中不带有Option 82 |
- |
根据DHCP Snooping上配置的填充模式、内容、格式等填充Option 82,添加到报文中并进行转发 |
配置DHCP Snooping基本功能时,需要注意:
· 如果二层以太网接口加入聚合组,则在该接口上进行的DHCP Snooping相关配置不会生效;该接口退出聚合组后,之前的配置才会生效。
· 为了使DHCP客户端能从合法的DHCP服务器获取IP地址,必须将与合法DHCP服务器相连的端口设置为信任端口,设置的信任端口和与DHCP客户端相连的端口必须在同一个VLAN内。
· 目前,可以设置为DHCP Snooping信任端口的接口类型包括:二层以太网接口、二层聚合接口。关于聚合接口的详细介绍,请参见“二层技术-以太网交换配置指导”中的“以太网链路聚合”。
DHCP Snooping配置任务如下:
(2) (可选)配置DHCP Snooping支持Option 82功能
(3) (可选)配置DHCP Snooping表项固化功能
(4) (可选)配置接口动态学习DHCP Snooping表项的最大数目
(5) (可选)配置DHCP Snooping报文限速功能
(6) (可选)配置DHCP Snooping安全功能
(7) (可选)开启DHCP Snooping的DHCP请求方向报文的giaddr字段检查功能
(8) (可选)开启DHCP Snooping的用户下线探测功能
(9) (可选)开启DHCP Snooping日志信息功能
(10) (可选)开启DHCP Snooping告警功能
(11) (可选)开启DHCP Snooping报文丢弃日志告警功能
(12) (可选)关闭接口的DHCP Snooping功能
在一台DHCP Snooping设备上,如果全局开启了DHCP Snooping功能,则设备上所有VLAN内的DHCP Snooping功能也同时开启。
对于某些组网来说,管理员只需要在设备在某些特定VLAN内开启DHCP Snooping功能,而不需要在整个设备上开启DHCP Snooping功能。为了满足此需求,设备支持在指定VLAN内开启DHCP Snooping功能,并在VLAN内配置DHCP Snooping信任端口和开启端口的DHCP Snooping表项记录功能。
在一台设备上,全局DHCP Snooping功能和VLAN内的DHCP Snooping功能关系如下:
· 如果全局开启了DHCP Snooping基本功能(包括开启DHCP Snooping功能、配置信任端口和配置DHCP Snooping表项记录功能),只能使用对应的全局命令关闭功能,使用VLAN内的命令关闭功能不生效;
· 如果VLAN内开启了DHCP Snooping基本功能(包括开启DHCP Snooping功能、配置信任端口和配置DHCP Snooping表项记录功能),只能使用对应的VLAN内命令关闭功能,使用全局命令关闭功能不生效。
(1) 进入系统视图。
system-view
(2) 全局开启DHCP Snooping功能。
dhcp snooping enable
缺省情况下,DHCP Snooping功能处于关闭状态。
(3) 进入接口视图。
interface interface-type interface-number
此接口为连接DHCP服务器的接口。
(4) 配置端口为信任端口。
dhcp snooping trust
缺省情况下,在开启DHCP Snooping功能后,设备的所有端口均为不信任端口。
(5) (可选)开启端口的DHCP Snooping表项记录功能。
a. 退回系统视图。
quit
b. 进入接口视图。
interface interface-type interface-number
此接口为连接DHCP客户端的接口。
c. 开启DHCP Snooping表项记录功能。
dhcp snooping binding record
缺省情况下,DHCP Snooping表项记录功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 在指定VLAN内开启DHCP Snooping功能。
dhcp snooping enable vlan vlan-id-list
缺省情况下,所有VLAN内的DHCP Snooping功能处于关闭状态。
(3) 进入VLAN视图。
vlan vlan-id
该VLAN为开启了DHCP Snooping功能的VLAN。
(4) 配置指定接口为VLAN下DHCP Snooping功能的信任端口。
dhcp snooping trust interface interface-type interface-number
缺省情况下,在开启DHCP Snooping功能后,VLAN内的所有接口均为不信任端口。
(5) (可选)开启VLAN的DHCP Snooping表项记录功能。
dhcp snooping binding record
缺省情况下,VLAN的DHCP Snooping表项记录功能处于关闭状态。
配置DHCP Snooping支持Option 82功能时,需要注意:
· 如果二层以太网接口加入聚合组,则在该接口上进行的DHCP Snooping支持Option 82功能的配置不会生效;该接口退出聚合组后,之前的配置才会生效。
· 如果以设备名称(sysname)作为节点标识填充DHCP报文的Option 82,则设备名称中不能包含空格;否则,DHCP Snooping将不处理该报文。用户可以通过sysname命令配置设备名称,该命令的详细介绍请参见“基本配置命令参考”中的“设备管理”。
· DHCP Snooping功能和QinQ功能同时使用,或DHCP Snooping设备接收到的DHCP报文带有两层VLAN Tag时,如果采用verbose模式填充Option 82,则sub-option 1中VLAN ID字段的格式为“第一层VLAN Tag.第二层VLAN Tag”。例如,第一层VLAN Tag为10(十六进制值为a),第二层VLAN Tag为20(十六进制值为14),则VLAN ID字段的内容为“000a.0014”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启DHCP Snooping支持Option 82功能。
dhcp snooping information enable
缺省情况下,DHCP Snooping支持Option 82功能处于关闭状态。
(4) (可选)配置DHCP Snooping对包含Option 82的请求报文的处理策略。
dhcp snooping information strategy { append | drop | keep | replace }
缺省情况下,对带有Option 82的请求报文的处理策略为replace。
DHCP Snooping对包含Option 82请求报文的处理策略为append或replace时,需要配置Option 82的填充模式和填充格式;处理策略为keep或drop时,不需要配置Option 82的填充模式和填充格式。
(5) (可选)配置Circuit ID子选项的填充模式和填充格式。
dhcp snooping information circuit-id { normal-extended | [ vlan vlan-id ] string circuit-id | { normal | verbose [ node-identifier { mac | sysname | user-defined node-identifier } ] } [ format { ascii | hex } ] }
缺省情况下,Circuit ID子选项的填充模式为Normal,填充格式为hex。
如果以设备的系统名称(sysname)作为节点标识填充DHCP报文的Option 82,则系统名称中不能包含空格;否则,DHCP Snooping添加或替换Option 82失败。
(6) (可选)配置Remote ID子选项的填充模式和填充格式。
dhcp snooping information remote-id { normal [ format { ascii | hex } ] | [ vlan vlan-id ] { hex remote-id | string remote-id | sysname } }
缺省情况下,Remote ID子选项的填充模式为Normal,填充格式为hex。
(7) (可选)配置Vendor-specific子选项的填充模式。
dhcp snooping information vendor-specific [ vlan vlan-id ] bas [ node-identifier { mac | sysname | user-defined string } ]
缺省情况下,设备不会填充Option 82的Vendor-specific子选项。
(1) 进入系统视图。
system-view
(2) 进入VLAN视图。
vlan vlan-id
(3) 开启DHCP Snooping支持Option 82功能。
dhcp snooping information enable
缺省情况下,DHCP Snooping支持Option 82功能处于关闭状态。
(4) (可选)配置DHCP Snooping对包含Option 82的请求报文的处理策略。
dhcp snooping information strategy { append | drop | keep | replace }
缺省情况下,对带有Option 82的请求报文的处理策略为replace。
DHCP Snooping对包含Option 82请求报文的处理策略为append或replace时,需要配置Option 82的填充模式和填充格式;处理策略为keep或drop时,不需要配置Option 82的填充模式和填充格式。
(5) (可选)配置Circuit ID子选项的填充模式和填充格式。
dhcp snooping information circuit-id { normal-extended | string circuit-id | { normal | verbose [ node-identifier { mac | sysname | user-defined node-identifier } ] } [ format { ascii | hex } ] }
缺省情况下,Circuit ID子选项的填充模式为Normal,填充格式为hex。
如果以设备的系统名称(sysname)作为节点标识填充DHCP报文的Option 82,则系统名称中不能包含空格;否则,DHCP Snooping添加或替换Option 82失败。
(6) (可选)配置Remote ID子选项的填充模式和填充格式。
dhcp snooping information remote-id { normal [ format { ascii | hex } ] | hex remote-id | string remote-id | sysname }
缺省情况下,Remote ID子选项的填充模式为Normal,填充格式为hex。
(7) (可选)配置Vendor-specific子选项的填充模式。
dhcp snooping information vendor-specific bas [ node-identifier { mac | sysname | user-defined string } ]
缺省情况下,设备不会填充Option 82的Vendor-specific子选项。
DHCP Snooping设备重启后,设备上记录的DHCP Snooping表项将丢失,DHCP Snooping与安全模块(如IP Source Guard)配合使用,则表项丢失会导致安全模块无法通过DHCP Snooping获取到相应的表项,进而导致DHCP客户端不能顺利通过安全检查、正常访问网络。
DHCP Snooping表项固化功能将DHCP Snooping表项保存到指定的文件中,DHCP Snooping设备重启后,自动根据该文件恢复DHCP Snooping表项,从而保证DHCP Snooping表项不会丢失。
执行undo dhcp snooping enable命令关闭DHCP Snooping功能后,设备会删除所有DHCP Snooping表项,文件中存储的DHCP Snooping表项不会被马上删除,需要在下一次DHCP Snooping表项保存文件操作时才能删除所有的DHCP Snooping表项。
(1) 进入系统视图。
system-view
(2) 指定存储DHCP Snooping表项的文件名称。
dhcp snooping binding database filename { filename | url url [ username username [ password { cipher | simple } string ] ] }
缺省情况下,未指定存储文件名称。
执行本命令后,会立即触发一次表项备份。
(3) (可选)将当前的DHCP Snooping表项保存到用户指定的文件中。
dhcp snooping binding database update now
本命令只用来触发一次DHCP Snooping表项的备份。
(4) (可选)配置刷新DHCP Snooping表项存储文件的延迟时间。
dhcp snooping binding database update interval interval
缺省情况下,若DHCP Snooping表项不变化,则不刷新存储文件;若DHCP Snooping表项发生变化,默认在300秒之后刷新存储文件。
通过本配置可以限制接口动态学习DHCP Snooping表项的最大数目,以防止接口学习到大量DHCP Snooping表项,占用过多的系统资源。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口动态学习DHCP Snooping表项的最大数目。
dhcp snooping max-learning-num max-number
缺省情况下,不限制接口动态学习DHCP Snooping表项的数目。
为了避免非法用户发送大量DHCP报文,对网络造成攻击,DHCP Snooping支持报文限速功能,限制接口接收DHCP报文的速率。当接口接收的DHCP报文速率超过限制的最高速率时,DHCP Snooping设备将丢弃超过速率限制的报文。
如果二层以太网接口加入了聚合组,则该接口采用对应二层聚合接口下的DHCP Snooping报文限速配置,如果二层以太网接口离开聚合组,则该接口采用二层以太网接口下的DHCP Snooping报文限速配置。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启DHCP Snooping的报文限速功能。
dhcp snooping rate-limit rate
缺省情况下, DHCP Snooping的报文限速功能处于关闭状态,即不限制接口接收DHCP报文的速率。
DHCP饿死攻击是指攻击者伪造chaddr字段各不相同的DHCP请求报文,向DHCP服务器申请大量的IP地址,导致DHCP服务器地址池中的地址耗尽,无法为合法的DHCP客户端分配IP地址,或导致DHCP服务器消耗过多的系统资源,无法处理正常业务。DHCP报文字段的相关内容请参见“1.1 DHCP报文格式”。
如果封装DHCP请求报文的数据帧的源MAC地址各不相同,则通过mac-address max-mac-count命令限制端口可以学习到的MAC地址数,并配置学习到的MAC地址数达到最大值时,丢弃源MAC地址不在MAC地址表里的报文,能够避免攻击者申请过多的IP地址,在一定程度上缓解DHCP饿死攻击。此时,不存在DHCP饿死攻击的端口下的DHCP客户端可以正常获取IP地址,但存在DHCP饿死攻击的端口下的DHCP客户端仍可能无法获取IP地址。
如果封装DHCP请求报文的数据帧的MAC地址都相同,则通过mac-address max-mac-count命令无法防止DHCP饿死攻击。在这种情况下,需要开启DHCP Snooping的MAC地址检查功能。开启该功能后,DHCP Snooping设备检查接收到的DHCP请求报文中的chaddr字段和数据帧的源MAC地址字段是否一致。如果一致,则认为该报文合法,将其转发给DHCP服务器;如果不一致,则丢弃该报文。mac-address max-mac-count命令的详细介绍,请参见“二层技术-以太网交换”中的“MAC地址表”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启DHCP Snooping的MAC地址检查功能。
dhcp snooping check mac-address
缺省情况下,DHCP Snooping的MAC地址检查功能处于关闭状态。
本功能用来检查DHCP续约报文、DHCP-DECLINE和DHCP-RELEASE三种DHCP请求方向的报文,以防止非法客户端伪造这三种报文对DHCP服务器进行攻击。
伪造DHCP续约报文攻击是指攻击者冒充合法的DHCP客户端,向DHCP服务器发送伪造的DHCP续约报文,导致DHCP服务器和DHCP客户端无法按照自己的意愿及时释放IP地址租约。如果攻击者冒充不同的DHCP客户端发送大量伪造的DHCP续约报文,则会导致大量IP地址被长时间占用,DHCP服务器没有足够的地址分配给新的DHCP客户端。
伪造DHCP-DECLINE/DHCP-RELEASE报文攻击是指攻击者冒充合法的DHCP客户端,向DHCP服务器发送伪造的DHCP-DECLINE/DHCP-RELEASE报文,导致DHCP服务器错误终止IP地址租约。
在DHCP Snooping设备上开启DHCP请求方向报文检查功能,可以有效地防止伪造DHCP请求方向报文攻击。如果开启了该功能,则DHCP Snooping设备接收到上述报文后,检查本地是否存在与请求方向报文匹配的DHCP Snooping表项。若存在,则接收报文信息与DHCP Snooping表项信息一致时,认为该报文为合法的DHCP请求方向报文,将其转发给DHCP服务器;不一致时,认为该报文为伪造的DHCP请求方向报文,将其丢弃。若不存在,则认为该报文合法,将其转发给DHCP服务器。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启DHCP Snooping的DHCP请求方向报文检查功能。
dhcp snooping check request-message
缺省情况下,DHCP Snooping的DHCP请求方向报文检查功能处于关闭状态。
在某些组网环境下,用户需要在DHCP Snooping设备的某一端口上丢弃该端口收到的所有DHCP请求方向报文,而又不影响其他端口正常接收DHCP报文。这时,用户可以在该端口上开启DHCP Snooping报文阻断功能。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启DHCP Snooping报文阻断功能。
dhcp snooping deny
缺省情况下,DHCP Snooping报文阻断功能处于关闭状态。
在端口上开启本功能后,DHCP Snooping设备会丢弃该端口收到的所有DHCP请求方向报文,这将导致该端口上的DHCP客户端无法申请到IP地址。因此,本功能只能在未连接DHCP客户端的端口上开启。
一般情况下,DHCP Snooping的非信任端口收到DHCP服务器的应答报文时,会认为是非信任DHCP服务器应答的报文,直接丢弃该报文。开启本功能后,DHCP Snooping的非信任端口收到DHCP服务器的应答报文时,除了丢弃该报文,还会记录非信任DHCP服务器的信息,并生成对应的日志信息提示管理员网络中存在非信任DHCP服务器。生成的DHCP日志信息会发送给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。
(1) 进入系统视图。
system-view
(2) 开启DHCP Snooping记录非信任DHCP服务器信息功能
dhcp snooping untrusted-server-record enable
缺省情况下,DHCP Snooping记录非信任DHCP服务器信息功能处于关闭状态。
DHCP请求报文中的giaddr字段记录了请求报文经过的第一跳DHCP中继的地址信息。DHCP Snooping设备只有位于DHCP客户端与DHCP服务器之间,或DHCP客户端与DHCP中继之间时,才能正常工作。当DHCP Snooping收到的DHCP请求报文中的giaddr字段不为0,表示DHCP Snooping设备位于DHCP中继与DHCP服务器之间,DHCP Snooping无法正常工作。开启本功能后,DHCP Snooping收到giaddr字段不为0的DHCP请求报文后,直接丢弃该报文。当丢弃的报文数大于或等于阈值时,DHCP Snooping会生成日志信息。管理员看到相关日志信息后,可以及时调整DHCP设备的位置,使DHCP Snooping可以正常工作。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启DHCP Snooping的DHCP请求方向报文的giaddr字段检查功能。
dhcp snooping check giaddr
缺省情况下,DHCP请求方向报文的giaddr字段检查功能处于关闭状态。
当DHCP客户端非正常下线时,不会向DHCP服务器发送报文释放地址租约,这会使DHCP服务器上无法获知DHCP客户端下线,导致地址租约浪费。开启本功能后,当设备上的某条ARP表项老化后,DHCP Snooping就认为该表项对应的DHCP客户端已经下线,则会删除对应的DHCP Snooping表项,并构造DHCP-RELEASE报文通知DHCP服务器删除对应的IP地址租约。
(1) 进入系统视图。
system-view
(2) 开启DHCP Snooping的用户下线探测功能。
(3) dhcp snooping client-detect
缺省情况下,DHCP Snooping的用户下线探测功能处于关闭状态。
DHCP Snooping日志可以方便管理员定位问题和解决问题。DHCP Snooping设备生成DHCP Snooping日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。
当DHCP Snooping设备输出大量日志信息时,可能会降低设备性能。为了避免该情况的发生,用户可以关闭DHCP Snooping日志信息功能,使得DHCP Snooping设备不再输出日志信息。
(1) 进入系统视图。
system-view
(2) 开启DHCP Snooping日志信息功能。
dhcp snooping log enable
缺省情况下,DHCP Snooping日志信息功能处于关闭状态。
DHCP Snooping告警功能是用来将DHCP Snooping设备发生的重要事件告知给网络管理员,比如DHCP Snooping接口上表项资源耗尽/恢复,DHCP Snooping接口上表项资源使用率大于等于阈值或恢复到低于阈值,DHCP Snooping丢弃报文数超过阈值。
开启DHCP Snooping模块的告警功能后,该模块会生成告警信息,用于报告该模块的重要事件。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。
有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 开启DHCP Snooping的告警功能。
snmp-agent trap enable dhcp snooping binding-exhaust
缺省情况下,DHCP Snooping表项资源耗尽/恢复的告警功能处于关闭状态。
(3) 进入接口视图。
interface interface-type interface-number
(4) (可选)开启单个接口DHCP Snooping表项资源耗尽/恢复的告警功能。
dhcp snooping exhaustion trap enable
缺省情况下,DHCP Snooping表项资源耗尽/恢复告警功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 开启DHCP Snooping的告警功能。
snmp-agent trap enable dhcp snooping binding-threshold
缺省情况下,DHCP Snooping表项资源使用率大于等于阈值或恢复到低于阈值的告警功能处于关闭状态。
(3) 进入接口视图。
interface interface-type interface-number
(4) (可选)设置单个接口DHCP Snooping表项资源使用率的告警门限阈值。
dhcp snooping learning-num-threshold threshold-value
缺省情况下,单个接口DHCP Snooping的表项使用率告警门限阈值为100%。
本章节的报文丢弃告警功能包括:
· 与DHCP Snooping表项不匹配而被丢弃的请求报文数达到阈值时的告警功能。
· 数据帧头中的源MAC地址与DHCP请求报文中的CHADDR字段不一致被丢弃的报文数达到阈值时的告警功能。
(1) 进入系统视图。
system-view
(2) 开启DHCP Snooping报文丢弃的SNMP模块告警信息功能。
snmp-agent trap enable dhcp snooping [ binding-mismatch | chaddr-mismatch ] *
缺省情况下,DHCP Snooping报文丢弃告警功能均处于关闭状态。
(3) 设置全局DHCP Snooping报文丢弃的告警阈值。
dhcp snooping alarm { mac-address | request-message } threshold threshold
缺省情况下,全局DHCP Snooping报文丢弃的告警阈值均为100。
mac-address和request-message参数分别对应单个接口配置下的chaddr-mismatch和binding-mismatch功能。
(4) 进入接口视图。
interface interface-type interface-number
(5) (可选)关闭单个接口DHCP Snooping报文丢弃告警功能。
undo dhcp snooping alarm { binding-mismatch | chaddr-mismatch } enable
缺省情况下,单个接口DHCP Snooping报文丢弃告警功能均处于关闭状态。
(6) (可选)设置单个接口DHCP Snooping报文丢弃的告警阈值。
dhcp snooping alarm { binding-mismatch | chaddr-mismatch } threshold threshold
缺省情况下,单个接口DHCP Snooping报文丢弃的告警阈值以全局系统视图下配置的告警阈值为准。
本章节的报文丢弃告警功能包括:
· 因接收的报文速率超过限速值而被丢弃的DHCP报文数达到阈值时的告警功能:当接口丢弃的报文数等于dhcp snooping trap threshold rate-limit命令设置的告警阈值时,设备会发送告警信息。
· 非信任接口丢弃DHCP服务器回应报文数达到阈值时的告警功能:
¡ 通过CPU软件端丢弃报文:CPU软件端将基于单个非信任接口对丢弃的DHCP服务器回应报文数进行统计计数,单个接口上丢弃的报文数达到阈值时,都将发送告警信息。
¡ 通过硬件驱动丢弃报文:设备硬件不区分接口,将基于全局对所有单板上非信任接口丢弃的DHCP服务器回应报文数进行统计计数,全局丢弃的报文数达到阈值时,才会发送告警信息。
开启DHCP Snooping报文丢弃的SNMP模块和DHCP模块的告警信息功能后,当发生以上两种报文丢弃告警事件时,SNMP模块和DHCP模块都会输出相应的告警信息。
(1) 进入系统视图。
system-view
(2) 开启DHCP Snooping报文丢弃的SNMP模块告警信息功能。
snmp-agent trap enable dhcp snooping [ rate-limit | untrust-reply ] *
缺省情况下,DHCP Snooping报文丢弃告警功能均处于关闭状态。
(3) 开启DHCP Snooping报文丢弃的DHCP模块告警信息功能。
dhcp snooping trap { rate-limit | untrust-reply { software | hardware } } enable
缺省情况下,全局DHCP Snooping所有类型的报文丢弃告警功能均处于关闭状态。
(4) 设置全局DHCP Snooping报文丢弃的告警阈值。
dhcp snooping trap { rate-limit | untrust-reply { software | hardware } } threshold threshold
缺省情况下,全局DHCP Snooping报文丢弃的告警阈值均为100。
(5) 进入接口视图。
interface interface-type interface-number
(6) (可选)关闭单个接口DHCP Snooping报文丢弃告警功能。
undo dhcp snooping trap { rate-limit | untrust-reply } enable
缺省情况下,单个接口DHCP Snooping报文丢弃告警功能均处于关闭状态。
(7) (可选)设置单个接口DHCP Snooping报文丢弃的告警阈值。
dhcp snooping trap { rate-limit | untrust-reply software } threshold threshold
缺省情况下,单个接口DHCP Snooping报文丢弃的告警阈值以全局系统视图下配置的告警阈值为准。
开启本功能后,当指定检查功能丢弃的报文数等于通过dhcp snooping alarm threshold命令指定的报文丢弃告警阈值时,设备就会生成相应的告警日志信息。告警后当前统计数据即被清除,设备开启新一轮统计,当DHCP Snooping丢弃的报文数再次达到阈值时,设备会继续输出告警日志。日志信息将会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。
只有首先执行dhcp snooping log enable命令开启DHCP Snooping日志信息功能后,本功能才能生效。
(1) 进入系统视图。
system-view
(2) 开启DHCP Snooping报文丢弃日志告警功能。
dhcp snooping alarm { giaddr | mac-address | request-message } enable
缺省情况下,DHCP Snooping报文丢弃日志告警功能处于关闭状态。
(3) 设置全局DHCP Snooping报文丢弃告警阈值。
dhcp snooping alarm { giaddr | mac-address | request-message } threshold threshold
缺省情况下,全局DHCP Snooping报文丢弃的告警阈值为100。
当管理员在设备或VLAN中开启DHCP Snooping功能后,该设备或整个VLAN内的所有接口也都开启了DHCP Snooping功能。为了灵活控制DHCP Snooping功能生效的接口范围,用户可以通过本功能关闭某个接口上的DHCP Snooping功能。
(1) 进入系统视图。
system-view
(2) 进入接口视图
interface interface-type interface-number
(3) 关闭接口的DHCP Snooping功能。
dhcp snooping disable
缺省情况下,当接口所在VLAN或设备上已经开启DHCP Snooping功能,接口的DHCP Snooping功能是开启的;当接口所在VLAN或设备上未开启DHCP Snooping功能,接口的DHCP Snooping功能是关闭的。
在完成上述配置后,在任意视图下执行display命令可以显示DHCP Snooping的配置情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除DHCP Snooping的统计信息。
表3-3 DHCP Snooping显示和维护
操作 |
命令 |
显示DHCP Snooping设备上指定接口的DHCP告警报文丢弃统计信息 |
display dhcp snooping alarm packet statistics interface interface-type interface-number |
显示DHCP Snooping表项信息 |
display dhcp snooping binding [ ip ip-address [ vlan vlan-id ] | interface interface-type interface-number ] [ verbose ] |
显示DHCP Snooping表项备份信息 |
display dhcp snooping binding database |
显示DHCP Snooping上Option 82的配置信息 |
display dhcp snooping information { all | interface interface-type interface-number } |
显示DHCP Snooping设备上的DHCP报文统计信息 |
display dhcp snooping packet statistics [ slot slot-number ] |
显示信任端口信息 |
display dhcp snooping trust |
清除DHCP Snooping设备上指定接口的DHCP告警报文丢弃统计信息 |
reset dhcp snooping alarm packet statistics interface interface-type interface-number |
清除DHCP Snooping表项 |
reset dhcp snooping binding { all | ip ip-address [ vlan vlan-id ] } |
清除DHCP Snooping设备上的DHCP报文统计信息 |
reset dhcp snooping packet statistics [ slot slot-number ] |
Switch B通过以太网端口GigabitEthernet1/0/1连接到合法DHCP服务器,通过以太网端口GigabitEthernet1/0/3连接到非法DHCP服务器,通过GigabitEthernet1/0/2连接到DHCP客户端。要求:
· 与合法DHCP服务器相连的端口可以转发DHCP服务器的响应报文,而其他端口不转发DHCP服务器的响应报文。
· 记录DHCP-REQUEST报文和信任端口收到的DHCP-ACK报文中DHCP客户端IP地址及MAC地址的绑定信息。
图3-3 DHCP Snooping组网示意图
# 全局开启DHCP Snooping功能。
<SwitchB> system-view
[SwitchB] dhcp snooping enable
# 设置GigabitEthernet1/0/1端口为信任端口。
[SwitchB] interface gigabitethernet 1/0/1
[SwitchB-GigabitEthernet1/0/1] dhcp snooping trust
[SwitchB-GigabitEthernet1/0/1] quit
# 在GigabitEthernet1/0/2上开启DHCP Snooping表项功能。
[SwitchB] interface gigabitethernet 1/0/2
[SwitchB-GigabitEthernet1/0/2] dhcp snooping binding record
[SwitchB-GigabitEthernet1/0/2] quit
配置完成后,DHCP客户端只能从合法DHCP服务器获取IP地址和其它配置信息,非法DHCP服务器无法为DHCP客户端分配IP地址和其他配置信息。且使用display dhcp snooping binding可查询到获取到的DHCP Snooping表项。
Switch B通过以太网端口GigabitEthernet1/0/1连接到合法DHCP服务器,通过以太网端口GigabitEthernet1/0/3连接到非法DHCP服务器,通过GigabitEthernet1/0/2连接到DHCP客户端。要求:
· VLAN 100上与合法DHCP服务器相连的端口可以转发DHCP服务器的响应报文,而其他端口不转发DHCP服务器的响应报文。
· 记录DHCP-REQUEST报文和信任端口收到的DHCP-ACK报文中DHCP客户端IP地址及MAC地址的绑定信息。
图3-4 按VLAN开启DHCP Snooping配置组网示意图
# 配置端口GigabitEthernet1/0/1、GigabitEthernet1/0/2和GigabitEthernet1/0/3为Access端口,允许VLAN 100通过。
<SwitchB> system-view
[SwitchB] vlan 100
[SwitchB-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3
[SwitchB-vlan100] quit
# 在VLAN100内开启DHCP Snooping功能。
[SwitchB] dhcp snooping enable vlan 100
# 指定端口GigabitEthernet1/0/1为VLAN 100下DHCP Snooping功能的信任端口。
[SwitchB] vlan 100
[SwitchB-vlan100] dhcp snooping trust interface gigabitethernet 1/0/1
# 在VLAN 100内开启DHCP Snooping表项记录功能。
[SwitchB-vlan100] dhcp snooping binding record
[SwitchB-vlan100] quit
配置完成后,DHCP客户端只能从合法DHCP服务器获取IP地址和其它配置信息,非法DHCP服务器无法为DHCP客户端分配IP地址和其他配置信息。且使用display dhcp snooping binding可查询到获取到的DHCP Snooping表项。
· Switch B上开启DHCP Snooping功能,并支持Option 82功能;
· 对包含Option 82的请求报文的处理策略为replace;
· 在GigabitEthernet1/0/2上配置Circuit ID填充内容为company001,Remote ID填充内容为device001;
· 在GigabitEthernet1/0/3上配置Circuit ID以verbose模式填充,接入节点标识为sysname,填充格式为ASCII格式,Remote ID填充内容为device001;
图3-5 DHCP Snooping支持Option 82配置示意图
# 开启DHCP Snooping功能。
<SwitchB> system-view
[SwitchB] dhcp snooping enable
# 设置GigabitEthernet1/0/1端口为信任端口。
[SwitchB] interface gigabitethernet 1/0/1
[SwitchB-GigabitEthernet1/0/1] dhcp snooping trust
[SwitchB-GigabitEthernet1/0/1] quit
# 在GigabitEthernet1/0/2上配置DHCP Snooping支持Option 82功能。
[SwitchB] interface gigabitethernet 1/0/2
[SwitchB-GigabitEthernet1/0/2] dhcp snooping information enable
[SwitchB-GigabitEthernet1/0/2] dhcp snooping information strategy replace
[SwitchB-GigabitEthernet1/0/2] dhcp snooping information circuit-id string company001
[SwitchB-GigabitEthernet1/0/2] dhcp snooping information remote-id string device001
[SwitchB-GigabitEthernet1/0/2] quit
# 在端口GigabitEthernet1/0/3上配置DHCP Snooping支持Option 82功能。
[SwitchB] interface gigabitethernet 1/0/3
[SwitchB-GigabitEthernet1/0/3] dhcp snooping information enable
[SwitchB-GigabitEthernet1/0/3] dhcp snooping information strategy replace
[SwitchB-GigabitEthernet1/0/3] dhcp snooping information circuit-id verbose node-identifier sysname format ascii
[SwitchB-GigabitEthernet1/0/3] dhcp snooping information remote-id string device001
配置完成后,使用display dhcp snooping information命令可查看到DHCP Snooping在端口GigabitEthernet1/0/2和GigabitEthernet1/0/3上Option 82的配置信息。
BOOTP是Bootstrap Protocol(自举协议)的简称。指定设备的接口作为BOOTP客户端后,该接口可以通过BOOTP协议从BOOTP服务器获取IP地址等信息,从而方便用户配置。
使用BOOTP协议时,管理员需要在BOOTP服务器上为每个BOOTP客户端配置BOOTP参数文件,该文件包括BOOTP客户端的MAC地址及其对应的IP地址等信息。当BOOTP客户端向BOOTP服务器发起请求时,服务器会查找BOOTP参数文件,并返回相应的配置信息。
由于BOOTP协议需要在BOOTP服务器上为每个客户端事先配置参数文件,BOOTP一般运行在相对稳定的环境中。当网络变化频繁时,推荐采用DHCP协议。
由于DHCP服务器可以与BOOTP客户端进行交互,因此用户可以不配置BOOTP服务器,而使用DHCP服务器为BOOTP客户端分配IP地址。DHCP服务器会按照服务器分配地址的优先次序为BOOTP客户端分配IP地址。
BOOTP客户端从BOOTP服务器动态获取IP地址的具体过程如下:
(1) BOOTP客户端以广播方式发送BOOTP请求报文,其中包含了BOOTP客户端的MAC地址;
(2) BOOTP服务器接收到请求报文后,根据报文中的BOOTP客户端MAC地址,从配置文件数据库中查找对应的IP地址等信息,并向客户端返回包含这些信息的BOOTP响应报文;
(3) BOOTP客户端从接收到的响应报文中即可获得IP地址等信息。
在下面的IP地址动态获取过程中,BOOTP服务器的功能可以用DHCP服务器替代。
与BOOTP相关的协议规范有:
· RFC 951:Bootstrap Protocol (BOOTP)
· RFC 2132:DHCP Options and BOOTP Vendor Extensions
· RFC 1542:Clarifications and Extensions for the Bootstrap Protocol
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
BOOTP客户端中对于接口的相关配置,目前只能在上进行。
(3) 配置接口通过BOOTP协议获取IP地址。
ip address bootp-alloc
缺省情况下,接口不通过BOOTP协议获取IP地址。
在完成上述配置后,在任意视图下执行display命令可以显示配置后BOOTP客户端的运行情况,通过查看显示信息验证配置的效果。
表4-1 BOOTP客户端显示和维护
操作 |
命令 |
显示BOOTP客户端的相关信息 |
display bootp client [ interface interface-type interface-number ] |
Switch B的端口(属于VLAN10)接入局域网,VLAN接口10通过BOOTP协议从DHCP服务器获取IP地址。
图4-1 BOOTP客户端组网图
下面只列出图4-1中作为客户端的Switch B的配置。
# 配置VLAN接口10通过BOOTP动态获取地址。
<SwitchB> system-view
[SwitchB] interface vlan-interface 10
[SwitchB-Vlan-interface10] ip address bootp-alloc
通过display bootp client命令可以查看BOOTP客户端申请到的IP地址。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!