17-IP Source Guard配置
本章节下载 (244.30 KB)
IP Source Guard功能用于对端口收到的报文进行过滤控制,通常配置在接入用户侧的端口上,以防止非法用户报文通过,从而限制了对网络资源的非法使用(比如非法主机仿冒合法用户IP接入网络),提高了端口的安全性。
如图1-1所示,配置了IP Source Guard功能的端口接收到用户报文后,首先查找与该端口绑定的IP Source Guard绑定表项,如果报文的特征项与某绑定表项匹配,则转发该报文,否则做丢弃处理。IP Source Guard用于过滤报文的特征项包括:源IP地址、源MAC地址和VLAN标签。这些特征项可单独或组合起来与端口进行绑定,形成如下几类绑定表项:
· IP绑定表项
· MAC绑定表项
· IP+MAC绑定表项
· IP+VLAN绑定表项
· MAC+VLAN绑定表项
· IP+MAC+VLAN绑定表项
IP Source Guard绑定表项可以通过手工配置和动态获取两种方式生成。
图1-1 IP Source Guard功能示意图
IP Source Guard的绑定功能是针对端口的,一个端口配置了绑定功能后,仅该端口接收的报文被限制,其它端口不受影响。
通过命令行手工配置产生绑定表项,该方式适用于局域网络中主机数较少且主机使用静态配置IP地址的情况,比如在接入某重要服务器的端口上配置绑定表项,仅允许该端口接收或者发送与该服务器通信的报文。
静态绑定是在端口上配置的绑定了IP地址、MAC地址、VLAN以及相关组合的表项,这类表项仅在当前端口上生效。只有端口收到的报文的IP地址、MAC地址、VLAN与端口上配置的绑定表项的各参数完全匹配时,报文才可以在该端口被正常转发,其它报文都不能被转发。
IPv4静态绑定表项用来过滤端口收到的IPv4报文,检查接入用户的合法性。
根据DHCP的相关表项动态生成绑定表项,该方式通常适用于局域网络中主机较多,并且采用DHCP进行动态主机配置的情况。其原理是每当DHCP为用户分配IP地址而生成一条DHCP表项时,动态绑定功能就相应地增加一条绑定表项以允许该用户访问网络。如果某个用户私自设置IP地址,则不会触发设备生成相应的DHCP表项,因此动态绑定功能也不会增加相应的访问规则来允许该用户访问网络。IPv4动态绑定是根据DHCP snooping表项动态生成绑定表项来过滤端口收到的IPv4报文;
DHCP snooping功能的详细介绍请参考“三层技术-IP业务配置指导”中的“DHCP snooping”。
表1-1 IPv4绑定功能配置任务简介
配置任务 |
说明 |
详细配置 |
配置IPv4端口绑定功能 |
必选 |
|
配置IPv4静态绑定表项 |
可选 |
|
配置IPv4绑定表项数目的最大值 |
可选 |
MSR系列路由器各款型对于本节所描述的特性支持情况有所不同,详细差异信息如下:
型号 |
IPv4端口绑定功能 |
IPv4静态绑定表项 |
是否支持多端口绑定 |
MSR800 |
MSR800二层固定以太网接口支持绑定MAC,但不支持绑定VLAN和IP |
不支持 |
支持 |
MSR 900 |
MSR 900路由器二层固定以太网接口仅支持静态绑定MAC表项,不支持动态获取绑定表项 |
MSR 900路由器二层固定以太网接口仅支持静态绑定MAC表项,不支持动态获取绑定表项 |
支持 |
MSR900-E |
MSR900-E二层固定以太网接口支持绑定MAC,但不支持绑定VLAN和IP |
不支持 |
支持 |
MSR 930 |
MSR 930二层固定以太网接口支持绑定MAC,但不支持绑定VLAN和IP |
不支持 |
支持 |
MSR 20-1X |
不支持 |
不支持 |
不支持 |
MSR 20 |
不支持 |
不支持 |
不支持 |
MSR 30 |
MSR 30路由器安装MIM-FSW、DMIM-FSW模块支持绑定IP、MAC和VLAN MSR 30-11E二层固定以太网接口支持绑定IP、MAC和VLAN MSR 30-11F二层固定以太网接口支持绑定IP和MAC,但不支持绑定VLAN |
MSR 30-10、30-11安装XMIM-FSW模块仅支持绑定MAC MSR 30路由器安装MIM-FSW、DMIM-FSW模块支持绑定IP、MAC和VLAN MSR 30-11E二层固定以太网接口支持绑定IP、MAC和VLAN MSR 30-11F二层固定以太网接口支持绑定IP和MAC,但不支持绑定VLAN |
支持 |
MSR 50 |
MSR 50路由器安装FIC-FSW、DFIC-FSW模块支持绑定IP、MAC和VLAN |
MSR 50路由器安装FIC-FSW、DFIC-FSW模块支持绑定IP、MAC和VLAN |
支持 |
MSR 2600 |
MSR 2600-10路由器二层固定以太网接口仅支持静态绑定MAC表项,不支持动态获取绑定表项 MSR 2600-17路由器支持绑定IP、MAC和VLAN |
MSR 2600-10路由器二层固定以太网接口仅支持静态绑定MAC表项,不支持动态获取绑定表项 MSR 2600-17路由器支持绑定IP、MAC和VLAN |
支持 |
MSR3600-51F |
层固定以太网接口支持绑定IP和MAC,但不支持绑定VLAN |
二层固定以太网接口支持绑定IP和MAC,但不支持绑定VLAN |
支持 |
加入聚合组的端口上不能配置IP Source Guard功能,反之亦然。
配置了IPv4端口绑定功能的端口,可利用配置的IPv4静态绑定表项和从DHCP模块获取的IPv4动态绑定表项对端口转发的报文进行过滤:
· IPv4静态绑定表项的配置请参考“1.3.2 配置IPv4静态绑定表项”。
· 在二层以太网端口上,IP Source Guard可与DHCP snooping配合,通过获取IP地址动态分配时产生的DHCP snooping表项来生成动态绑定表项;
动态绑定表项中可能包含的内容有:MAC地址、IP地址、VLAN信息、入端口信息及表项类型(DHCP snooping),其中MAC地址、IP地址和VLAN信息的包含情况由动态绑定配置决定。IP Source Guard把这些动态绑定表项下发到端口后,可对端口上转发的报文进行过滤。
表1-1 配置IPv4端口绑定功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置IPv4端口绑定功能 |
ip verify source { ip-address | ip-address mac-address | mac-address } |
必选 缺省情况下,端口上未配置IPv4端口绑定功能 |
· 若要通过获取DHCP相关表项来生成动态绑定表项,请保证网络中的DHCP snooping配置有效且工作正常,DHCP snooping配置的具体介绍请参见“三层技术-IP业务配置指导”中的“DHCP snooping”。
· IPv4端口绑定功能可多次配置,最后一次的配置生效。
· 虽然IP Source Guard的动态表项是通过获取DHCP的相关表项而生成,但生成的IP Source Guard动态绑定表项数目并不与对应的DHCP表项数目保持一致,实际使用过程中,请以IP Source Guard实际生成的表项数目为准。
IPv4静态绑定表项只能在配置了IPv4端口绑定功能的端口上生效,IPv4端口绑定功能的具体配置请参见“1.3.1 配置IPv4端口绑定功能”。
表1-2 配置IPv4静态绑定表项
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置IPv4静态绑定表项 |
ip source binding { ip-address ip-address | ip-address ip-address mac-address mac-address | mac-address mac-address } [ vlan vlan-id ] |
必选 缺省情况下,端口上无IPv4静态绑定表项 该功能只能在二层以太网端口下配置 |
· 一个表项不能在同一个端口上重复绑定,但可以在不同端口上绑定。
· 配置静态表项时,如果系统中已经存在相同内容的动态表项,则新添加的静态表项将会覆盖已有的动态表项。
IPv4绑定表项数目的最大值用于限制端口上允许添加的IPv4静态绑定表项和IPv4动态绑定表项的数量总和。当端口上的IPv4绑定表项数目达到指定的最大值时,端口将不再允许添加新的IPv4绑定表项。
表1-2 配置IPv4绑定表项数目的最大值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置IPv4绑定表项数目的最大值 |
ip verify source max-entries number |
可选 |
如果要配置的IPv4绑定表项数目的最大值小于当前端口上已存在的IPv4绑定表项总数,则该最大值可以配置成功,且原有的表项不受影响,但端口将不再允许新增IPv4绑定表项,除非端口上的IPv4绑定表项数目减少到小于此最大值。
在完成上述配置后,在任意视图下执行display命令可以显示配置后IP Source Guard的运行情况,通过查看显示信息验证配置的效果。
表1-3 IP Source Guard显示和维护(IPv4)
操作 |
命令 |
显示静态绑定表项信息 |
display ip source binding static [ interface interface-type interface-number | ip-address ip-address | mac-address mac-address ] [ | { begin | exclude | include } regular-expression ] |
显示绑定表项信息 |
display ip source binding [ interface interface-type interface-number | ip-address ip-address | mac-address mac-address ] [ | { begin | exclude | include } regular-expression ] |
如图1-1所示,Host A与Host B分别与Device B的端口Ethernet1/2、Ethernet1/1相连;Host C与Device A的端口Ethernet1/2相连。Device B接到Device A的端口Ethernet1/1上。各主机均使用静态配置的IP地址。
通过在Device A和Device B上配置IPv4静态绑定表项,可以满足以下各项应用需求:
· Device A的端口Ethernet1/2上只允许Host C发送的IP报文通过。
· Device A的端口Ethernet1/1上只允许Host A发送的IP报文通过。
· Device B的端口Ethernet1/2上只允许Host A发送的IP报文通过。
· Device B的端口Ethernet1/1上只允许使用IP地址192.168.0.2/24的主机发送的IP报文通过,即允许Host B更换网卡后仍然可以使用该IP地址与Host A互通。
# 在端口Ethernet1/2上配置IPv4端口绑定功能,绑定源IP地址和MAC地址。
<DeviceA> system-view
[DeviceA] interface ethernet 1/2
[DeviceA-Ethernet1/2] ip verify source ip-address mac-address
# 配置IPv4静态绑定表项,只允许MAC地址为0001-0203-0405、IP地址为192.168.0.3的Host C发送的IP报文通过端口Ethernet1/2。
[DeviceA] interface ethernet 1/2
[DeviceA-Ethernet1/2] ip source binding ip-address 192.168.0.3 mac-address 0001-0203-0405
[DeviceA-Ethernet1/2] quit
# 在端口Ethernet1/1上配置IPv4端口绑定功能,绑定源IP地址和MAC地址。
[DeviceA] interface ethernet 1/1
[DeviceA-Ethernet1/1] ip verify source ip-address mac-address
# 配置IPv4静态绑定表项,只允许MAC地址为0001-0203-0406、IP地址为192.168.0.1的Host A发送的IP报文通过端口Ethernet1/1。
[DeviceA] interface ethernet 1/1
[DeviceA-Ethernet1/1] ip source binding ip-address 192.168.0.1 mac-address 0001-0203-0406
[DeviceA-Ethernet1/1] quit
(2) 配置Device B
# 在端口Ethernet1/2上配置IPv4端口绑定功能,绑定源IP地址和MAC地址。
<DeviceB> system-view
[DeviceB] interface ethernet 1/2
[DeviceB-Ethernet1/2] ip verify source ip-address mac-address
# 配置IPv4静态绑定表项,只允许MAC地址为0001-0203-0406、IP地址为192.168.0.1的Host A发送的IP报文通过端口Ethernet1/2。
[DeviceB-Ethernet1/2] ip source binding ip-address 192.168.0.1 mac-address 0001-0203-0406
[DeviceB-Ethernet1/2] quit
# 在端口Ethernet1/1上配置IPv4端口绑定功能,绑定源IP地址。
[DeviceB] interface ethernet 1/1
[DeviceB-Ethernet1/1] ip verify source ip-address
# 配置IPv4静态绑定表项,只允许IP地址为192.168.0.2的主机发送的IP报文通过端口Ethernet1/1。
[DeviceB-Ethernet1/1] ip source binding ip-address 192.168.0.2
[DeviceB-Ethernet1/1] quit
# 在Device A上显示IPv4静态绑定表项配置成功。
[DeviceA] display ip source binding static
Total entries found: 2
MAC Address IP Address VLAN Interface Type
0001-0203-0405 192.168.0.3 N/A Eth1/2 Static
0001-0203-0406 192.168.0.1 N/A Eth1/1 Static
# 在Device B上显示IPv4静态绑定表项配置成功。
[DeviceB] display ip source binding static
Total entries found: 2
MAC Address IP Address VLAN Interface Type
0001-0203-0406 192.168.0.1 N/A Eth1/2 Static
N/A 192.168.0.2 N/A Eth1/1 Static
Device通过端口Ethernet1/1和Ethernet1/2分别与客户端Host和DHCP server相连。
具体应用需求如下:
· Host通过DHCP server获取IP地址。
· Device上使能DHCP snooping功能,记录Host的DHCP snooping表项。
· 在端口Ethernet1/1上启用IPv4端口绑定功能,利用记录的DHCP snooping表项过滤端口转发的报文,仅允许通过DHCP server动态获取IP地址的客户端可以接入网络。
DHCP server的具体配置请参考“三层技术-IP业务配置指导”中的“DHCP服务器”。
图1-2 配置与DHCP snooping配合的IPv4端口绑定功能组网图
(1) 配置DHCP snooping
# 开启DHCP snooping功能。
<Device> system-view
[Device] dhcp-snooping
# 设置与DHCP server相连的端口Ethernet1/2为信任端口。
[Device] interface ethernet1/2
[Device-Ethernet1/2] dhcp-snooping trust
[Device-Ethernet1/2] quit
(2) 配置IPv4端口绑定功能
# 配置端口Ethernet1/1的IPv4端口绑定功能,绑定源IP地址和MAC地址。
[Device] interface ethernet 1/1
[Device-Ethernet1/1] ip verify source ip-address mac-address
[Device-Ethernet1/1] quit
# 显示端口Ethernet1/1上的绑定表项信息。
[Device] display ip source binding
Total entries found: 1
MAC Address IP Address VLAN Interface Type
0001-0203-0406 192.168.0.1 1 Eth1/1 DHCP-SNP
# 显示DHCP snooping已有的动态表项,查看其是否和端口Ethernet1/1获取的动态表项一致。
[Device] display dhcp-snooping
DHCP snooping is enabled.
The client binding table for all untrusted ports.
Type : D--Dynamic , S--Static
Type IP Address MAC Address Lease VLAN Interface
==== =============== ============== ============ ==== =================
D 192.168.0.1 0001-0203-0406 86335 1 Ethernet1/1
从以上显示信息可以看出,端口Ethernet1/1在配置IPv4端口绑定功能之后根据获取的DHCP snooping表项产生了动态绑定表项。
在端口上配置静态绑定表项、配置端口绑定功能均失败。
IP Source Guard功能不能在加入聚合组的端口上配置。
将端口退出已加入的聚合组。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!