S系列框式交换机(S75/S75E/S85)

S系列框式核心交换机是面向下一代IP城域网、大型园区网推出的新一代T比特运营级模块化核心交换机。
通用
{{sendMatomoQuery("S系列框式交换机(S75/S75E/S85)","DHCP-snooping介绍与配置示例")}}

DHCP-snooping介绍与配置示例

更新时间:2024-01-09

1  DHCP-snooping配置  

1.1  DHCP-snooping 概述 

DHCP-snooping的任务就是对DHCP报文进行判断,防止伪造的DHCP服务器提供DHCP服务,维护接口上MAC地址与IP地址的对应绑定关系。根据MAC地址与IP地址的对应绑定,可以完成DAI(动态ARP监测)和IP source guard功能。DHCP-snooping功能主要包括侦听DHCP报文、动态维护MAC地址与IP地址的对应绑定表,二层交换机过滤非信任端口的不满足这种对应绑定关系的报文,防止非法用户对网络的攻击。

1.2   DHCP-snooping配置任务列表   

开启/关闭DHCP-snooping功能

VLAN 上启动DHCP-snooping

VLAN上启动DHCP防攻击功能

配置接口为DHCP信任接口

开启/关闭绑定表快速更新功能

VLAN上启动DAI功能

配置接口为ARP监测信任接口

VLAN上启动IP源地址监测功能

配置接口为IP源信任接口

配置DHCP-snooping Option82选项格式

配置DHCP-Snooping Option82报文策略

配置接口绑定关系备份的TFTP服务器

配置接口绑定关系备份的文件名

配置接口绑定关系备份检查的时间间隔

手工配置接口绑定

DHCP-snooping的监控与维护

DHCP-snooping配置示例

1.3   DHCP-snooping配置任务   

1.3.1     开启/关闭DHCP-snooping功能 

在全局配置模式下进行下列配置:

命令

目的

ip dhcp-relay snooping

开启DHCP-snooping功能。

no ip dhcp-relay snooping

恢复缺省设置。

该命令是启动DHCP snooping功能的全局控制命令。配置该命令,则交换机侦听所有DHCP报文,形成相应的绑定关系。

注意:如果客户端是在配置该命令之前通过此交换机获取地址,则交换机不能添加相应的绑定关系。

1.3.2  VLAN 上启动DHCP-snooping

VLAN上启动DHCP snooping功能,则对属于整个VLAN的所有非信任物理端口收到的DHCP报文进行合法化检查。对于VLAN内的非信任物理端口收到的DHCP 响应报文将丢弃,防止用户非法伪造或者误配的DHCP服务器提供地址分配;对于非信任端口的DHCP 请求报文,如果报文发送MAC地址和报文内的硬件地址字段不匹配,认为是用户故意伪造的用于              DHCP DOS(拒绝服务)的攻击报文,交换机也将丢弃。

在全局配置模式下进行下列配置:

命令

目的

ip dhcp-relay snooping vlan vlan_id 

VLAN上启动DHCP snooping 功能

no ip dhcp-relay snooping vlan vlan_id

VLAN上关闭DHCP snooping 功能。

1.3.3  VLAN 上启动DHCP防攻击功能

VLAN上启动DHCP防攻击功能,配置了DHCP snooping 特定VLAN下的允许最大dhcp client用户数,执行先到先分配的原则,当vlan内的用户数达到配置的允许最大值后,就不允许新的client进行分配。

在全局配置模式下进行下列配置:

命令

目的

ip dhcp-relay snooping vlan vlan_id max-client number

VLAN上启动DHCP防攻击功能

no ip dhcp-relay snooping vlan vlan_id max-client

VLAN上关闭DHCP防攻击。

1.3.4配置接口为DHCP信任接口

配置接口为DHCP信任接口,则该接口收到的DHCP报文不进行检查。

在物理接口配置模式下进行下列配置:

命令

操作

dhcp snooping trust

配置接口为DHCP信任接口

no dhcp snooping trust

恢复接口为DHCP非信任接口。

缺省情况下接口为非信任接口。

1.3.5开启/关闭绑定表快速更新功能

默认情况下此功能关闭。没有开启此功能时,如果在一个端口下已经绑定了客户端A,相同的mac地址在其他端口的dhcp请求会被认为是伪造mac攻击,即使客户端A已经下线(没有release地址)。

开启此功能后,同一个客户端A,在其他端口上如果在发送dhcp请求报文,dhcp snooping会将原来端口上的A的绑定信息删除,不认为此行为是攻击行为。

建议在客户端会频繁更换端口的环境下,且dhcp server分配的地址租约无法改动为较短时间的时候才考虑使用此功能。

命令

操作

ip dhcp-relay snooping rapid-refresh-bind

开启绑定表快速更新功能

no ip dhcp-relay snooping rapid-refresh-bind

关闭绑定表快速更新功能

1.3.6   VLAN 上启动DAI功能 

在属于某个VLAN的所有物理端口进行ARP动态监测,如果该接口收到的ARP报文的源MAC和源IP地址不满足接口上配置的MACIP地址绑定关系,则拒绝处理该报文。接口上配置的绑定关系可以是DHCP动态绑定的,也可以是手工配置的。如果物理接口上没有配置任何MACIP地址绑定,则交换机拒绝转发所有ARP报文。

命令

操作

ip arp inspection vlan vlanid

VLAN 内的所有非信任端口启动动态ARP监测

no ip arp inspection vlan vlanid

VLAN 内的所有非信任端口关闭动态ARP监测

1.3.7 配置接口为ARP监测信任接口

对于ARP监测信任接口,不启动ARP监测功能。接口默认为非信任接口。

在接口配置模式下进行下列配置:

命令

操作

arp inspection trust

配置接口为ARP监测信任接口

no arp inspection trust

恢复接口为ARP监测非信任接口

1.3.8  VLAN 上启动IP源地址监测功能

启动IP源地址监测的VLAN,属于该VLAN的所有物理端口收到的IP报文的源MAC和源IP地址不满足接口上配置的MACIP地址绑定关系,则该报文被拒绝处理。接口上配置的绑定关系可以是DHCP动态绑定的,也可以是手工配置的。如果此物理接口上没有配置任何MACIP地址绑定,则交换机拒绝转发所有该接口收到的IP报文。

在全局配置模式下进行下列配置:

命令

操作

ip verify source vlan vlanid

VLAN内的所有非信任接口启动报文源IP地址检查功能

no ip verify source vlan vlanid

VLAN内的所有接口关闭报文源IP地址检查功能

 注意:如果收到的是DHCP报文(也是IP报文),则因为配置了全局snooping进行软件转发。

1.3.9配置 接口为IP源信任接口

对于IP源地址信任接口,不启动源地址检查功能。

在接口配置模式下进行下列配置:

命令

操作

ip-source trust

配置接口为IP源地址信任接口。

no ip-source trust

恢复接口为IP源地址非信任接口

1.3.10配置DHCP-snooping Option82选项格式

Option82选项将可以携带本地信息给服务器,帮助服务器来分配给客户端地址。

在全局模式下进行下列配置:

命令

操作

ip dhcp-relay snooping information option

配置DHCP-snooping转发DHCP报文将携带option82选项,选项为默认格式。

no ip dhcp-relay snooping information option

配置DHCP-snooping转发DHCP报文不携带option82选项。

如果想要指定option82格式,则在全局模式下进行下列配置:

命令

操作

ip dhcp-relay snooping information option format {snmp-ifindex/manual/cm-type/hn-type[host]/hw-type/option82-customized }

配置DHCP-snooping转发DHCP报文将携带option82选项,选项为SNMP-IFINDEX格式、手动配置格式、CM-TYPE格式、cisco格式、hw-type格式或者option82-customized格式。

no ip dhcp-relay snooping information option format {snmp-ifindex/manual/cm-type/hn-type[host]/hw-type/option82-customized}

配置DHCP-snooping转发DHCP报文不携带option82选项。

如果配置了手动模式填写option82,在接口配置模式下进行下列配置circuit-id子选项:

命令

操作

dhcp snooping information circuit-id string [STRING]

如果配置了option82为手动格式,则配置DHCP-snooping转发DHCP报文将携带option82选项,选项内容为STRING所写的字符串。此命令在连接client的端口上配置。

dhcp snooping information circuit-id hex [xx-xx-xx-xx-xx-xx]

如果配置了option82为手动格式,则配置DHCP-snooping转发DHCP报文将携带option82选项,选项内容为所写十六进制。此命令在连接client的端口上配置。

no dhcp snooping information circuit-id 

删除手动配置的option82 circuit-id字符串。

如果配置了手动模式填写option82,在接口配置模式下进行下列配置remote-id子选项:

命令

操作

dhcp snooping information remote-id string [STRING]

如果配置了option82为手动格式,则配置DHCP-snooping转发DHCP报文将携带option82选项,选项内容为STRING所写的字符串。此命令在连接client的端口上配置。

dhcp snooping information remote-id hex [xx-xx-xx-xx-xx-xx]

如果配置了option82为手动格式,则配置DHCP-snooping转发DHCP报文将携带option82选项,选项内容为所写十六进制。此命令在连接client的端口上配置。

no dhcp snooping information remote-id 

删除手动配置的option82 remote-id字符串。

如果配置了手动模式填写option82,在接口配置模式下进行下列配置vendor-specific子选项:

命令

操作

dhcp snooping information vendor-specific string STRING

如果配置了option82为手动格式,则配置DHCP-snooping转发DHCP报文将携带option82选项,选项内容为STRING所写的字符串。此命令在连接client的端口上配置。

dhcp snooping information vendor-specific hex [xx-xx-xx-xx-xx-xx]

如果配置了option82为手动格式,则配置DHCP-snooping转发DHCP报文将携带option82选项,选项内容为所写十六进制。此命令在连接client的端口上配置。

no dhcp snooping information vendor-specific

删除手动配置的option82 vendor-specific

1.3.11配置DHCP-snooping Option82报文策略

可以配置收到已经携带option82选项的dhcp请求包后采取的策略。

Drop策略:在端口模式下输入下列命令,配置丢弃包含option82选项的请求包:

命令

操作

dhcp snooping information drop

此命令配置后,将丢弃包含option82选项的请求包

Append策略:在端口模式下输入下列命令,配置追加包含option82选项的请求包:

命令

操作

dhcp snooping information append

端口开启追加option82选项

dhcp snooping information append first-subop9-param  { hex xx-xx-xx-xx-xx-xx | vlanip | hostname }

Option82 vendor-specificsuboption9)子选项所带的第一个参数

dhcp snooping information append second-subop9-param  { hex xx-xx-xx-xx-xx-xx | vlanip | hostname }

Option82 vendor-specificsuboption9)子选项所带的第二个参数

 

1.3.12手工配置接口绑定

对于不使用DHCP获取地址的主机,在交换机接口上可以手工配置添加绑定条目以是主机正常访问网络。使用该命令的no命令可以删除绑定条目。

注意:手工配置的绑定条目比动态配置的绑定条目优先级要高,如果配置条目的MAC地址与动态配置条目的MAC地址相同,则手工配置的更新动态配置条目。接口绑定条目以MAC地址为唯一索引。

在全局配置模式下进行下列配置:

命令

操作

ip source binding MAC IP interface name vlan-id

手工配置接口绑定。

no ip source binding MAC IP vlan-id

删除接口绑定条目

1.3.13 DHCP-snooping的监控与维护

请在管理态下进行下列操作:

命令

操作

show ip dhcp-relay snooping

显示DHCP-snooping的配置信息

show ip dhcp-relay snooping binding

显示在接口生效的地址绑定条目

show ip dhcp-relay snooping binding all

显示DHCP snooping生成的所有绑定条目

[ no ] debug ip dhcp-relay [ snooping | binding | event | all ]

开启/关闭DHCP relay snooping/绑定/事件开关

显示运行dhcp snooping功能的配置信息:

switch#show ip dhcp-relay snooping

 ip dhcp-relay snooping vlan 3

ip arp inspection vlan 3

DHCP Snooping trust interface:

  GigaEthernet1/1

ARP Inspect interface:

  GigaEthernet1/11

显示dhcp-relay snooping绑定信息:

switch#show ip dhcp-relay snooping binding

Hardware Address    IP Address      remainder time Type           VLAN    interface               

 

00:e0:0f:26:23:89   192.2.2.101     86400     DHCP_SN        3       GigaEthernet1/3     

显示dhcp-relay snooping所有绑定信息:

switch#show ip dhcp-relay snooping binding all

Hardware Address    IP Address      remainder time Type           VLAN    interface               

 

00:e0:0f:32:1c:59   192.2.2.1       infinite     MANUAL         1       GigaEthernet1/2         

00:e0:0f:26:23:89   192.2.2.101     86400     DHCP_SN        3       GigaEthernet1/3

 调试dhcp-relay snooping信息:

switch#debug ip dhcp-relay all

DHCPR: receive l2 packet from vlan 3, diID: 3

DHCPR: DHCP packet len 277

DHCPR: add binding on interface GigaEthernet1/3

DHCPR: send packet continue

DHCPR: receive l2 packet from vlan 3, diID: 1

DHCPR: DHCP packet len 300

DHCPR: send packet continue

DHCPR: receive l2 packet from vlan 3, diID: 3

DHCPR: DHCP packet len 289

DHCPR: send packet continue

DHCPR: receive l2 packet from vlan 3, diID: 1

DHCPR: DHCP packet len 300

DHCPR: update binding on interface GigaEthernet1/3

DHCPR:  IP address: 192.2.2.101, lease time 86400 seconds

DHCPR: send packet continue

1.3.14 DHCP-snooping配置示例 

示例网络连接如图1

 

配置Switch

(1)开启连接Private Network AVLAN 1DHCP-snooping

    Switch_config#ip dhcp-relay snooping

Switch_config#ip dhcp-relay snooping vlan 1

(2)开启连接Private Network BVLAN 2DHCP-snooping

Switch_config#ip dhcp-relay snooping

Switch_config#ip dhcp-relay snooping vlan 2

(3)配置DHCP服务器连接端口为DHCP 信任端口

  Switch_config_g1/1#dhcp snooping trust

(4)手动配置option82选项实例:

interface GigaEthernet1/1

  dhcp snooping information circuit-id hex 00-01-00-05

  dhcp snooping information remote-id hex 00-e0-0f-13-1a-50

  dhcp snooping information vendor-specific hex 00-00-0c-f8-0d-01-0b-78-69-61-6f-6d-69-6e-37-31-31-34

  dhcp snooping information append

  dhcp snooping information append first-subop9-param hex 61-62-63-61-62-63

!

interface GigaEthernet1/2

  dhcp snooping trust

  arp inspection trust

  ip-source trust

!

!

!

ip dhcp-relay snooping

ip dhcp-relay snooping vlan  1-100

ip arp inspection vlan  1

ip verify source vlan  1

ip dhcp-relay snooping information option format manual