14-DHCP配置
本章节下载 (243.61 KB)
目 录
2.1.3 DHCP Snooping支持Option 82功能
2.3 配置DHCP Snooping支持Option 82功能
2.3.2 配置DHCP Snooping支持Option 82功能
2.5.2 DHCP Snooping支持Option 82配置举例
指定设备的接口作为DHCP客户端后,可以使用DHCP协议从DHCP服务器动态获得IP地址等参数,方便用户配置,也便于集中管理。
表1-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客户端的信息,通过查看显示信息验证配置的效果。
表1-2 DHCP客户端显示和维护
操作 |
命令 |
显示DHCP客户端的相关信息 |
display dhcp client [ verbose ] [ interface interface-type interface-number ] |
Switch A的端口(属于VLAN1)接入局域网,VLAN接口1通过DHCP协议从DHCP服务器获取IP地址。
图1-1 DHCP客户端配置举例组网图
下面只列出图1-1中,作为客户端的Switch A的配置。
# 配置VLAN接口1通过DHCP动态获取地址。
<SwitchA> system-view
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] ip address dhcp-alloc
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等信息。
如图2-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地址的绑定。
图2-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服务器。具体的处理方式见表2-2。
当设备接收到DHCP服务器的响应报文时,如果报文中含有Option 82,则删除Option 82,并转发给DHCP客户端;如果报文中不含有Option 82,则直接转发。
表2-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并进行转发 |
操作 |
命令 |
说明 |
进入系统视图 |
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功能的相关配置才会生效。
表2-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的统计信息。
表2-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地址的绑定关系。
图2-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地址。
如图2-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
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
表3-1 配置接口通过BOOTP协议获取IP地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口通过BOOTP协议获取IP地址 |
ip address bootp-alloc |
必选 缺省情况下,接口不通过BOOTP协议获取IP地址 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后BOOTP客户端的运行情况,通过查看显示信息验证配置的效果。
表3-2 BOOTP客户端显示和维护
操作 |
命令 |
显示BOOTP客户端的相关信息 |
display bootp client [ interface interface-type interface-number ] |
Switch A的端口(属于VLAN1)接入局域网,VLAN接口1通过BOOTP协议从DHCP服务器获取IP地址。
图3-1 BOOTP组网示意图
下面只列出图3-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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!