21-DHCP操作
本章节下载: 21-DHCP操作 (460.69 KB)
目 录
2.1.4 DHCP Snooping支持Option 82简介
2.2.4 配置DHCP Snooping支持Option 82功能
2.4.1 DHCP Snooping支持Option 82配置举例
随着网络规模的不断扩大和网络复杂度的提高,经常出现计算机的数量超过可供分配的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服务器的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
出于安全性的考虑,网络管理员可能需要记录用户上网时所用的IP地址,确认用户从DHCP服务器获取的IP地址和用户主机的MAC地址的对应关系。
l 三层交换机可以通过DHCP中继记录用户的IP地址信息。
l 二层交换机可以通过DHCP Snooping功能监听DHCP报文,记录用户的IP地址信息。
DHCP Snooping功能在S3100系列以太网交换机应用的典型组网如图2-1所示。图中的Switch A为S3100系列以太网交换机。
S3100-SI系列以太网交换机的DHCP Snooping功能,仅通过监听DHCP-REQUEST报文来获得用户从DHCP服务器获取的IP地址和用户MAC地址信息。
S3100-EI系列以太网交换机的DHCP Snooping功能,通过监听DHCP-REQUEST报文和监听DHCP-ACK报文来获得用户从DHCP服务器获取的IP地址和用户MAC地址信息。
在网络中如果有私自架设的DHCP服务器,将可能导致用户得到错误的IP地址。为了使用户能通过合法的DHCP服务器获取IP地址,S3100-EI系列以太网交换机的DHCP Snooping安全机制,允许将端口设置为信任端口与不信任端口。
l 信任端口是与合法的DHCP服务器直接或间接连接的端口。信任端口对接收到的DHCP报文正常转发,从而保证了DHCP客户端获取正确的IP地址。
l 不信任端口是不与合法的DHCP服务器连接的端口。如果从不信任端口接收到DHCP服务器响应的DHCP-ACK和DHCP-OFFER报文则会丢弃,从而防止了DHCP客户端获得错误的IP地址。
由于ACL资源有限,S3100-SI系列以太网交换机不支持DHCP Snooping信任端口功能。但为了防御因私自架设DHCP服务器,而导致的网络混乱;或者攻击者恶意冒充DHCP服务器,为客户端分配IP地址等配置参数等情况,S3100-SI系列以太网交换机提供了防DHCP服务器仿冒功能。
在开启DHCP Snooping功能的交换机的下游端口(与DHCP客户端直接或间接相连的端口)上配置防DHCP服务器仿冒功能后,交换机会从该端口向外发送DHCP-DISCOVER报文,用于探测连接到该端口的DHCP服务器,如果接收到回应报文(DHCP-OFFER报文),则认为该端口连接了仿冒的DHCP服务器,交换机会根据配置的处理策略进行处理,例如仅发送告警信息,或发送告警信息的同时将相应端口进行管理Down操作。
对端口进行管理Down操作后,该端口处于关闭状态,无法收发报文,但是在display current-configuration时,不会进行显示。如果需要恢复端口的开启状态,请在该端口视图下手工执行undo shutdown命令。
在实际网络环境中,如果有攻击者恶意冒充DHCP服务器,为了防止其通过防火墙对“防DHCP服务器仿冒功能”发送的探测报文进行策略过滤,S3100-SI系列交换机支持防DHCP服务器仿冒功能发送探测报文的源MAC地址可配置功能。
Option 82是DHCP报文中的中继代理信息选项(Relay Agent Information option),该选项记录了DHCP客户端的位置信息。DHCP中继(或DHCP Snooping设备)接收到DHCP客户端发送给DHCP服务器的请求报文后,可以在该报文中添加Option 82选项,以便管理员定位DHCP客户端,实现对客户端的安全和计费等控制。支持Option 82选项的服务器还可以根据该选项的信息制订IP地址和其他参数的分配策略,提供更加灵活的地址分配方式。
Option 82选项最多可以包含255个子选项。若定义了Option 82,则至少要定义一个子选项。目前设备只支持两个子选项:Circuit ID子选项(sub-option 1)和Remote ID子选项(sub-option 2)。
由于Option 82的内容没有统一规定,不同厂商通常根据需要进行填充。目前,S3100-EI系列以太网交换机作为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地址。
缺省情况下,S3100-EI系列以太网交换机作为DHCP Snooping设备,对Option 82字段的填充格式为扩展格式。以默认填充内容为例,子选项的扩展格式如图2-2和图2-3所示。即:在Circuit ID子选项(或Remote ID子选项)中分别定义了Circuit ID(或Remote ID)的类型和长度。
在扩展格式中,Circuit ID(或Remote ID)的类型字段取值由存储格式决定。如果是HEX格式,则设置为0;如果是ASCII格式,则设置为1。
图2-2 Circuit ID子选项的扩展格式
图2-3 Remote ID子选项的扩展格式
在实际组网环境中,由于一些网络设备所支持的Option 82格式不支持Remote ID和Circuit ID的类型和长度标识,为了与这些设备正常互通,S3100-EI系列以太网交换机支持配置Option 82的填充格式为标准格式。以默认填充内容为例,子选项的标准格式如图2-4和图2-5所示。即:在Circuit ID子选项(或Remote ID子选项)中不包含标识Circuit ID(或Remote ID)的类型和长度的两个字节。
图2-4 Circuit ID子选项的标准格式
图2-5 Remote ID子选项的标准格式
交换机配置了DHCP Snooping和DHCP Snooping支持Option 82功能后,当收到的DHCP客户端发送的DHCP请求报文中带有Option 82选项时,根据配置的处理策略和子选项内容不同,DHCP Snooping对报文的处理机制不同,详见表2-1。
表2-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字段进行填充后,转发报文,详见表2-2。
表2-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表或手工配置的静态绑定表表项一致,则认为该报文是合法的报文,直接转发;否则认为是非法报文,直接丢弃。
表2-3 配置DHCP Snooping功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启交换机DHCP Snooping功能 |
dhcp-snooping |
必选 缺省情况下,交换机的DHCP Snooping功能处于关闭状态 |
l 在S3100系列以太网交换机上开启DHCP Snooping功能后,不支持与之连接的客户端使用BOOTP方式动态获取IP地址。
l 建议用户不要在S3100-EI交换机上同时配置DHCP Snooping功能和灵活QinQ功能,否则可能导致DHCP Snooping功能无法正常使用。
表2-4 配置DHCP Snooping信任端口功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置端口为DHCP Snooping信任端口 |
dhcp-snooping trust |
必选 缺省情况下,S3100-EI系列以太网交换机的所有端口均为不信任端口 |
l S3100系列交换机中,只有S3100-EI系列支持“配置DHCP Snooping信任端口”功能。S3100-SI系列以太网交换机不支持DHCP Snooping信任端口配置功能。即:开启DHCP Snooping功能后,S3100-SI默认所有端口均为信任端口,且不可配置。
l S3100-EI系列以太网交换机开启DHCP Snooping功能后,设备的所有端口均为非信任端口。为了使DHCP客户端能从合法的DHCP服务器获取IP地址,必须将S3100-EI交换机上与合法DHCP服务器相连的端口设置为信任端口,设置的信任端口和与DHCP客户端相连的端口必须在同一个VLAN内。
S3100系列交换机中,只有S3100-SI系列支持“防DHCP服务器仿冒”功能。
表2-5 配置防DHCP服务器仿冒功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
开启防DHCP服务器仿冒功能 |
dhcp-snooping server-guard enable |
必选 缺省情况下,S3100-SI系列交换机的防DHCP服务器仿冒功能处于关闭状态 |
配置防DHCP服务器仿冒功能的处理策略 |
dhcp-snooping server-guard method { trap | shutdown } |
可选 缺省情况下,S3100-SI系列交换机防DHCP服务器仿冒功能的处理策略为trap |
退出至系统视图 |
quit |
- |
配置防DHCP服务器仿冒功能发送探测报文的源MAC地址 |
dhcp-snooping server-guard source-mac mac-address |
可选 缺省情况下,防DHCP服务器仿冒功能发送探测报文的源MAC地址为交换机的桥MAC地址 |
显示DHCP服务器仿冒相关信息 |
display dhcp-snooping server-guard |
可以在任意试图下执行 |
l 防DHCP服务器仿冒功能需要与DHCP Snooping配合使用。即:必须先开启DHCP Snooping功能,防DHCP 服务器仿冒功能才会生效。
l 防DHCP服务器仿冒功能不支持端口聚合。
l 目前,S3100-SI系列以太网交换机上,配置防DHCP服务器仿冒功能发送探测报文的源MAC地址功能,与VLAN-VPN Tunnel功能不能同时使用。且配置源MAC地址功能后,交换机的IGMP Snooping功能将无法通过PIM报文学习路由器端口,关于路由器端口的相关介绍可参考操作手册“组播协议”部分。
l S3100系列交换机中,只有S3100-EI系列支持“DHCP Snooping应用Option 82”功能。
l 配置DHCP Snooping支持Option 82功能之前,需要先开启交换机的DHCP Snooping功能,并配置信任端口。
表2-6 DHCP Snooping支持Option 82配置任务简介
配置任务 |
说明 |
详细配置 |
开启DHCP Snooping支持Option 82功能 |
必选 |
|
配置DHCP Snooping支持Option 82策略 |
可选 |
|
配置Option 82字段的存储格式 |
可选 |
|
配置Option 82中Circuit ID的内容 |
可选 |
|
配置Option 82中Remote ID的内容 |
可选 |
|
配置Option 82字段的填充格式 |
可选 |
表2-7 开启DHCP Snooping支持Option 82功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启DHCP Snooping支持Option 82功能 |
dhcp-snooping information enable |
必选 缺省情况下,DHCP Snooping支持Option 82功能处于关闭状态 |
表2-8 配置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 |
当同时配置了全局处理策略和指定端口的端口处理策略时,在该端口上优先使用端口处理策略进行处理,其它端口使用全局处理策略进行处理。
S3100-EI系列以太网交换机支持对Option 82的存储格式进行配置,可以为十六进制数串格式(HEX),或ASCII码格式。
表2-9 配置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命令配置的约束。
表2-10 配置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的内容,不会在端口汇聚时进行汇聚同步。
配置Option 82中Remote ID的内容有两种方式。
l 系统视图下配置:对本设备所有端口生效。可以配置Option 82的内容为设备的系统名称或用户自定义的字符串,格式为ASCII。
l 端口视图下配置:只对设备的当前端口生效。配置内容为用户自定义的字符串,可以指定VLAN来进行配置,即对于属于不同VLAN的报文可以添加不同的配置规则,格式为ASCII。
表2-11 配置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的内容,不会在端口汇聚时进行汇聚同步。
表2-12 配置Option 82字段的填充格式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置Option 82字段的填充格式 |
dhcp-snooping information packet-format { extended | standard } |
可选 缺省情况下,Option 82字段的填充格式为扩展格式 |
S3100系列交换机中,只有S3100-EI系列支持“IP过滤”功能。
表2-13 配置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 如果某端口下开启IP过滤功能时,指定了mac-address参数,则此端口下配置的IP静态绑定表项必须指定mac-address mac-address参数,否则该固定IP地址的客户端发送的报文无法通过IP过滤检查。
l 建议用户不要在汇聚组中的端口上配置IP过滤功能。
l 手工配置的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 ] |
S3100系列以太网交换机中,只有S3100-EI系列支持display dhcp-snooping trust和display ip source static binding命令。
如图2-6所示,Switch(S3100-EI)的端口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。
图2-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上配置,对VLAN 1内DHCP报文的Option 82中Circuit ID字段的内容填充为用户自定义内容abcd。
[Switch] interface Ethernet1/0/3
[Switch-Ethernet1/0/3] dhcp-snooping information vlan 1 circuit-id string abcd
如图2-7所示,Switch(S3100-SI)的端口Ethernet1/0/1与DHCP服务器端相连,端口Ethernet1/0/2,Ethernet1/0/3分别与DHCP Client A、DHCP Client B相连。
l 在Switch上开启DHCP Snooping功能。
l 在端口Ethernet1/0/2,Ethernet1/0/3上开启防DHCP服务器仿冒功能。当端口Ethernet1/0/2上发现仿冒DHCP服务器时,发送Trap信息;当端口Ethernet1/0/3上发现仿冒DHCP服务器时,进行管理down操作。
l 为了避免攻击者对探测报文进行策略过滤,配置Switch上防DHCP服务器仿冒功能发送探测报文的源MAC地址为000f-e200-1111(不同于交换机的桥MAC地址)。
图2-7 防DHCP服务器仿冒功能组网示意图
# 开启DHCP Snooping功能。
<Switch> system-view
Enter system view, return to user view with Ctrl+Z.
[Switch] dhcp-snooping
# 配置防DHCP服务器仿冒的报文发送的源MAC地址为000f-e200-1111。
[Switch] dhcp-snooping server-guard source-mac 000f-e200-1111
# 在端口Ethernet1/0/2上使能防DHCP服务器功能。
[Switch] interface ethernet1/0/2
[Switch-Ethernet1/0/2] dhcp-snooping server-guard enable
# 在端口Ethernet1/0/2上配置防DHCP服务器策略为发送Trap。
[Switch-Ethernet1/0/2] dhcp-snooping server-guard method trap
[Switch-Ethernet1/0/2] quit
# 在端口Ethernet1/0/3上使能防DHCP服务器功能。
[Switch] interface ethernet1/0/3
[Switch-Ethernet1/0/3] dhcp-snooping server-guard enable
# 在端口Ethernet1/0/3上配置防DHCP服务器策略为shutdown。
[Switch-Ethernet1/0/3] dhcp-snooping server-guard method shutdown
如图2-8所示,Switch(S3100-EI)的端口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正常访问外部网络。
图2-8 配置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
S3100系列交换机中,只有S3100-EI系列支持本章内容。
为了防止ARP攻击和伪DHCP服务器攻击,需要将ARP报文和DHCP报文上送到CPU处理,判断报文的合法性。但是,这样引入了新的问题:如果恶意用户发送大量ARP报文或DHCP报文攻击设备,会导致CPU处理负担过重,从而造成其他功能无法正常运行甚至设备瘫痪。
S3100-EI系列以太网交换机支持端口上ARP报文、DHCP报文限速功能,使受到攻击的端口暂时关闭,来避免此类攻击对设备CPU的冲击。ARP报文限速功能请参见本手册的“ARP”部分,本章只介绍DHCP报文限速功能。
开启以太网端口的DHCP报文限速功能后,交换机对每秒内该端口接收的DHCP报文数量进行统计,如果每秒收到的DHCP报文数量超过设定值,则认为该端口处于超速状态(即受到DHCP报文攻击)。此时,交换机将关闭该端口,使其不再接收任何报文,从而避免设备受到大量DHCP报文攻击而瘫痪。
同时,设备支持配置端口状态自动恢复功能,对于配置了DHCP限速功能的端口,在其因超速而被交换机关闭后,经过一段时间可以自动恢复为开启状态。
S3100-EI系列以太网交换机设置了自动恢复功能,方便用户恢复超速端口。当端口同时设置ARP报文超速恢复时间和DHCP报文超速恢复时间时,以两者中的最短时间作为端口报文超速恢复时间。
表3-1 配置DHCP报文限速功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入端口视图 |
interface interface-type interface-number |
- |
开启DHCP报文限速功能 |
dhcp rate-limit enable |
必选 缺省情况下,端口的DHCP报文限速功能处于关闭状态 |
配置允许通过端口的DHCP报文的最大速率 |
dhcp rate-limit rate |
可选 缺省情况下,端口能通过的DHCP报文的最大速率为15pps |
开启DHCP报文超速后,端口状态自动恢复功能 |
dhcp protective-down recover enable |
可选 缺省情况下,交换机的端口状态自动恢复功能处于关闭状态 |
设置DHCP报文超速后,端口状态自动恢复时间 |
dhcp protective-down recover interval interval |
可选 缺省情况下,交换机的端口状态自动恢复时间为300秒 |
l 用户必须先开启交换机的端口状态自动恢复功能,才能设置端口状态自动恢复的时间。
l 建议用户不要在汇聚组中的端口上配置DHCP报文限速功能。
如图3-1所示,以太网交换机Switch(S3100-EI)的端口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秒。
图3-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端口的DHCP报文限速功能。
[Switch] interface Ethernet 1/0/11
[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 目前S3100系列以太网交换机作为DHCP客户端,可以持续占用一个IP地址的最长时间为24天。也就是说,即使DHCP服务器端地址池的租约时间长于24天,DHCP客户端也只能获取24天的租期。
l S3100系列以太网交换机作为DHCP客户端,支持默认路由下发功能,即:作为DHCP客户端的S3100系列交换机获得DHCP服务器分配的IP地址的同时,会在交换机的路由表中添加一条默认路由表项,其下一跳地址为DHCP服务器上配置的网关地址。具体表项信息可在交换机上通过display ip routing-table命令查看。
S3100系列以太网交换机为防止恶意用户对未使用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 A的端口(属于VLAN1)接入局域网,Vlan-interface1通过DHCP协议从DHCP服务器获取IP地址。
图4-1 DHCP组网图(S3100作为DHCP客户端)
下面只列出作为DHCP客户端的Switch A上的配置。
# 配置Vlan-interface1通过DHCP动态获取地址。
<SwitchA> system-view
[SwitchA] interface Vlan-interface 1
[SwitchA-Vlan-interface1] ip address dhcp-alloc
表4-2 DHCP/BOOTP客户端显示
操作 |
命令 |
说明 |
查看DHCP客户端的相关信息 |
display dhcp client [ verbose ] |
可选 display命令可以在任意视图下执行 |
查看BOOTP客户端的相关信息 |
display bootp client [ interface Vlan-interface vlan-id ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!