14-DHCP配置
本章节下载 (363.97 KB)
目 录
3.1.3 DHCP Snooping支持Option 82功能
3.3 配置DHCP Snooping支持Option 82功能
3.3.2 配置DHCP Snooping支持Option 82功能
3.5.2 DHCP Snooping支持Option 82配置举例
由于在IP地址动态获取过程中采用广播方式发送请求报文,因此DHCP只适用于DHCP客户端和服务器处于同一个子网内的情况。为进行动态主机配置,需要在所有网段上都设置一个DHCP服务器,这显然是很不经济的。
DHCP中继功能的引入解决了这一难题:客户端可以通过DHCP中继与其他网段的DHCP服务器通信,最终获取到IP地址。这样,多个网络上的DHCP客户端可以使用同一个DHCP服务器,既节省了成本,又便于进行集中管理。
图1-1是DHCP中继的典型应用示意图。
图1-1 DHCP中继的典型组网应用
通过DHCP中继完成动态配置的过程中,DHCP客户端与DHCP服务器的处理方式与不通过DHCP中继时的处理方式基本相同。下面只说明DHCP中继的转发过程。
图1-2 DHCP中继的工作过程
如图1-2所示,DHCP中继的工作过程为:
(1) 具有DHCP中继功能的网络设备收到DHCP客户端以广播方式发送的DHCP-DISCOVER或DHCP-REQUEST报文后,将报文中的giaddr字段填充为DHCP中继的IP地址,并根据配置将报文单播转发给指定的DHCP服务器。
(2) DHCP服务器根据giaddr字段为客户端分配IP地址等参数,并通过DHCP中继将配置信息转发给客户端,完成对客户端的动态配置。
Option 82记录了DHCP客户端的位置信息。管理员可以利用该选项定位DHCP客户端,实现对客户端的安全和计费等控制。
如果DHCP中继支持Option 82功能,则当DHCP中继接收到DHCP请求报文后,将根据报文中是否包含Option 82以及用户配置的处理策略及填充模式等对报文进行相应的处理,并将处理后的报文转发给DHCP服务器。具体的处理方式见表1-1。
如果DHCP中继收到的应答报文中带有Option 82,则会将Option 82删除后再转发给DHCP客户端。
表1-1 DHCP中继支持Option 82的处理方式
收到DHCP请求报文 |
处理策略 |
填充模式 |
DHCP中继对报文的处理 |
收到的报文中带有Option 82 |
Drop |
任意 |
丢弃报文 |
Keep |
任意 |
保持报文中的Option 82不变并进行转发 |
|
Replace |
normal |
采用normal模式填充Option 82,替换报文中原有的Option 82并进行转发 |
|
verbose |
采用verbose模式填充Option 82,替换报文中原有的Option 82并进行转发 |
||
用户自定义 |
采用用户自定义的内容填充Option 82,替换报文中原有的Option 82并进行转发 |
||
收到的报文中不带有Option 82 |
- |
normal |
采用normal模式填充Option 82并进行转发 |
verbose |
采用verbose模式填充Option 82并进行转发 |
||
用户自定义 |
采用用户自定义的内容填充Option 82并进行转发 |
表1-2 DHCP中继配置任务简介
配置任务 |
说明 |
详细配置 |
使能DHCP服务 |
必选 |
|
配置接口工作在DHCP中继模式 |
必选 |
|
配置DHCP服务器组 |
必选 |
|
配置DHCP中继的安全功能 |
可选 |
|
配置通过DHCP中继释放客户端的IP地址 |
可选 |
|
配置DHCP中继支持Option 82功能 |
可选 |
只有使能DHCP服务后,其它相关的DHCP配置才能生效。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能DHCP服务 |
dhcp enable |
必选 缺省情况下,DHCP服务处于禁止状态 |
配置接口工作在中继模式后,当接口收到DHCP客户端发来的DHCP报文时,会将报文转发给DHCP服务器,由服务器分配地址。
表1-4 配置接口工作在DHCP中继模式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口工作在DHCP中继模式 |
dhcp select relay |
必选 缺省情况下,使能DHCP服务后,接口工作在DHCP服务器模式 |
DHCP客户端通过DHCP中继获取IP地址时,DHCP服务器上需要配置与DHCP中继的IP地址所在网段(网络号和掩码)完全相同的地址池,否则会导致DHCP客户端无法获得正确的IP地址。
为了提高可靠性,可以在一个网络中设置多个DHCP服务器。多个DHCP服务器构成一个DHCP服务器组。当接口与DHCP服务器组建立归属关系后,会将客户端发来的DHCP报文转发给服务器组中的所有服务器。
表1-5 配置DHCP服务器组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置DHCP服务器组中DHCP服务器的IP地址 |
dhcp relay server-group group-id ip ip-address |
必选 缺省情况下,没有配置DHCP服务器组中服务器的IP地址 |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口与DHCP服务器组的归属关系 |
dhcp relay server-select group-id |
必选 缺省情况下,接口没有与任何一个DHCP服务器组建立归属关系 |
l 设备上最多可以配置20个DHCP服务器组。每个DHCP服务器组最多可以配置8个DHCP服务器地址。
l DHCP服务器组中服务器的IP地址不能与DHCP中继的接口IP地址在同一网段。否则,可能导致客户端无法获得IP地址。
l 每个DHCP服务器组可以对应多个接口。但每个接口只能对应一个DHCP服务器组。在同一接口下多次执行dhcp relay server-select命令,新的配置会覆盖已有配置。但是,如果新指定的DHCP服务器组不存在时,新的归属关系配置不成功,接口还是维持与上一次配置的DHCP服务器组的归属关系。
l dhcp relay server-select命令中所指定的组号,需事先通过dhcp relay server-group命令进行配置。
当客户端通过DHCP中继从DHCP服务器获取到IP地址时,DHCP中继可以自动记录客户端IP地址与MAC地址的绑定关系,生成DHCP中继的动态用户地址表项。同时,为满足用户采用合法固定IP地址访问外部网络的需求,DHCP中继也支持静态用户地址表项配置,即在DHCP中继上手工配置IP地址与MAC地址的绑定关系。
为了防止非法主机静态配置一个IP地址并访问其他网络,设备支持DHCP中继的地址匹配检查功能。接口上使能该功能后,如果在DHCP中继的用户地址表中(包括DHCP中继动态记录的表项以及手工配置的用户地址表项)没有与主机IP地址和主机MAC地址匹配的表项,则该主机将不能通过DHCP中继访问外部网络。
表1-6 配置DHCP中继的地址匹配检查功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置DHCP中继的静态用户地址表项 |
dhcp relay security static ip-address mac-address [ interface interface-type interface-number ] |
可选 缺省情况下,没有配置DHCP中继的静态用户地址表项 |
进入接口视图 |
interface interface-type interface-number |
- |
配置DHCP中继的地址匹配检查功能 |
dhcp relay address-check { disable | enable } |
必选 缺省情况,禁止DHCP中继的地址匹配检查功能 |
l DHCP中继的地址匹配检查功能与DHCP中继的其他配置无直接关系。即只要执行了dhcp relay address-check enable命令,地址匹配检查功能就可以生效,不需要配置DHCP中继的其他功能,如使能DHCP、配置接口工作在DHCP中继模式等。
l 执行dhcp relay address-check enable命令后将只检查IP和MAC地址,不检查接口。
l 建议只在工作于DHCP中继模式的接口上配置地址匹配检查功能。否则,可能会导致合法的用户无法访问网络。
l 通过dhcp relay security static命令配置静态用户地址表项时,如果静态用户地址表项与接口绑定,配置的接口必须工作在DHCP中继模式,否则可能引起地址表项冲突。
当DHCP客户端通过DHCP中继从DHCP服务器获取到IP地址时,DHCP中继会记录IP地址与MAC地址的绑定关系。由于DHCP客户端释放该IP地址时,会给DHCP服务器发送单播DHCP-RELEASE报文,DHCP中继不会处理该DHCP报文的内容,造成DHCP中继的用户地址项不能被实时刷新。为了解决这个问题,DHCP中继支持动态用户地址表项的定时刷新功能。
DHCP中继动态用户地址表项定时刷新功能开启时,DHCP中继每隔指定时间以客户端分配到的IP地址和DHCP中继接口的MAC地址向DHCP服务器发送DHCP-REQUEST报文:
l 如果DHCP中继接收到DHCP服务器响应的DHCP-ACK报文或在指定时间内没有接收到DHCP服务器的响应报文,则表明这个IP地址已经可以进行分配,DHCP中继会将动态用户地址表中对应的表项老化掉;
l 如果DHCP中继接收到DHCP服务器响应的DHCP-NAK报文,则表示该IP地址的租约仍然存在,DHCP中继不会老化该IP地址对应的表项。
表1-7 配置DHCP中继动态用户地址表项定时刷新周期
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启DHCP中继动态用户地址表项定时刷新功能 |
dhcp relay security refresh enable |
可选 缺省情况下,DHCP中继动态用户地址表项定时刷新功能处于开启状态 |
配置DHCP中继动态用户地址表项的定时刷新周期 |
dhcp relay security tracker { interval | auto } |
可选 缺省情况下,定时刷新周期为auto,即根据表项的数目自动计算刷新时间间隔 |
如果网络中有私自架设的DHCP服务器,当客户端申请IP地址时,这台DHCP服务器就会与DHCP客户端进行交互,导致客户端获得错误的IP地址,这种私设的DHCP服务器称为伪DHCP服务器。
使能伪DHCP服务器检测功能后,DHCP中继会从接收到的DHCP报文中获取给客户端分配IP地址的服务器IP地址,并记录此IP地址及接收到报文的接口信息,以便管理员及时发现并处理伪DHCP服务器。
表1-8 配置伪DHCP服务器检测功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能伪DHCP服务器检测功能 |
dhcp relay server-detect |
必选 缺省情况下,禁止伪DHCP服务器检测功能 |
l 使能伪DHCP服务器检测功能后,对所有DHCP服务器都会进行记录,包括合法的DHCP服务器,管理员需要从日志信息中查找伪DHCP服务器。
l 使能伪DHCP服务器检测功能后,对每个DHCP服务器只记录一次。记录的DHCP服务器信息被清除后,将重新记录。
在某些情况下,可能需要通过DHCP中继手工释放客户端申请到的IP地址。配置通过DHCP中继释放客户端的IP地址后,DHCP中继会主动向DHCP服务器发送DHCP-RELEASE报文,DHCP服务器收到该报文后,将会释放指定IP地址的租约,同时DHCP中继上也会删除对应的用户地址表项。
表1-9 配置通过DHCP中继释放客户端的IP地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
向DHCP服务器请求释放客户端申请到的IP地址 |
dhcp relay release ip client-ip |
必选 |
在配置DHCP中继支持Option82功能之前,需完成DHCP中继的必配任务,即:
l 使能DHCP服务
l 配置接口工作在DHCP中继模式
l 配置DHCP服务器组
表1-10 配置DHCP中继支持Option 82功能
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
interface interface-type interface-number |
- |
|
使能DHCP中继支持Option 82功能 |
dhcp relay information enable |
必选 缺省情况下,禁止DHCP中继支持Option 82功能 |
|
配置DHCP中继对包含Option 82的请求报文的处理策略 |
dhcp relay information strategy { drop | keep | replace } |
可选 缺省情况下,处理策略为replace |
|
配置非用户自定义的Option 82 |
配置Option 82的填充模式 |
dhcp relay information format { normal | verbose [ node-identifier { mac | sysname | user-defined node-identifier } ] } |
可选 缺省情况下,Option 82的填充模式为normal |
配置Circuit ID子选项的填充格式 |
dhcp relay information circuit-id format-type { ascii | hex } |
可选 缺省情况下,Circuit ID子选项的填充格式由Option 82的填充模式决定,每个字段的填充格式不同 配置的填充格式只对非用户自定义的填充内容有效 |
|
配置Remote ID子选项的填充格式 |
dhcp relay information remote-id format-type { ascii | hex } |
可选 缺省情况下,采用HEX格式填充Remote ID子选项 配置的填充格式只对非用户自定义的填充内容有效 |
|
配置用户自定义的Option 82 |
配置Circuit ID子选项的内容 |
dhcp relay information circuit-id string circuit-id |
可选 缺省情况下,Circuit ID子选项的内容由Option 82的填充模式决定 |
配置Remote ID子选项的内容 |
dhcp relay information remote-id string { remote-id | sysname } |
可选 缺省情况下,Remote ID子选项的内容由Option 82的填充模式决定 |
l 为使Option 82功能正常使用,需要在DHCP服务器和DHCP中继上都进行相应配置。
l DHCP中继对包含Option 82请求报文的处理策略为replace时,需要配置Option 82的填充格式;处理策略为keep或drop时,不需要配置Option 82的填充格式。
l 如果以节点的设备名称(sysname)作为节点标识填充DHCP报文的Option 82,则设备名称中不能包含空格;否则,DHCP中继将丢弃该报文。
在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCP中继的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令清除DHCP中继的统计信息。
表1-11 DHCP中继显示和维护
操作 |
命令 |
显示接口对应的DHCP服务器组的信息 |
display dhcp relay { all | interface interface-type interface-number } |
显示DHCP中继上Option 82的配置信息 |
display dhcp relay information { all | interface interface-type interface-number } |
显示DHCP中继的用户地址表项信息 |
display dhcp relay security [ ip-address | dynamic | static ] |
显示DHCP中继用户地址表项的统计信息 |
display dhcp relay security statistics |
显示DHCP中继动态用户地址表项的定时刷新周期 |
display dhcp relay security tracker |
显示DHCP服务器组中服务器的IP地址。 |
display dhcp relay server-group { group-id | all } |
显示DHCP中继的相关报文统计信息 |
display dhcp relay statistics [ server-group { group-id | all } ] |
清除DHCP中继的统计信息 |
reset dhcp relay statistics [ server-group group-id ] |
l DHCP客户端所在网段为10.10.1.0/24,DHCP服务器的IP地址为10.1.1.1/24;
l 由于DHCP客户端和DHCP服务器不在同一网段,因此,需要在客户端所在网段设置DHCP中继设备,以便客户端可以从DHCP服务器申请到10.10.1.0/24网段的IP地址及相关配置信息;
l Switch A作为DHCP中继通过端口(属于VLAN1)连接到DHCP客户端所在的网络,交换机VLAN接口1的IP地址为10.10.1.1/24,VLAN接口2的IP地址为10.1.1.2/24。
图1-3 DHCP中继组网示意图
# 配置各接口的IP地址(略)。
# 使能DHCP服务。
<SwitchA> system-view
[SwitchA] dhcp enable
# 配置DHCP服务器的地址。
[SwitchA] dhcp relay server-group 1 ip 10.1.1.1
# 配置VLAN接口1工作在DHCP中继模式。
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] dhcp select relay
# 配置VLAN接口1对应DHCP服务器组1。
[SwitchA-Vlan-interface1] dhcp relay server-select 1
配置完成后,DHCP客户端可以通过DHCP中继从DHCP服务器获取IP地址及相关配置信息。display dhcp relay security命令可以显示通过DHCP中继获取IP地址的客户端信息;display dhcp relay statistics命令可以显示DHCP中继转发的DHCP报文统计信息。
由于DHCP中继所在接口的IP地址与DHCP服务器的IP地址不在同一网段,因此需要在DHCP服务器上通过静态路由或动态路由协议保证两者之间路由可达。
l 在DHCP中继Switch A上使能Option 82功能;
l 对包含Option 82的请求报文的处理策略为replace;
l Ciruict ID填充内容为company001,Remote ID填充内容为device001;
l Switch A将添加Option 82的DHCP请求报文转发给DHCP服务器Switch B,使得DHCP客户端可以获取到IP地址。
如图1-3所示。
# 配置各接口的IP地址(略)。
# 使能DHCP服务。
<SwitchA> system-view
[SwitchA] dhcp enable
# 配置DHCP服务器的地址。
[SwitchA] dhcp relay server-group 1 ip 10.1.1.1
# 配置VLAN接口1工作在DHCP中继模式。
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] dhcp select relay
# 配置VLAN接口1对应DHCP服务器组1。
[SwitchA-Vlan-interface1] dhcp relay server-select 1
# 配置Option 82的处理策略和填充内容。
[SwitchA-Vlan-interface1] dhcp relay information enable
[SwitchA-Vlan-interface1] dhcp relay information strategy replace
[SwitchA-Vlan-interface1] dhcp relay information circuit-id string company001
[SwitchA-Vlan-interface1] dhcp relay information remote-id string device001
为使Option 82功能正常使用,DHCP服务器也需要进行相应配置。
客户端不能通过DHCP中继获得配置信息。
DHCP中继或DHCP服务器的配置可能有问题。可以打开调试开关显示调试信息,并通过执行display命令显示接口状态信息的方法来分析定位。
l 检查DHCP服务器和DHCP中继是否使能了DHCP服务。
l 检查DHCP服务器是否配置有DHCP客户端所在网段的地址池。
l 检查具有DHCP中继功能的网络设备和DHCP服务器是否配置有相互可达的路由。
l 检查具有DHCP中继功能的网络设备是否在连接DHCP客户端所在网段的接口上配置有正确的DHCP服务器组,且DHCP服务器组的IP地址配置正确。
多个具有相同MAC地址的VLAN接口通过中继以DHCP方式申请IP地址时,不能用Windows 2000 Server和Windows 2003 Server作为DHCP服务器。
指定设备的接口作为DHCP客户端后,可以使用DHCP协议从DHCP服务器动态获得IP地址等参数,方便用户配置,也便于集中管理。
表2-1 配置接口使用DHCP方式获取IP地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口使用DHCP方式获取IP地址 |
ip address dhcp-alloc [ client-identifier mac interface-type interface-number ] |
必选 缺省情况下,接口不使用DHCP方式获取IP地址 |
:
l 接口可以采用多种方式获得IP地址,但不同方式是互斥的,新的配置方式会覆盖原有的配置方式。
l 当接口被配置为通过DHCP动态获取IP地址后,不能再给该接口配置从IP地址。
l 如果DHCP服务器为接口分配的IP地址与设备上其他接口的IP地址在同一网段,则该接口不再向DHCP服务器申请IP地址,除非手动删除冲突接口的IP地址,并重新使能接口(先后执行shutdown和undo shutdown命令)或重新配置接口使用DHCP方式获取IP地址(先后执行undo ip address dhcp-alloc和ip address dhcp-alloc命令)。
在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCP客户端的信息,通过查看显示信息验证配置的效果。
表2-2 DHCP客户端显示和维护
操作 |
命令 |
显示DHCP客户端的相关信息 |
display dhcp client [ verbose ] [ interface interface-type interface-number ] |
Switch A的端口(属于VLAN1)接入局域网,VLAN接口1通过DHCP协议从DHCP服务器获取IP地址。
图2-1 DHCP客户端配置举例组网图
下面只列出图2-1中,作为客户端的Switch A的配置。
# 配置VLAN接口1通过DHCP动态获取地址。
<SwitchA> system-view
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] ip address dhcp-alloc
设备只有位于DHCP客户端与DHCP服务器之间,或DHCP客户端与DHCP中继之间时,DHCP Snooping功能配置后才能正常工作;设备位于DHCP服务器与DHCP中继之间时,DHCP Snooping功能配置后不能正常工作。
DHCP Snooping是DHCP的一种安全特性,具有如下功能:
(1) 保证客户端从合法的服务器获取IP地址。
(2) 记录DHCP客户端IP地址与MAC地址的对应关系;
网络中如果存在私自架设的伪DHCP服务器,则可能导致DHCP客户端获取错误的IP地址和网络配置参数,无法正常通信。为了使DHCP客户端能通过合法的DHCP服务器获取IP地址,DHCP Snooping安全机制允许将端口设置为信任端口和不信任端口:
l 信任端口正常转发接收到的DHCP报文。
l 不信任端口接收到DHCP服务器响应的DHCP-ACK和DHCP-OFFER报文后,丢弃该报文。
连接DHCP服务器和其他DHCP Snooping设备的端口需要设置为信任端口,其他端口设置为不信任端口,从而保证DHCP客户端只能从合法的DHCP服务器获取IP地址,私自架设的伪DHCP服务器无法为DHCP客户端分配IP地址。
DHCP Snooping通过监听DHCP-REQUEST和信任端口收到的DHCP-ACK广播报文,记录DHCP Snooping表项,其中包括客户端的MAC地址、获取到的IP地址、与DHCP客户端连接的端口及该端口所属的VLAN等信息。
如图3-1所示,连接DHCP服务器的端口需要配置为信任端口,以便DHCP Snooping设备正常转发DHCP服务器的应答报文,保证DHCP客户端能够从合法的DHCP服务器获取IP地址。
在多个DHCP Snooping设备级联的网络中,与其他DHCP Snooping设备相连的端口需要配置为信任端口。
在这种网络环境中,为了节省系统资源,不需要每台DHCP Snooping设备都记录所有DHCP客户端的IP地址和MAC地址绑定,只需在与客户端直接相连的DHCP Snooping设备上记录绑定信息。通过将间接与DHCP客户端相连的信任端口配置为不记录IP地址和MAC地址绑定,可以实现该功能。如果DHCP客户端发送的请求报文从此类信任端口到达DHCP Snooping设备,DHCP Snooping设备不会记录客户端IP地址和MAC地址的绑定。
图3-2 DHCP Snooping级联组网图
设备 |
不信任端口 |
不记录绑定信息的信任端口 |
记录绑定信息的信任端口 |
Switch A |
GigabitEthernet1/0/1 |
GigabitEthernet1/0/3 |
GigabitEthernet1/0/2 |
Switch B |
GigabitEthernet1/0/3和GigabitEthernet1/0/4 |
GigabitEthernet1/0/1 |
GigabitEthernet1/0/2 |
Switch C |
GigabitEthernet1/0/1 |
GigabitEthernet1/0/3和GigabitEthernet1/0/4 |
GigabitEthernet1/0/2 |
Option 82记录了DHCP客户端的位置信息。管理员可以利用该选项定位DHCP客户端,实现对客户端的安全和计费等控制。
如果DHCP Snooping支持Option 82功能,则当设备接收到DHCP请求报文后,将根据报文中是否包含Option 82以及用户配置的处理策略及填充模式等对报文进行相应的处理,并将处理后的报文转发给DHCP服务器。具体的处理方式见表3-2。
当设备接收到DHCP服务器的响应报文时,如果报文中含有Option 82,则删除Option 82,并转发给DHCP客户端;如果报文中不含有Option 82,则直接转发。
表3-2 DHCP Snooping支持Option 82的处理方式
收到DHCP请求报文 |
处理策略 |
填充模式 |
DHCP Snooping对报文的处理 |
收到的报文中带有Option 82 |
Drop |
任意 |
丢弃报文 |
Keep |
任意 |
保持报文中的Option 82不变并进行转发 |
|
Replace |
normal |
采用normal模式填充Option 82,替换报文中原有的Option 82并进行转发 |
|
verbose |
采用verbose模式填充Option 82,替换报文中原有的Option 82并进行转发 |
||
用户自定义 |
采用用户自定义的内容填充Option 82,替换报文中原有的Option 82并进行转发 |
||
收到的报文中不带有Option 82 |
- |
normal |
采用normal模式填充Option 82并进行转发 |
verbose |
采用verbose模式填充Option 82并进行转发 |
||
用户自定义 |
采用用户自定义的内容填充Option 82并进行转发 |
DHCP Snooping对Option 82的处理策略、填充模式与DHCP中继相同。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能DHCP Snooping功能 |
dhcp-snooping |
必选 缺省情况下,DHCP Snooping功能处于关闭状态 |
进入接口视图 |
interface interface-type interface-number |
- |
配置端口为信任端口 |
dhcp-snooping trust [ no-user-binding ] |
必选 缺省情况下,在使能DHCP Snooping功能后,设备的所有端口均为不信任端口 |
l 为了使DHCP客户端能从合法的DHCP服务器获取IP地址,必须将与合法DHCP服务器相连的端口设置为信任端口,设置的信任端口和与DHCP客户端相连的端口必须在同一个VLAN内。
l 目前,可以配置为DHCP Snooping信任端口的接口类型包括:二层以太网接口和二层聚合接口。关于聚合接口的详细介绍,请参见“链路聚合配置”。
l 如果二层以太网接口加入聚合组,则在该接口上进行的DHCP Snooping相关配置不会生效;该接口退出聚合组后,之前的配置才会生效。
只有在使能DHCP Snooping功能后,DHCP Snooping支持Option 82功能的相关配置才会生效。
表3-4 配置DHCP Snooping支持Option 82功能
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
interface interface-type interface-number |
- |
|
使能DHCP Snooping支持Option 82功能 |
dhcp-snooping information enable |
必选 缺省情况下,禁止DHCP Snooping支持Option 82功能 |
|
配置DHCP Snooping对包含Option 82的请求报文的处理策略 |
dhcp-snooping information strategy { drop | keep | replace } |
可选 缺省情况下,处理策略为replace |
|
配置非用户自定义的Option 82 |
配置Option 82的填充模式 |
dhcp-snooping information format { normal | verbose [ node-identifier { mac | sysname | user-defined node-identifier } ] } |
可选 缺省情况下,Option 82的填充模式为normal |
配置Circuit ID子选项的填充格式 |
dhcp-snooping information circuit-id format-type { ascii | hex } |
可选 缺省情况下,Circuit ID子选项的填充格式由Option 82的填充模式决定,每个字段的填充格式不同 配置的填充格式只对非用户自定义的填充内容有效 |
|
配置Remote ID子选项的填充格式 |
dhcp-snooping information remote-id format-type { ascii | hex } |
可选 缺省情况下,采用HEX格式填充Remote ID子选项 配置的填充格式只对非用户自定义的填充内容有效 |
|
配置用户自定义的Option 82 |
配置Circuit ID子选项的内容 |
dhcp-snooping information [ vlan vlan-id ] circuit-id string circuit-id |
可选 缺省情况下,Circuit ID子选项的内容由Option 82的填充模式决定 |
配置Remote ID子选项的内容 |
dhcp-snooping information [ vlan vlan-id ] remote-id string { remote-id | sysname } |
可选 缺省情况下,Remote ID子选项的内容由Option 82的填充模式决定 |
l 只能在二层以太网接口和二层聚合接口上配置DHCP Snooping支持Option 82功能。
l 如果二层以太网接口加入聚合组,则该接口上进行的DHCP Snooping支持Option 82功能的配置不会生效;该接口退出聚合组后,之前的配置才会生效。
l DHCP Snooping对包含Option 82请求报文的处理策略为replace时,需要配置Option 82的填充格式;处理策略为keep或drop时,不需要配置Option 82的填充格式。
l 如果以节点的设备名称(sysname)作为节点标识填充DHCP报文的Option 82,则设备名称中不能包含空格;否则,DHCP Snooping将丢弃该报文。
在完成上述配置后,在任意视图下执行display命令可以显示DHCP Snooping的配置情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除DHCP Snooping的统计信息。
表3-5 DHCP Snooping显示和维护
操作 |
命令 |
显示DHCP Snooping表项信息 |
display dhcp-snooping [ ip ip-address ] |
显示DHCP Snooping上Option 82的配置信息 |
display dhcp-snooping information { all | interface interface-type interface-number } |
显示DHCP Snooping设备上的DHCP报文统计信息 |
display dhcp-snooping packet statistics |
显示信任端口信息 |
display dhcp-snooping trust |
清除DHCP Snooping表项 |
reset dhcp-snooping { all | ip ip-address } |
清除DHCP Snooping设备上的DHCP报文统计信息 |
reset dhcp-snooping packet statistics |
Switch A通过以太网端口GigabitEthernet 1/0/1连接到DHCP服务器,通过以太网端口GigabitEthernet 1/0/2、GigabitEthernet 1/0/3连接到DHCP客户端。要求:
l 与DHCP服务器相连的端口可以转发DHCP服务器的响应报文,而其他端口不转发DHCP服务器的响应报文。
l 记录DHCP-REQUEST和信任端口收到的DHCP-ACK广播报文中DHCP客户端IP地址及MAC地址的绑定关系。
图3-3 DHCP Snooping组网示意图
# 使能DHCP Snooping功能。
<SwitchA> system-view
[SwitchA] dhcp-snooping
# 配置GigabitEthernet1/0/1端口为信任端口。
[SwitchA] interface GigabitEthernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] dhcp-snooping trust
[SwitchA-GigabitEthernet1/0/1] quit
l Switch A上使能DHCP Snooping功能,并支持Option 82功能;
l 对包含Option 82的请求报文的处理策略为replace;
l 在GigabitEthernet1/0/2上配置Ciruict ID填充内容为company001,Remote ID填充内容为device001;
l 在GigabitEthernet1/0/3上配置以verbose模式填充Option 82,接入节点标识为sysname,填充格式为ASCII格式。
l Switch A将添加Option 82的DHCP请求报文转发给DHCP服务器,使得DHCP客户端可以获取到IP地址。
如图3-3所示。
# 使能DHCP Snooping功能。
<SwitchA> system-view
[SwitchA] dhcp-snooping
# 配置GigabitEthernet1/0/1端口为信任端口。
[SwitchA] interface GigabitEthernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] dhcp-snooping trust
[SwitchA-GigabitEthernet1/0/1] quit
# 在GigabitEthernet1/0/2上配置DHCP Snooping支持Option 82功能。
[SwitchA] interface GigabitEthernet 1/0/2
[SwitchA-GigabitEthernet1/0/2] dhcp-snooping information enable
[SwitchA-GigabitEthernet1/0/2] dhcp-snooping information strategy replace
[SwitchA-GigabitEthernet1/0/2] dhcp-snooping information circuit-id string company001
[SwitchA-GigabitEthernet1/0/2] dhcp-snooping information remote-id string device001
[SwitchA-GigabitEthernet1/0/2] quit
# 在端口GigabitEthernet1/0/3上配置DHCP Snooping支持Option 82功能。
[SwitchA] interface GigabitEthernet 1/0/3
[SwitchA-GigabitEthernet1/0/3] dhcp-snooping information enable
[SwitchA-GigabitEthernet1/0/3] dhcp-snooping information strategy replace
[SwitchA-GigabitEthernet1/0/3] dhcp-snooping information format verbose node-identifier sysname
[SwitchA-GigabitEthernet1/0/3] dhcp-snooping information circuit-id format-type ascii
[SwitchA-GigabitEthernet1/0/3] dhcp-snooping information remote-id format-type ascii
多个具有相同MAC地址的VLAN接口通过中继以BOOTP方式申请IP地址时,不能用Windows 2000 Server和Windows 2003 Server作为BOOTP服务器。
BOOTP是Bootstrap Protocol(自举协议)的简称。指定设备的接口作为BOOTP客户端后,该接口可以使用BOOTP协议从BOOTP服务器获得IP地址等信息,从而方便用户配置。
使用BOOTP协议,管理员需要在BOOTP服务器上为每个BOOTP客户端配置BOOTP参数文件,该文件包括BOOTP客户端的MAC地址及其对应的IP地址等信息。当BOOTP客户端向BOOTP服务器发起请求时,服务器会查找BOOTP参数文件,并返回相应的配置信息。
由于需要在BOOTP服务器上为每个客户端事先配置参数文件,BOOTP一般运行在相对稳定的环境中。当网络变化频繁时,可以采用DHCP协议。
由于DHCP服务器可以与BOOTP客户端进行交互,因此用户可以不配置BOOTP服务器,而使用DHCP服务器为BOOTP客户端分配IP地址。
在下面的IP地址动态获取过程中,BOOTP服务器的功能可以用DHCP服务器替代。
BOOTP客户端从BOOTP服务器动态获取IP地址的具体过程如下:
(1) BOOTP客户端以广播方式发送BOOTP请求报文,其中包含了BOOTP客户端的MAC地址;
(2) BOOTP服务器接收到请求报文后,根据报文中的BOOTP客户端MAC地址,从配置文件数据库中查找对应的IP地址等信息,并向客户端返回包含这些信息的BOOTP响应报文;
(3) BOOTP客户端从接收到的响应报文中即可获得IP地址等信息。
与BOOTP相关的协议规范有:
l RFC 951:Bootstrap Protocol (BOOTP)
l RFC 2132:DHCP Options and BOOTP Vendor Extensions
l RFC 1542:Clarifications and Extensions for the Bootstrap Protocol
表4-1 配置接口通过BOOTP协议获取IP地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口通过BOOTP协议获取IP地址 |
ip address bootp-alloc |
必选 缺省情况下,接口不通过BOOTP协议获取IP地址 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后BOOTP客户端的运行情况,通过查看显示信息验证配置的效果。
表4-2 BOOTP客户端显示和维护
操作 |
命令 |
显示BOOTP客户端的相关信息 |
display bootp client [ interface interface-type interface-number ] |
Switch A的端口(属于VLAN1)接入局域网,VLAN接口1通过BOOTP协议从DHCP服务器获取IP地址。
图4-1 BOOTP组网示意图
下面只列出图4-1中,作为客户端的Switch A的配置。
# 配置VLAN接口1通过BOOTP动态获取地址。
<SwitchA> system-view
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] ip address bootp-alloc
通过display bootp client命令可以查看BOOTP客户端申请到的IP地址。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!