12-IP Source Guard配置
本章节下载: 12-IP Source Guard配置 (292.62 KB)
· 设备支持两种运行模式:独立运行模式和IRF模式,缺省情况为独立运行模式。有关IRF模式的介绍,请参见“IRF配置指导”中的“IRF”。
· 业务处理板不支持IP Source Guard功能。本文中的 “业务处理板”指的是单板丝印为“CR-SPE-3020-E-I”的单板。
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地址的情况,比如在接入某重要服务器的端口上配置绑定表项,仅允许该端口接收或者发送与该服务器通信的报文。
IPv4静态绑定表项来过滤端口收到的IPv4报文,或者与ARP Detection功能配合使用检查接入用户的合法性;IPv6静态绑定表项来过滤端口收到的IPv6报文,或者与ND Detection功能配合使用检查接入用户的合法性。
· ARP Detection功能的详细介绍请参考“安全配置指导”中的“ARP攻击防御”。
· ND Detection功能的详细介绍请参考“安全配置指导”中的“ND攻击防御”。
端口静态绑定是在端口上配置的绑定了IP地址、MAC地址、VLAN以及相关组合的表项,这类表项仅在当前端口上生效。只有端口收到的报文的IP地址、MAC地址、VLAN与端口上配置的绑定表项的各参数完全匹配时,报文才可以在该端口被正常转发,其它报文都不能被转发,该表项适用于检查端口上接入用户的合法性。
根据DHCP的相关表项动态生成绑定表项,该方式通常适用于局域网络中主机较多,并且采用DHCP进行动态主机配置的情况。其原理是每当DHCP为用户分配IP地址而生成一条DHCP表项时,动态绑定功能就相应地增加一条绑定表项以允许该用户访问网络。如果某个用户私自设置IP地址,则不会触发设备生成相应的DHCP表项,因此动态绑定功能也不会增加相应的访问规则来允许该用户访问网络。除此之外,IPv6类型的动态绑定还支持自动获取ND snooping表项。
· IPv4动态绑定:根据DHCP relay表项动态生成绑定表项来过滤端口收到的IPv4报文;
· IPv6动态绑定:根据ND snooping表项动态生成绑定表项来过滤端口收到的IPv6报文。
· DHCP relay功能的详细介绍请参考“三层技术-IP业务配置指导”中的“DHCP”。
· ND snooping功能的详细介绍请参考“三层技术-IP业务配置指导”中的“IPv6基础”。
表1-1 IPv4绑定功能配置任务简介
配置任务 |
说明 |
详细配置 |
配置IPv4端口绑定功能 |
必选 |
|
配置IPv4静态绑定表项 |
可选 |
|
配置IPv4绑定表项数目的最大值 |
可选 |
表1-2 IPv6绑定功能配置任务简介
配置任务 |
说明 |
详细配置 |
配置IPv6端口绑定功能 |
必选 |
|
配置IPv6静态绑定表项 |
可选 |
|
配置IPv6绑定表项数目的最大值 |
可选 |
加入聚合组的端口上不能配置IP Source Guard功能,反之亦然。
配置了IPv4端口绑定功能的端口,可利用配置的IPv4静态绑定表项和从DHCP模块获取的IPv4动态绑定表项对端口转发的报文进行过滤:
· IPv4静态绑定表项的配置请参考“1.3.2 配置IPv4静态绑定表项”。
· 在三层以太网接口或VLAN接口上,IP Source Guard可与DHCP relay配合,通过获取IP地址跨网段动态分配时产生的DHCP relay表项来生成动态绑定表项。
动态绑定表项中可能包含的内容有:MAC地址、IP地址、VLAN信息、入端口信息及表项类型(DHCP relay),其中MAC地址、IP地址和VLAN信息的包含情况由动态绑定配置决定。IP Source Guard把这些动态绑定表项下发到端口后,可对端口上转发的报文进行过滤。
表1-3 配置IPv4端口绑定功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置IPv4端口绑定功能 |
ip verify source { ip-address | ip-address mac-address | mac-address } |
必选 缺省情况下,端口上未配置IPv4端口绑定功能 |
· 若要通过获取DHCP相关表项来生成动态绑定表项,请保证网络中的DHCP relay配置有效且工作正常,DHCP relay配置的具体介绍请参见“三层技术-IP业务配置指导”中的“DHCP”。
· IPv4端口绑定功能可多次配置,最后一次的配置生效。
· 虽然IP Source Guard的动态表项是通过获取DHCP的相关表项而生成,但生成的IP Source Guard动态绑定表项数目并不与对应的DHCP表项数目保持一致,实际使用过程中,请以IP Source Guard实际生成的表项数目为准。
IPv4静态绑定表项只能在配置了IPv4端口绑定功能的端口上生效,IPv4端口绑定功能的具体配置请参见“1.3.1 配置IPv4端口绑定功能”。
表1-4 配置端口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-5 配置IPv4绑定表项数目的最大值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置IPv4绑定表项数目的最大值 |
ip verify source max-entries number |
可选 缺省情况下,IPv4绑定表项数目的最大值为32256 |
如果要配置的IPv4绑定表项数目的最大值小于当前端口上已存在的IPv4绑定表项总数,则该最大值可以配置成功,且原有的表项不受影响,但端口将不再允许新增IPv4绑定表项,除非端口上的IPv4绑定表项数目减少到小于此最大值。
配置IPv6绑定功能时,需要先配置acl ipv6 enable命令。有关acl ipv6 enable命令的介绍,请参见“ACL和QoS命令参考”中的“ACL”。
加入聚合组的端口上不能配置IP Source Guard功能,反之亦然。
配置了IPv6端口绑定功能的端口,利用配置的IPv6静态绑定表项和从DHCP模块或ND模块获取的IPv6动态绑定表项对端口转发的报文进行过滤:
· IPv6静态绑定表项的配置请参考“1.4.2 配置IPv6静态绑定表项”。
· 在二层以太网接口上,IP Source Guard可与ND snooping配合,通过获取动态产生的ND snooping表项来生成动态绑定表项。
动态绑定表项中可能包含的内容有:MAC地址、IPv6地址、VLAN信息、入端口信息及ND snooping表项,其中MAC地址、IPv6地址和VLAN信息的包含情况由动态绑定配置决定。IP Source Guard把这些动态绑定表项下发到端口后,可对端口上转发的报文进行过滤。
表1-6 配置IPv6端口绑定功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置IPv6端口绑定功能 |
ipv6 verify source { ipv6-address | ipv6-address mac-address | mac-address } |
必选 缺省情况下,端口上未配置IPv6端口绑定功能 本功能仅在二层以太网接口及由二层以太网接口组成的端口组上支持 |
· 若要通过获取ND相关表项来生成动态绑定表项,请保证网络中的ND snooping配置有效且工作正常,配置的具体介绍请参见 “三层技术-IP业务配置指导”中的“IPv6基础”。
· 接口下的IPv6端口绑定功能可多次配置,最后一次的配置生效。
· 虽然IP Source Guard的动态表项是通过获取DHCP的相关表项而生成,但生成的IP Source Guard动态绑定表项数目并不与对应的DHCP表项数目保持一致,实际使用过程中,请以IP Source Guard实际生成的表项数目为准。
IPv6静态绑定表项只能在配置了IPv6端口绑定功能的端口上生效,IPv6端口绑定功能的具体配置请参见“1.4.1 配置IPv6端口绑定功能”。
表1-7 配置端口IPv6静态绑定表项
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置端口的IPv6静态绑定表项 |
ipv6 source binding { ipv6-address ipv6-address | ipv6-address ipv6-address mac-address mac-address | mac-address mac-address } [ vlan vlan-id ] |
必选 缺省情况下,端口上无IPv6静态绑定表项 该功能只能在二层以太网接口下配置 |
· 同一个表项不能在同一个端口上重复绑定,但可以在不同端口上绑定。
· 绑定表项中的MAC地址不能为全0、全F(广播MAC)和组播MAC。绑定表项中的IPv6地址必须为单播地址,不能为全0地址、组播地址、环回地址。
· 在与ND Detection功能配合时,绑定表项中必须指定VLAN参数,且该VLAN为使能ND Detection功能的VLAN,否则ND报文将无法通过IPv6静态绑定表项的检查。关于ND Detection功能的相关配置请参见“安全配置指导”中的“ND攻击防御”。
· 配置静态表项时,如果系统中已经存在相同内容的动态表项,则新添加的静态表项将会覆盖已有的动态表项。
IPv6绑定表项数目的最大值用于限制端口上允许添加的IPv6静态绑定表项和IPv6动态绑定表项的数量总和。当端口上的IPv6绑定表项数目达到指定的最大值时,端口将不再允许添加新的IPv6绑定表项。
表1-8 配置IPv6绑定表项数目的最大值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置IPv6绑定表项数目的最大值 |
ipv6 verify source max-entries number |
可选 缺省情况下,IPv6绑定表项数目的最大值为15872 |
如果要配置的IPv6绑定表项数目的最大值小于当前端口上已存在的IPv6绑定表项总数,则该最大值可以配置成功,且原有的表项不受影响,但端口将不再允许新增IPv6绑定表项,除非端口上的IPv6绑定表项数目减少到小于最大值。
在完成上述配置后,在任意视图下执行display命令可以显示配置后IP Source Guard的运行情况,通过查看显示信息验证配置的效果。
表1-9 IP Source Guard显示和维护(IPv4)
操作 |
命令 |
显示静态绑定表项信息 (独立运行模式) |
display ip source binding static [ interface interface-type interface-number | ip-address ip-address | mac-address mac-address ] [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
显示静态绑定表项信息 (IRF模式) |
display ip source binding static [ interface interface-type interface-number | ip-address ip-address | mac-address mac-address ] [ chassis chassis-number slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
显示绑定表项信息(独立运行模式) |
display ip source binding [ interface interface-type interface-number | ip-address ip-address | mac-address mac-address ] [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
显示绑定表项信息(IRF模式) |
display ip source binding [ interface interface-type interface-number | ip-address ip-address | mac-address mac-address ] [ chassis chassis-number slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
表1-10 IP Source Guard显示和维护(IPv6)
操作 |
命令 |
显示IPv6静态绑定表项信息 (独立运行模式) |
display ipv6 source binding static [ interface interface-type interface-number | ipv6-address ipv6-address | mac-address mac-address ] [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
显示IPv6静态绑定表项信息 (IRF模式) |
display ipv6 source binding static [ interface interface-type interface-number | ipv6-address ipv6-address | mac-address mac-address ] [ chassis chassis-number slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
显示IPv6绑定表项信息(独立运行模式) |
display ipv6 source binding [ interface interface-type interface-number | ipv6-address ipv6-address | mac-address mac-address ] [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
显示IPv6绑定表项信息(IRF模式) |
display ipv6 source binding [ interface interface-type interface-number | ipv6-address ipv6-address | mac-address mac-address ] [ chassis chassis-number slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
如图1-2所示,Host A与Host B分别与Router B的端口GigabitEthernet3/0/2、GigabitEthernet3/0/1相连;Host C与Router A的端口GigabitEthernet3/0/2相连。Router B接到Router A的端口GigabitEthernet3/0/1上。各主机均使用静态配置的IP地址。
通过在Router A和Router B上配置IPv4静态绑定表项,可以满足以下各项应用需求:
· Router A的端口GigabitEthernet3/0/2上只允许Host C发送的IP报文通过。
· Router A的端口GigabitEthernet3/0/1上只允许Host A发送的IP报文通过。
· Router B的端口GigabitEthernet3/0/2上只允许Host A发送的IP报文通过。
· Router B的端口GigabitEthernet3/0/1上只允许使用IP地址192.168.0.2/24的主机发送的IP报文通过,即允许Host B更换网卡后仍然可以使用该IP地址与Host A互通。
(1) 配置Router A
# 在端口GigabitEthernet3/0/2上配置IPv4端口绑定功能,绑定源IP地址和MAC地址。
<RouterA> system-view
[RouterA] interface GigabitEthernet 3/0/2
[RouterA-GigabitEthernet3/0/2] ip verify source ip-address mac-address
# 配置IPv4静态绑定表项,只允许MAC地址为0001-0203-0405、IP地址为192.168.0.3的Host C发送的IP报文通过端口GigabitEthernet3/0/2。
[RouterA] interface GigabitEthernet 3/0/2
[RouterA-GigabitEthernet3/0/2] ip source binding ip-address 192.168.0.3 mac-address 0001-0203-0405
[RouterA-GigabitEthernet3/0/2] quit
# 在端口GigabitEthernet3/0/1上配置IPv4端口绑定功能,绑定源IP地址和MAC地址。
[RouterA] interface GigabitEthernet 3/0/1
[RouterA-GigabitEthernet3/0/1] ip verify source ip-address mac-address
# 配置IPv4静态绑定表项,只允许MAC地址为0001-0203-0406、IP地址为192.168.0.1的Host A发送的IP报文通过端口GigabitEthernet3/0/1。
[RouterA] interface GigabitEthernet 3/0/1
[RouterA-GigabitEthernet3/0/1] ip source binding ip-address 192.168.0.1 mac-address 0001-0203-0406
[RouterA-GigabitEthernet3/0/1] quit
# 在端口GigabitEthernet3/0/2上配置IPv4端口绑定功能,绑定源IP地址和MAC地址。
<RouterB> system-view
[RouterB] interface GigabitEthernet 3/0/2
[RouterB-GigabitEthernet3/0/2] ip verify source ip-address mac-address
# 配置IPv4静态绑定表项,只允许MAC地址为0001-0203-0406、IP地址为192.168.0.1的Host A发送的IP报文通过端口GigabitEthernet3/0/2。
[RouterB-GigabitEthernet3/0/2] ip source binding ip-address 192.168.0.1 mac-address 0001-0203-0406
[RouterB-GigabitEthernet3/0/2] quit
# 在端口GigabitEthernet3/0/1上配置IPv4端口绑定功能,绑定源IP地址。
[RouterB] interface GigabitEthernet 3/0/1
[RouterB-GigabitEthernet3/0/1] ip verify source ip-address
# 配置IPv4静态绑定表项,只允许IP地址为192.168.0.2的主机发送的IP报文通过端口GigabitEthernet3/0/1。
[RouterB-GigabitEthernet3/0/1] ip source binding ip-address 192.168.0.2
[RouterB-GigabitEthernet3/0/1] quit
# 在Router A上显示IPv4静态绑定表项配置成功。
[RouterA] 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 GE3/0/2 Static
0001-0203-0406 192.168.0.1 N/A GE3/0/1 Static
# 在Router B上显示IPv4静态绑定表项配置成功。
[RouterB] 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 GE3/0/2 Static
N/A 192.168.0.2 N/A GE3/0/1 Static
Router通过接口GigabitEthernet3/0/1和GigabitEthernet3/0/2分别与客户端Host和DHCP server相连。Router上使能DHCP relay功能。
具体应用需求如下:
· Host(MAC地址为0001-0203-0406)通过DHCP relay从DHCP server上获取IP地址。
· 在接口GigabitEthernet3/0/1上启用IPv4端口绑定功能,利用Router上生成的DHCP relay表项过滤端口转发的报文,仅允许通过DHCP server动态获取IP地址的客户端可以接入网络。
图1-3 配置与DHCP relay配合的IPv4端口绑定功能组网图
(1) 配置DHCP relay
# 配置各接口的IP地址(略)。
# 开启DHCP relay功能。
<Router> system-view
[Router] dhcp enable
# 配置DHCP服务器的地址。
[Router] dhcp relay server-group 1 ip 10.1.1.1
# 配置接口GigabitEthernet3/0/1工作在DHCP relay模式。
[Router] interface GigabitEthernet 3/0/1
[Router-GigabitEthernet3/0/1] dhcp select relay
# 配置接口GigabitEthernet3/0/1对应服务器组1。
[Router-GigabitEthernet3/0/1] dhcp relay server-select 1
[Router-GigabitEthernet3/0/1] quit
(2) 配置IPv4端口绑定功能
# 在接口GigabitEthernet3/0/1上配置IPv4端口绑定功能,绑定源IP地址和MAC地址。
[Router] interface GigabitEthernet 3/0/1
[Router-GigabitEthernet3/0/1] ip verify source ip-address mac-address
[Router-GigabitEthernet3/0/1] quit
# 显示生成的IPv4绑定表项信息。
[Router] display ip source binding
Total entries found: 1
MAC Address IP Address VLAN Interface Type
0001-0203-0406 192.168.0.1 N/A GE3/0/1 DHCP-RLY
IPv6客户端通过Router的端口GigabitEthernet3/0/1接入网络。要求在Router上配置IPv6静态绑定表项,使得端口GigabitEthernet3/0/1上只允许Host(MAC地址为0001-0202-0202、IPv6地址为2001::1)发送的IPv6报文通过。
图1-4 配置IPv6静态绑定表项组网图
# 在端口GigabitEthernet3/0/1上配置IPv6端口绑定功能,绑定源IP地址和MAC地址。
<Router> system-view
[Router] interface GigabitEthernet 3/0/1
[Router-GigabitEthernet3/0/1] ipv6 verify source ipv6-address mac-address
# 在端口GigabitEthernet3/0/1上配置IPv6静态绑定表项,绑定源IP地址和MAC地址,只允许IPv6地址为2001::1且MAC地址为00-01-02-02-02-02的IPv6报文通过。
[Router-GigabitEthernet3/0/1] ipv6 source binding ipv6-address 2001::1 mac-address 0001-0202-0202
[Router-GigabitEthernet3/0/1] quit
# 在Router上显示IPv6静态绑定表项配置成功。
[Router] display ipv6 source binding static
Total entries found: 1
MAC Address IP Address VLAN Interface Type
0001-0202-0202 2001::1 N/A GE3/0/1 Static-IPv6
IPv6客户端通过Router的端口GigabitEthernet3/0/1接入网络。
具体应用需求如下:
· Router上使能ND snooping功能,通过侦听DAD NS消息来建立ND snooping表项。
· 在端口GigabitEthernet3/0/1上启用IPv6端口绑定功能,利用动态获取的ND snooping表项过滤端口收到的报文,只允许合法获取IPv6地址的客户端可以接入网络。
图1-5 配置与ND snooping配合的IPv6端口绑定功能组网图
(1) 配置ND snooping
# 在VLAN 2内使能ND snooping功能。
<Router> system-view
[Router] vlan 2
[Router-vlan2] ipv6 nd snooping enable
[Router-vlan2] quit
(2) 配置IPv6端口绑定功能
# 在端口GigabitEthernet3/0/1上配置IPv6端口绑定功能,绑定源IP地址和MAC地址。
[Router] interface GigabitEthernet 3/0/1
[Router-GigabitEthernet3/0/1] ipv6 verify source ipv6-address mac-address
[Router-GigabitEthernet3/0/1] quit
# 在Router上显示生成的IPv6绑定表项信息。
[Router] display ipv6 source binding
Total entries found: 1
MAC Address IP Address VLAN Interface Type
040a-0000-0001 2001::1 2 GE3/0/1 ND-SNP
# 显示ND snooping已有的动态表项,查看其是否和端口GigabitEthernet3/0/1获取的IPv6动态绑定表项一致。
[Router] display ipv6 nd snooping
IPv6 Address MAC Address VID Interface Aging Status
2001::1 040a-0000-0001 2 GE3/0/1 25 Bound
---- Total entries: 1 ----
从以上显示信息可以看出,IP Source Guard通过获取端口GigabitEthernet3/0/1上产生的ND snooping表项成功生成了IPv6动态绑定表项。
在端口上配置静态绑定表项、配置端口绑定功能均失败。
IP Source Guard功能不能在加入聚合组的端口上配置。
将端口退出已加入的聚合组。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!