19-IP Source Guard配置
本章节下载: 19-IP Source Guard配置 (333.00 KB)
IP Source Guard功能用于对接口收到的报文进行过滤控制,通常配置在接入用户侧的接口上,以防止非法用户报文通过,从而限制了对网络资源的非法使用(比如非法主机仿冒合法用户IP接入网络),提高了接口的安全性。
如图1-1所示,配置了IP Source Guard功能的接口接收到用户报文后,根据IP Source Guard绑定表项匹配报文,如果报文的信息与某绑定表项匹配,则转发该报文;若匹配失败,则丢弃该报文。IP Source Guard可以根据报文的源IP地址、源MAC地址和VLAN标签对报文进行过滤。报文的这些特征项可单独或组合起来与接口进行绑定,形成IP Source Guard绑定表项。
IP Source Guard的绑定功能是针对接口的,一个接口配置了绑定功能后,仅对该接口接收的报文进行限制,其它接口不受影响。
IP Source Guard绑定表项可以通过手工配置和动态获取两种方式生成。
图1-1 IP Source Guard功能示意图
静态配置绑定表项是指通过命令行手工配置绑定表项,该方式适用于局域网络中主机数较少且主机使用静态配置IP地址的情况,比如在接入某重要服务器的接口上配置绑定表项,仅允许该接口接收与该服务器通信的报文。
静态绑定表项可以用于过滤接口收到的IP报文。
静态绑定表项又包括全局静态绑定表项和接口静态绑定表项两种类型,这两种绑定表项的作用范围不同。
· 全局静态绑定表项
全局静态绑定表项是在系统视图下配置的绑定了IP地址和MAC地址的表项,这类表项在设备的所有端口上生效。全局静态绑定表项适用于防御主机仿冒攻击,可有效过滤攻击者通过仿冒合法用户主机的IP地址或者MAC地址向设备发送的伪造IP报文。
· 接口静态绑定表项
端口静态绑定是在端口上配置的绑定了IP地址、MAC地址、VLAN以及相关组合的表项,这类表项仅在当前端口上生效。只有端口收到的报文的IP地址、MAC地址、VLAN与端口上配置的绑定表项的各参数完全匹配时,报文才可以在该端口被正常转发,其它报文都不能被转发,该表项适用于检查端口上接入用户的合法性。
动态获取绑定表项是指通过获取其它模块生成的用户信息来生成绑定表项。动态绑定表项中可能包含的内容:MAC地址、IP地址/IPv6地址、VLAN信息、入接口信息及表项类型(DHCPv4/v6中继等)。
这种动态获取绑定表项的方式,通常适用于局域网络中主机较多的情况。以主机使用DHCP动态获取IP地址的情况为例,其原理是每当局域网内的主机通过DHCP服务器获取到IP地址时,DHCP服务器会生成一条DHCP服务器表项,DHCP中继会生成一条DHCP中继表项。IP Source Guard可以根据以上任何一条DHCP表项相应地增加一条IP Source Guard绑定表项来判断是否允许该用户访问网络。如果某个用户私自设置IP地址,则不会触发设备生成相应的DHCP表项,IP Source Guard也不会增加相应的绑定表项,因此该用户的报文将会被丢弃。
在配置了IPv4动态绑定功能的接口上,IP Source Guard通过与不同的模块配合动态生成绑定表项:
表1-1 IPv4动态绑定功能信息表
接口类型 |
表项来源模块 |
用途 |
二层以太网接口 |
802.1X |
报文过滤 |
三层以太网接口/VLAN接口 |
DHCP中继 |
报文过滤 |
DHCP服务器 |
配合其它模块(例如授权ARP)提供相关的安全服务,而不直接用于过滤报文 |
802.1X功能的详细介绍请参见“用户接入与认证”中的“802.1X”。DHCP中继功能的详细介绍请参见“三层技术-IP业务配置指导”中的“DHCP中继”。DHCP服务器功能的详细介绍请参见“三层技术-IP业务配置指导”中的“DHCP服务器”。
在配置了IPv6动态绑定功能的接口上,IP Source Guard通过与不同模块配合动态生成绑定表项:
表1-2 IPv6动态绑定功能信息表
接口类型 |
表项来源模块 |
用途 |
二层以太网接口 |
DHCPv6 Snooping、ND Snooping |
报文过滤 |
802.1X |
||
三层以太网接口/VLAN接口 |
DHCPv6中继、ND RA |
报文过滤 |
DHCPv6 Snooping功能的详细介绍请参见“安全配置指导”的“DHCPv6 Snooping”。ND Snooping功能的详细介绍请参见“三层技术-IP业务配置指导”的“IPv6基础”。ND RA功能的详细介绍请参见“三层技术-IP业务配置指导”的“IPv6邻居发现”。DHCPv6中继功能的详细介绍请参见“三层技术-IP业务配置指导”中的“DHCPv6中继”。
IPv4绑定功能配置任务如下:
(1) 配置IPv4接口绑定功能
(2) (可选)配置IPv4静态绑定表项
IPv6绑定功能配置任务如下:
(1) 配置IPv6接口绑定功能
(2) (可选)配置IPv6静态绑定表项
配置了IPv4接口绑定功能的接口,将打开根据绑定表项过滤报文的开关,并利用配置的IPv4静态绑定表项和从其它模块获取的IPv4动态绑定表项对接口转发的报文进行过滤或者配合其它模块提供相关的安全服务。IPv4静态绑定表项中指定的信息均用于IP Source Guard过滤接口收到的报文,具体配置请参考“1.3.2 配置IPv4静态绑定表项”。
IP Source Guard依据该表项中的哪些信息过滤接口收到的报文,由IPv4接口绑定配置决定:
· 若接口上配置动态绑定功能时绑定了源IP地址和MAC地址,则只有接口上收到的报文的源IPv4地址和源MAC地址都与某动态绑定表项匹配,该报文才能被正常转发,否则将被丢弃;
· 若接口上配置动态绑定功能时仅绑定了源IP地址,则只有该接口收到的报文的源IPv4地址与某动态绑定表项匹配,该报文才会被正常转发,否则将被丢弃;
· 若接口上配置动态绑定功能时仅绑定了源MAC地址,则只有该接口收到的报文的源MAC地址与某动态绑定表项匹配,该报文才会被正常转发,否则将被丢弃。
要实现IPv4动态绑定功能,请保证网络中的802.1X、DHCP中继或DHCP服务器配置有效且工作正常。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
可支持二层以太网接口/三层以太网接口/VLAN接口。
(3) 开启IPv4接口绑定功能。
ip verify source { ip-address | ip-address mac-address | mac-address }
缺省情况下,接口的IPv4接口绑定功能处于关闭状态。
IPv4静态绑定表项包括全局的IPv4静态绑定表项和接口的IPv4静态绑定表项。接口的IPv4静态绑定表项和动态绑定表项的优先级高于全局的IPv4静态绑定表项,即接口优先使用本接口上的静态或动态绑定表项对收到的报文进行匹配,若匹配失败,再与全局的静态绑定表项进行匹配。
全局的IPv4静态绑定表项中定义了接口允许转发的报文的IP地址和MAC地址,对设备的所有接口都生效。
(1) 进入系统视图。
system-view
(2) 配置全局的IPv4静态绑定表项。
ip source binding ip-address ip-address mac-address mac-address
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
可支持二层以太网接口/三层以太网接口/VLAN接口。
(3) 配置接口的IPv4静态绑定表项。
ip source binding { ip-address ip-address | ip-address ip-address mac-address mac-address | mac-address mac-address } [ vlan vlan-id ]
同一个表项可以在不同的接口上绑定。
配置了IPv6接口绑定功能的接口,将打开根据绑定表项过滤报文的开关,并利用配置的IPv6静态绑定表项和从其他模块获取的IPv6动态绑定表项对接口转发的报文进行过滤。IPv6静态绑定表项中指定的信息均用于IP Source Guard过滤接口收到的报文,具体配置请参考“1.4.2 配置IPv6静态绑定表项”。
IP Source Guard依据该表项中的哪些信息过滤接口收到的报文,由IPv6接口绑定配置决定:
· 若接口上配置动态绑定功能时绑定了源IP地址和MAC地址,则只有接口上收到的报文的源IPv6地址和源MAC地址都与某动态绑定表项匹配,该报文才能被正常转发,否则将被丢弃;
· 若接口上配置动态绑定功能时仅绑定了源IP地址,则只有该接口收到的报文的源IPv6地址与某动态绑定表项匹配,该报文才会被正常转发,否则将被丢弃;
· 若接口上配置动态绑定功能时仅绑定了源MAC地址,则只有该接口收到的报文的源MAC地址与某动态绑定表项匹配,该报文才会被正常转发,否则将被丢弃。
要实现IPv6动态绑定功能,请保证网络中的DHCPv6 Relay或ND Snooping配置有效且工作正常。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
可支持二层以太网接口/三层以太网接口/VLAN接口。
(3) 配置IPv6接口绑定功能。
ipv6 verify source { ip-address | ip-address mac-address | mac-address }
缺省情况下,接口的IPv6接口绑定功能处于关闭状态。
IPv6静态绑定功能包括全局的IPv6静态绑定功能和接口的IPv6静态绑定功能。接口的IPv6静态绑定表项和IPv6动态绑定表项的优先级高于全局的IPv6静态绑定表项,即接口优先使用本接口上的IPv6静态或动态绑定表项对收到的报文进行匹配,若匹配失败,再与全局的IPv6静态绑定表项进行匹配。
全局的IPv6静态绑定表项中定义了接口允许转发的报文的IPv6地址和MAC地址,对设备的所有接口都生效。
(1) 进入系统视图。
system-view
(2) 配置全局的IPv6静态绑定表项。
ipv6 source binding ip-address ipv6-address mac-address mac-address
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
可支持二层以太网接口/三层以太网接口/VLAN接口。
(3) 配置接口的IPv6静态绑定表项。
ipv6 source binding { ip-address ipv6-address | ip-address ipv6-address mac-address mac-address | mac-address mac-address } [ vlan vlan-id ]
同一个表项可以在不同接口上绑定。
可在任意视图下执行以下命令,显示IPv4绑定表项信息。
display ip source binding [ static | [ vpn-instance vpn-instance-name ] [ | dhcp-relay | dhcp-server | dot1x ] ] [ ip-address ip-address ] [ mac-address mac-address ] [ vlan vlan-id ] [ interface interface-type interface-number ] [ slot slot-number ]
可在任意视图下执行以下命令:
· 显示IPv6地址绑定表项信息。
display ipv6 source binding [ static | [ vpn-instance vpn-instance-name ] [ dhcpv6-relay | dot1x | nd-snooping-vlan | nd-snooping-vsi ] ] [ ip-address ipv6-address ] [ mac-address mac-address ] [ vlan vlan-id ] [ interface interface-type interface-number ] [ slot slot-number ]
· 显示IPv6前缀绑定表项信息。
display ipv6 source binding pd [ vpn-instance vpn-instance-name ] [ prefix prefix/prefix-length ] [ mac-address mac-address ] [ vlan vlan-id ] [ interface interface-type interface-number ] [ slot slot-number ]
如图1-2所示,Host A、Host B分别与Device A的接口GigabitEthernet0/0/2、GigabitEthernet0/0/1相连。各主机均使用静态配置的IP地址。
要求通过在Device A上配置IPv4静态绑定表项,满足以下各项应用需求:
· Device A上的所有接口都允许Host A发送的IP报文通过。
· Device A的接口GigabitEthernet0/0/1上允许Host B发送的IP报文通过。
# 配置Device A各接口的IP地址(略)。
# 在接口GigabitEthernet0/0/2上开启IPv4接口绑定功能,绑定源IP地址和MAC地址。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 0/0/2
[DeviceA-GigabitEthernet0/0/2] ip verify source ip-address mac-address
[DeviceA-GigabitEthernet0/0/2] quit
# 配置IPv4静态绑定表项,在Device A上的所有接口都允许MAC地址为0001-0203-0406、IP地址为192.168.0.1的数据终端Host A发送的IP报文通过。
[DeviceA] ip source binding ip-address 192.168.0.1 mac-address 0001-0203-0406
# 在接口GigabitEthernet0/0/1上开启IPv4接口绑定功能,绑定源IP地址和MAC地址。
[DeviceA] interface gigabitethernet 0/0/1
[DeviceA-GigabitEthernet0/0/1] ip verify source ip-address mac-address
# 配置IPv4静态绑定表项,在Device A的GigabitEthernet0/0/1上允许MAC地址为0001-0203-0407的数据终端Host B发送的IP报文通过。
[DeviceA-GigabitEthernet0/0/1] ip source binding mac-address 0001-0203-0407
[DeviceA-GigabitEthernet0/0/1] quit
# 在Device A上显示IPv4静态绑定表项,可以看出以上配置成功。
<DeviceA> display ip source binding static
Total entries found: 2
IP Address MAC Address Interface VLAN Type
192.168.0.1 0001-0203-0406 N/A N/A Static
N/A 0001-0203-0407 GE0/0/1 N/A Static
Router通过接口GigabitEthernet0/0/1和GigabitEthernet0/0/2分别与客户端Host和DHCP服务器相连。Router上配置DHCP中继功能。
具体应用需求如下:
· Host通过DHCP中继从DHCP服务器上获取IP地址。
· 在接口GigabitEthernet0/0/1上启用IPv4动态绑定功能,利用Router上生成的DHCP中继表项,过滤接口接收的报文。
图1-3 配置与DHCP中继配合的IPv4动态绑定功能组网图
(1) 配置DHCP中继
# 配置各接口的IP地址(略)。
# 开启DHCP服务。
<Router> system-view
[Router] dhcp enable
# 开启DHCP中继用户地址表项记录功能。
[Router] dhcp relay client-information record
# 配置接口GigabitEthernet0/0/1工作在DHCP中继模式。
[Router] interface gigabitethernet 0/0/1
[Router-GigabitEthernet0/0/1] dhcp select relay
# 指定DHCP服务器的地址。
[Router-GigabitEthernet0/0/1] dhcp relay server-address 10.1.1.1
[Router-GigabitEthernet0/0/1] quit
(2) 配置IPv4动态绑定功能
# 在接口GigabitEthernet0/0/1上开启IPv4接口绑定功能,绑定源IP地址和MAC地址。
[Router] interface gigabitethernet 0/0/1
[Router-GigabitEthernet0/0/1] ip verify source ip-address mac-address
[Router-GigabitEthernet0/0/1] quit
# 显示生成的IPv4动态绑定表项信息。
[Router] display ip source binding dhcp-relay
Total entries found: 1
IP Address MAC Address Interface VLAN Type
192.168.0.1 0001-0203-0406 GE0/0/1 N/A DHCP relay
IPv6客户端通过Device的接口GigabitEthernet0/0/1接入网络。要求在Device上配置IPv6静态绑定表项,使得接口GigabitEthernet0/0/1上只允许Host(MAC地址为0001-0202-0202、IPv6地址为2001::1)发送的IPv6报文通过。
图1-4 配置IPv6静态绑定表项组网图
# 在接口GigabitEthernet0/0/1上开启IPv6接口绑定功能,绑定源IP地址和MAC地址。
<Device> system-view
[Device] interface gigabitethernet 0/0/1
[Device-GigabitEthernet0/0/1] ipv6 verify source ip-address mac-address
# 在接口GigabitEthernet0/0/1上配置IPv6静态绑定表项,绑定源IP地址和MAC地址,只允许IPv6地址为2001::1且MAC地址为00-01-02-02-02-02的IPv6报文通过。
[Device-GigabitEthernet0/0/1] ipv6 source binding ip-address 2001::1 mac-address 0001-0202-0202
[Device-GigabitEthernet0/0/1] quit
# 在Device上显示IPv6静态绑定表项,可以看出以上配置成功。
[Device] display ipv6 source binding static
Total entries found: 1
IPv6 Address MAC Address Interface VLAN Type
2001::1 0001-0202-0202 GE0/0/1 N/A Static
Router通过接口GigabitEthernet0/0/1和GigabitEthernet0/0/2分别与客户端和DHCPv6服务器相连。通过在Router上配置DHCPv6中继功能,实现如下需求:
· 客户端通过DHCPv6中继从DHCPv6服务器上获取IPv6地址。
· 在接口GigabitEthernet0/0/1上启用IPv6动态绑定功能,利用Router上生成的DHCPv6中继表项,过滤接口接收的报文。
图1-5 配置与DHCPv6中继配合的IPv6动态绑定功能组网图
(1) 配置DHCPv6中继
# 配置各接口的IPv6地址(略)。
# 配置接口GigabitEthernet0/0/1工作在DHCPv6中继模式。
[Router] interface gigabitethernet 0/0/1
[Router-GigabitEthernet0/0/1] ipv6 dhcp select relay
# 开启DHCPv6中继用户地址表项记录功能。
[Router-GigabitEthernet0/0/1] ipv6 dhcp relay client-information record
# 指定DHCPv6服务器的地址。
[Router-GigabitEthernet0/0/1] ipv6 dhcp relay server-address 2::2
[Router-GigabitEthernet0/0/1] quit
(2) 配置IPv6动态绑定功能
# 在接口GigabitEthernet0/0/1上开启IPv6接口绑定功能,绑定源IP地址和MAC地址。
[Router] interface gigabitethernet 0/0/1
[Router-GigabitEthernet0/0/1] ipv6 verify source ip-address mac-address
[Router-GigabitEthernet0/0/1] quit
# 显示生成的IPv6动态绑定表项信息。
[Router] display ipv6 source binding dhcpv6-relay
Total entries found: 1
IP Address MAC Address Interface VLAN Type
1::2 0001-0203-0406 GE0/0/1 N/A DHCPv6 relay
IP Source Guard功能用于对AP收到的报文进行过滤控制,以防止非法客户端的报文通过,从而限制了对网络资源的非法使用(比如非法客户端仿冒合法客户端IP接入网络),提高了无线网络的安全性。
对于使用IPv4地址的客户端,AP会截获客户端发送的ARP报文或者与DHCP服务器间交互的DHCPv4报文,从报文中获取到客户端的IP地址,并与客户端的MAC地址形成绑定表项。
对于使用IPv6地址的客户端,有以下两种方式可以形成绑定表项。
· DHCPv6方式:AP会截获客户端与DHCPv6服务器间交互的DHCPv6报文,从报文中获取到DHCPv6服务器为客户端分配的完整的IPv6地址,并与客户端的MAC地址形成绑定表项。如果从报文中获取到的是DHCPv6服务器为客户端分配的IPv6地址前缀,则无法与客户端的MAC地址形成绑定表项。
· ND(Neighbor Discovery,IPv6邻居发现)方式:AP监听网络中的RA(Router Advertisement,路由器通告消息)、NS(Neighbor Solicitation,邻居请求消息)、NA(Neighbor Advertisement,邻居通告消息)报文,从报文中获取IPv6地址,并与客户端的MAC地址形成绑定表项。
DHCP功能的详细介绍请参考“三层技术—IP业务配置指导”中的“DHCP”。DHCPv6功能的详细介绍请参考“三层技术—IP业务配置指导”中的“DHCPv6”。ND功能的详细介绍请参考“三层技术—IP业务配置指导”中的“IPv6基础”。
如图2-1所示,开启IP Source Guard功能后,AP在收到客户端报文时,会查找IP源地址绑定表项,如果客户端发送报文的特征项(MAC地址+IP地址)与某个绑定表项匹配,则转发该报文,否则做丢弃处理。对于IPv4地址匹配的条件,还要求客户端使用的IP地址是通过DHCP方式获取的,才转发报文,否则做丢弃处理。
图2-1 IP Source Guard功能示意图
IP Source Guard功能是针对无线服务模板的,对某个无线服务模板配置了IP Source Guard功能后,仅对接入该无线服务模板的客户端报文进行IP源地址验证,通过其它无线服务模板接入的客户端不受影响。
进入系统视图。
system-view
进入无线服务模板视图。
wlan service-template service-template-number
开启IPv4源地址验证功能。
ip verify source
缺省情况下,IPv4源地址验证功能处于关闭状态。
开启IPv6源地址验证功能。
ipv6 verify source
缺省情况下,IPv6源地址验证功能处于关闭状态。
如图2-2所示,客户端通过名为service的SSID接入网络,Switch作为DHCP server会为接入的客户端动态分配IP地址。
要求对接入此SSID的客户端报文进行IP源地址验证,以防止非法客户端的报文通过。
图2-2 IPv4源地址验证配置组网图
# 创建无线服务模板1,配置SSID为service,并使能服务模版。
<AC> system-view
[AC] wlan service-template 1
[AC-wlan-st-1] ssid service
[AC-wlan-st-1] service-template enable
# 开启IPv4源地址验证。
[AC-wlan-st-1] ip verify source
[AC-wlan-st-1] quit
# 创建手工AP,名称为ap1,选择AP型号并配置序列号。
[AC] wlan ap ap1 model WA6320
[AC-wlan-ap-ap1] serial-id 219801A28N819CE0002T
# 将无线服务模板1绑定到Radio 2接口。
[AC-wlan-ap-ap1] radio 2
[AC-wlan-ap-ap1-radio-2] service-template 1
[AC-wlan-ap-ap1-radio-2] quit
[AC-wlan-ap-ap1] quit
Client 1(MAC地址为001d-0f31-87dd)和Client 2(MAC地址为001c-f08f-f7f1)通过DHCP服务器申请到IP地址后,AP上会生成Client 1和Client 2的绑定表项。当AP收到Client 1和Client 2发送的报文,检查绑定表项匹配后,AP会转发这些报文,Client 3为非法客户端(Client 3伪造其IP地址为Client 1的IP地址),AP无法查找到与其匹配的绑定表项,则会丢弃Client 3发送的报文。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!