15-IP Source Guard配置
本章节下载: 15-IP Source Guard配置 (310.18 KB)
目 录
1.5.2 与DHCP Snooping配合的IPv4动态绑定功能配置举例
1.5.3 与DHCP Relay配合的IPv4动态绑定功能配置举例
1.5.5 与DHCPv6 Snooping配合的IPv6动态绑定表项配置举例
1.5.6 与ND Snooping配合的IPv6动态绑定表项配置举例
通过在设备接入用户侧的端口上启用IP Source Guard功能,可以对端口收到的报文进行过滤控制,防止非法报文通过端口,从而限制了对网络资源的非法使用(比如非法主机仿冒合法用户IP接入网络),提高了端口的安全性。
IP Source Guard在端口上用于过滤报文的特征项包括:源IP地址、源MAC地址和VLAN标签。这些特征项可单独或组合起来与端口进行绑定,形成绑定表项,具体包括:IP、MAC、IP+MAC、IP+VLAN、MAC+VLAN和IP+MAC+VLAN。
如图1-1所示,配置了IP Source Guard的端口接收到报文后查找IP Source Guard绑定表项,如果报文中的特征项与绑定表项中记录的特征项匹配,则端口转发该报文,否则做丢弃处理。绑定功能是针对端口的,一个端口配置了绑定功能后,仅该端口被限制,其他端口不受该绑定影响。
图1-1 IP Source Guard功能示意图
通过手工配置产生绑定表项来完成端口的控制功能,适用于局域网络中主机数较少且主机使用静态配置IP地址的情况,比如在接入某重要服务器的端口上配置绑定表项,仅允许该端口接收或者发送与该服务器通信的报文。
· IPv4静态绑定:通过手工配置IPv4静态绑定表项来过滤端口收到的IPv4报文,或者与ARP Detection功能配合使用检查接入用户的合法性;
· IPv6静态绑定:通过手工配置IPv6静态绑定表项来过滤端口收到的IPv6报文,或者与ND Detection功能配合使用检查接入用户的合法性。
· ARP Detection功能的详细介绍请参考“安全配置指导”中的“ARP攻击防御配置”。
· ND Detection功能的详细介绍请参考“安全配置指导”中的“ND攻击防御配置”。
根据DHCP的相关表项动态生成绑定表项来完成端口控制功能,通常适用于局域网络中主机较多,并且采用DHCP进行动态主机配置的情况。其原理是每当DHCP为用户分配IP地址而生成一条DHCP表项时,动态绑定功能就相应地增加一条绑定表项以允许该用户访问网络。如果某个用户私自设置IP地址,则不会触发设备生成相应的DHCP表项,因此动态绑定功能也不会增加相应的访问规则来允许该用户访问网络。除此之外,IPv6类型的动态绑定还支持自动获取ND Snooping表项。
· IPv4动态绑定:根据DHCP Snooping表项或DHCP Relay表项动态生成绑定表项来过滤端口收到的IPv4报文;
· IPv6动态绑定:根据DHCPv6 Snooping表项或ND Snooping表项动态生成绑定表项来过滤端口收到的IPv6报文。
· DHCP Snooping和DHCP Relay功能的详细介绍请参考“三层技术-IP业务配置指导”中的“DHCP Snooping配置”和“DHCP中继配置”。
· DHCPv6 Snooping功能的详细介绍请参考“三层技术-IP业务配置指导”中的“DHCPv6 Snooping配置”。
· ND Snooping功能的详细介绍请参考“三层技术-IP业务配置指导”中的“IPv6基础配置”。
加入聚合组的端口上不能配置IP Source Guard功能,反之亦然。
表1-1 配置IPv4静态绑定功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
配置IPv4静态绑定表项 |
user-bind { ip-address ip-address | ip-address ip-address mac-address mac-address | mac-address mac-address } [ vlan vlan-id ] |
必选 缺省情况下,端口上无IPv4静态绑定表项 |
· 一个表项不能在同一个端口上重复绑定,但可以在不同端口上绑定。
· 绑定表项中的MAC地址不能为全0、全F(广播MAC)和组播MAC。绑定表项中的IPv4地址必须为A、B、C三类地址之一,不能为127.x.x.x和0.0.0.0。
· 配置静态表项时,如果系统中已经存在相同内容的动态表项,则新添加的静态表项将会覆盖已有的动态表项。
配置了IPv4动态绑定功能的端口,通过与不同的DHCP协议配合来动态生成绑定表项:
· 在二层以太网端口上,IP Source Guard可与DHCP Snooping配合,通过获取IP地址动态分配时产生的DHCP Snooping表项来生成动态绑定表项;
· 在VLAN接口上,IP Source Guard可与DHCP Relay配合,通过获取IP地址跨网段动态分配时产生的DHCP Relay表项来生成动态绑定表项。
动态绑定表项中可能包含的内容有:MAC地址、IP地址、VLAN信息、入端口信息及表项类型(DHCP Snooping或DHCP Relay),其中MAC地址、IP地址和VLAN信息的包含情况由动态绑定配置决定。IP Source Guard把这些动态绑定表项下发到端口后,可对端口上转发的报文进行过滤。
表1-2 配置IPv4动态绑定功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置IPv4动态绑定功能 |
ip check source { ip-address | ip-address mac-address | mac-address } |
必选 缺省情况下,端口上未配置IPv4动态绑定功能 |
· 要实现IPv4动态绑定功能,请保证网络中的DHCP Snooping或DHCP Relay配置有效且工作正常,配置的具体介绍请参见“三层技术-IP业务”中的“DHCP”。
· 接口下的动态绑定表项可多次配置,后配置的覆盖先配置的。
IPv4绑定表项数目的最大值用于限制端口上允许添加的IPv4静态绑定表项和IPv4动态绑定表项的数量总和。当端口上的IPv4绑定表项数目达到指定的最大值时,端口将不再允许添加新的IPv4绑定表项。
表1-3 配置IPv4绑定表项数目的最大值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
配置IPv4绑定表项数目的最大值 |
ip check source max-entries number |
可选 缺省情况下,IPv4绑定表项数目的最大值为256 |
如果要配置的IPv4绑定表项数目的最大值小于当前端口上已存在的IPv4绑定表项总数,则该最大值可以配置成功,且原有的表项不受影响,但端口将不再允许新增IPv4绑定表项,除非端口上的IPv4绑定表项数目减少到小于此最大值。
加入聚合组的端口上不能配置IP Source Guard功能,反之亦然。
表1-4 配置IPv6静态绑定功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
配置IPv6静态绑定表项 |
user-bind ipv6 ip-address ipv6-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静态绑定表项的检查。
· 配置静态表项时,如果系统中已经存在相同内容的动态表项,则新添加的静态表项将会覆盖已有的动态表项。
配置了IPv6动态绑定功能的端口,通过与DHCPv6 Snooping或ND Snooping配合来动态生成绑定表项:
· 在二层以太网端口上,IP Source Guard可与DHCPv6 Snooping配合,通过获取IPv6地址动态分配时产生的DHCPv6 Snooping表项来生成动态绑定表项;
· 在二层以太网端口上,IP Source Guard可与ND Snooping配合,通过获取动态产生的ND Snooping表项来生成动态绑定表项。
动态绑定表项中可能包含的内容有:MAC地址、IPv6地址、VLAN信息、入端口信息及表项类型(DHCPv6 Snooping或ND Snooping),其中MAC地址、IPv6地址和VLAN信息的包含情况由动态绑定配置决定。IP Source Guard把这些动态绑定表项下发到端口后,可对端口上转发的报文进行过滤。
表1-5 配置IPv6动态绑定功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置IPv6动态绑定功能 |
ip check source ipv6 ip-address [ mac-address ] |
必选 缺省情况下,端口上未配置IPv6动态绑定功能 |
· 要实现IPv6动态绑定功能,请保证网络中的DHCPv6 Snooping或ND Snooping配置有效且工作正常,配置的具体介绍请分别参见“三层技术-IP业务”中的“DHCPv6 Snooping配置”和“IPv6基础配置”。
· 接口下的IPv6动态绑定表项可多次配置,后配置的覆盖先配置的。
· 若设备上同时配置了ND Snooping和DHCPv6 Snooping,IP Source Guard会使用通常首先生成的DHCPv6 Snooping表项来过滤端口报文。
IPv6绑定表项数目的最大值用于限制端口上允许添加的IPv6静态绑定表项和IPv6动态绑定表项的数量总和。当端口上的IPv6绑定表项数目达到指定的最大值时,端口将不再允许添加新的IPv6绑定表项。
表1-6 配置IPv6绑定表项数目的最大值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
配置IPv6绑定表项数目的最大值 |
ip check source ipv6 max-entries number |
可选 缺省情况下,IPv6绑定表项数目的最大值为256 |
如果要配置的IPv6绑定表项数目的最大值小于当前端口上已存在的IPv6绑定表项总数,则该最大值可以配置成功,且原有的表项不受影响,但端口将不再允许新增IPv6绑定表项,除非端口上的IPv6绑定表项数目减少到小于最大值。
在完成上述配置后,在任意视图下执行display命令可以显示配置后IP Source Guard的运行情况,通过查看显示信息验证配置的效果。
表1-7 IP Source Guard显示和维护(IPv4)
操作 |
命令 |
显示IPv4静态绑定表项信息 |
display user-bind [ interface interface-type interface-number | ip-address ip-address | mac-address mac-address ] [ | { begin | exclude | include } regular-expression ] |
显示IPv4绑定表项信息 |
display ip check source [ interface interface-type interface-number | ip-address ip-address | mac-address mac-address ] [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
表1-8 IP Source Guard显示和维护(IPv6)
操作 |
命令 |
显示IPv6静态绑定表项信息 |
display user-bind ipv6 [ interface interface-type interface-number | ip-address ip-address | mac-address mac-address ] [ | { begin | exclude | include } regular-expression ] |
显示IPv6绑定表项信息 |
display ip check source ipv6 [ interface interface-type interface-number | ip-address ip-address | mac-address mac-address ] [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
如图1-2所示,Host A与Host B分别与Switch B的端口GigabitEthernet1/0/2、GigabitEthernet1/0/1相连;Host C与Switch A的端口GigabitEthernet1/0/2相连。Switch B接到Switch A的端口GigabitEthernet1/0/1上。
通过在Switch A和Switch B上配置IPv4静态绑定表项,可以满足以下各项应用需求:
· Switch A的端口GigabitEthernet1/0/2上只允许Host C发送的IP报文通过。
· Switch A的端口GigabitEthernet1/0/1上只允许Host A发送的IP报文通过。
· Switch B的端口GigabitEthernet1/0/2上只允许Host A发送的IP报文通过。
· Switch B的端口GigabitEthernet1/0/1上只允许Host B发送的IP报文通过。
(1) 配置Switch A
# 配置在Switch A的GigabitEthernet1/0/2上只允许MAC地址为0001-0203-0405与IP地址为192.168.0.3的数据终端Host C发送的IP报文通过。
<SwitchA> system-view
[SwitchA] interface gigabitethernet 1/0/2
[SwitchA-GigabitEthernet1/0/2] user-bind ip-address 192.168.0.3 mac-address 0001-0203-0405
[SwitchA-GigabitEthernet1/0/2] quit
# 配置在Switch A的GigabitEthernet1/0/1上只允许MAC地址为0001-0203-0406与IP地址为192.168.0.1的数据终端Host A发送的IP报文通过。
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] user-bind ip-address 192.168.0.1 mac-address 0001-0203-0406
# 配置在Switch B的GigabitEthernet1/0/2上只允许MAC地址为0001-0203-0406与IP地址为192.168.0.1的数据终端Host A发送的IP报文通过。
<SwitchB> system-view
[SwitchB] interface gigabitethernet 1/0/2
[SwitchB-GigabitEthernet1/0/2] user-bind ip-address 192.168.0.1 mac-address 0001-0203-0406
[SwitchB-GigabitEthernet1/0/2] quit
# 配置在Switch B的GigabitEthernet1/0/1上只允许MAC地址为0001-0203-0407与IP地址为192.168.0.2的数据终端Host B发送的IP报文通过。
[SwitchB] interface gigabitethernet 1/0/1
[SwitchB-GigabitEthernet1/0/1] user-bind ip-address 192.168.0.2 mac-address 0001-0203-0407
# 在Switch A上显示IPv4静态绑定表项配置成功。
<SwitchA> display user-bind
Total entries found: 2
MAC Address IP Address VLAN Interface Type
0001-0203-0405 192.168.0.3 N/A GE1/0/2 Static
0001-0203-0406 192.168.0.1 N/A GE1/0/1 Static
# 在Switch B上显示IPv4静态绑定表项配置成功。
<SwitchB> display user-bind
Total entries found: 2
MAC Address IP Address VLAN Interface Type
0001-0203-0406 192.168.0.1 N/A GE1/0/2 Static
0001-0203-0407 192.168.0.2 N/A GE1/0/1 Static
Device通过端口GigabitEthernet1/0/1和GigabitEthernet1/0/2分别与客户端Host和DHCP server相连。Device上使能DHCP Snooping功能。
具体应用需求如下:
· Host(MAC地址为0001-0203-0406)通过DHCP server获取IP地址。
· 在Device上生成Host的DHCP Snooping表项。
· 在端口GigabitEthernet1/0/1上启用IPv4动态绑定功能,仅允许通过DHCP server动态获取IP地址的客户端可以接入网络。
DHCP server的具体配置请参考“三层技术-IP业务配置指导”中的“DHCP服务器配置”。
图1-3 配置与DHCP Snooping配合的IPv4动态绑定功能组网图
(1) 配置DHCP Snooping
# 开启DHCP Snooping功能。
<Device> system-view
[Device] dhcp-snooping
# 设置与DHCP server相连的端口GigabitEthernet1/0/2为信任端口。
[Device] interface gigabitethernet1/0/2
[Device-GigabitEthernet1/0/2] dhcp-snooping trust
[Device-GigabitEthernet1/0/2] quit
(2) 配置IPv4动态绑定功能
# 配置端口GigabitEthernet1/0/1的IPv4动态绑定功能,绑定源IP地址和MAC地址。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip check source ip-address mac-address
[Device-GigabitEthernet1/0/1] quit
# 显示端口GigabitEthernet1/0/1上的绑定表项信息。
[Device-GigabitEthernet1/0/1] display ip check source
Total entries found: 1
MAC Address IP Address VLAN Interface Type
0001-0203-0406 192.168.0.1 1 GE1/0/1 DHCP-SNP
# 显示DHCP Snooping已有的动态表项,查看其是否和端口GigabitEthernet1/0/1获取的动态表项一致。
[Device-GigabitEthernet1/0/1] 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 GigabitEthernet1/0/1
从以上显示信息可以看出,端口GigabitEthernet1/0/1在配置IPv4动态绑定功能之后根据获取的DHCP Snooping表项产生了动态绑定表项。
Switch通过接口Vlan-interface100和Vlan-interface200分别与客户端Client A和DHCP server相连。Switch上使能DHCP Relay功能。
具体应用需求如下:
· Client A(MAC地址为0001-0203-0406)通过DHCP relay从DHCP server上获取IP地址。
· 在接口Vlan-interface100上启用IPv4动态绑定功能,利用Switch上生成的DHCP Relay表项,过滤端口转发的报文。
图1-4 配置动态绑定功能组网图
(1) 配置IPv4动态绑定功能
# 配置各接口的IP地址(略)。
# 在接口Vlan-interface100上配置IPv4动态绑定功能,绑定源IP地址和MAC地址。
<Switch> system-view
[Switch] vlan 100
[Switch-Vlan100] quit
[Switch] interface vlan-interface 100
[Switch-Vlan-interface100] ip check source ip-address mac-address
[Switch-Vlan-interface100] quit
(2) 配置DHCP Relay
# 开启DHCP Relay功能。
[Switch] dhcp enable
# 配置DHCP服务器的地址。
[Switch] dhcp relay server-group 1 ip 10.1.1.1
# 配置接口Vlan-interface100工作在DHCP中继模式。
[Switch] interface vlan-interface 100
[Switch-Vlan-interface100] dhcp select relay
# 配置接口Vlan-interface100对应服务器组1。
[Switch-Vlan-interface100] dhcp relay server-select 1
[Switch-Vlan-interface100] quit
# 显示生成的IPv4绑定表项信息。
[Switch] display ip check source
Total entries found: 1
MAC Address IP Address VLAN Interface Type
0001-0203-0406 192.168.0.1 100 Vlan100 DHCP-RLY
IPv6客户端通过Device的端口GigabitEthernet1/0/1接入网络。要求在Device上配置IPv6静态绑定表项,使得端口GigabitEthernet1/0/1上只允许Host(MAC地址为0001-0202-0202、IPv6地址为2001::1)发送的IPv6报文通过。
图1-5 配置IPv6静态绑定表项组网图
# 在端口GigabitEthernet1/0/1上配置IPv6静态绑定表项,绑定源IP地址和MAC地址,只允许IPv6地址为2001::1且MAC地址为00-01-02-02-02-02的IPv6报文通过。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] user-bind ipv6 ip-address 2001::1 mac-address 0001-0202-0202
[Device-GigabitEthernet1/0/1] quit
# 在Device上显示IPv6静态绑定表项配置成功。
[Device] display user-bind ipv6
Total entries found: 1
MAC Address IP Address VLAN Interface Type
0001-0202-0202 2001::1 N/A GE1/0/1 Static-IPv6
DHCPv6客户端通过Device的端口GigabitEthernet1/0/1接入网络,通过DHCPv6 server获取IPv6地址。
具体应用需求如下:
· Device上使能DHCPv6 Snooping功能,保证客户端从合法的服务器获取IP地址,且记录客户端IPv6地址及MAC地址的绑定关系。
· 在端口GigabitEthernet1/0/1上启用IPv6动态绑定功能,利用动态获取的DHCPv6 Snooping表项过滤端口转发的报文,只允许通过DHCPv6 server动态获取IP地址的客户端接入网络。
图1-6 配置与DHCPv6 Snooping配合的IPv6动态绑定功能组网图
(1) 配置DHCPv6 Snooping
# 全局使能DHCPv6 Snooping功能。
<Device> system-view
[Device] ipv6 dhcp snooping enable
# 在VLAN 2内使能DHCPv6 Snooping功能。
[Device] vlan 2
[Device-vlan2] ipv6 dhcp snooping vlan enable
[Device] quit
# 配置端口GigabitEthernet1/0/2为信任端口。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] ipv6 dhcp snooping trust
[Device-GigabitEthernet1/0/2] quit
(2) 配置IPv6动态绑定功能
# 配置端口GigabitEthernet1/0/1的IPv6动态绑定功能,绑定源IP地址和MAC地址。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip check source ipv6 ip-address mac-address
[Device-GigabitEthernet1/0/1] quit
# 客户端通过DHCPv6 server成功获取IP地址之后,通过执行以下命令可查看到已生成的IPv6绑定表项信息。
[Device] display ip check source ipv6
Total entries found: 1
MAC Address IP Address VLAN Interface Type
040a-0000-0001 2001::1 2 GE1/0/1 DHCPv6-SNP
# 显示DHCPv6 Snooping已有的动态表项,查看其是否和端口GigabitEthernet1/0/1生成的IPv6动态绑定表项一致。
[Device] display ipv6 dhcp snooping user-binding dynamic
IP Address MAC Address Lease VLAN Interface
============================== ============== ========== ==== ==================
2001::1 040a-0000-0001 286 2 GigabitEthernet1/0/1
--- 1 DHCPv6 snooping item(s) found ---
从以上显示信息可以看出,IP Source Guard通过获取端口GigabitEthernet1/0/1上产生的DHCPv6 Snooping表项成功生成了IPv6动态绑定表项。
IPv6客户端通过Device的端口GigabitEthernet1/0/1接入网络。
具体应用需求如下:
· Device上使能ND Snooping功能,通过侦听DAD NS消息来建立ND Snooping表项。
· 在端口GigabitEthernet1/0/1上启用IPv6动态绑定功能,利用动态获取的ND Snooping表项过滤端口收到的报文,只允许合法获取IPv6地址的客户端可以接入网络。
图1-7 配置与ND Snooping配合的IPv6动态绑定功能组网图
(1) 配置ND Snooping
# 在VLAN 2内使能ND Snooping功能。
<Device> system-view
[Device] vlan 2
[Device-vlan2] ipv6 nd snooping enable
[Device-vlan2] quit
(2) 配置IPv6动态绑定功能
# 配置端口GigabitEthernet1/0/1的IPv6动态绑定功能,绑定源IP地址和MAC地址。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip check source ipv6 ip-address mac-address
[Device-GigabitEthernet1/0/1] quit
# 在Device上显示生成的IPv6绑定表项信息。
[Device] display ip check source ipv6
Total entries found: 1
MAC Address IP Address VLAN Interface Type
040a-0000-0001 2001::1 2 GE1/0/1 ND-SNP
# 显示ND Snooping已有的动态表项,查看其是否和端口GigabitEthernet1/0/1获取的IPv6动态绑定表项一致。
[Device] display ipv6 nd snooping
IPv6 Address MAC Address VID Interface Aging Status
2001::1 040a-0000-0001 2 GE1/0/1 25 Bound
---- Total entries: 1 ----
从以上显示信息可以看出,IP Source Guard通过获取端口GigabitEthernet1/0/1上产生的ND Snooping表项成功生成了IPv6动态绑定表项。
在端口上配置静态绑定表项、配置动态绑定功能均失败。
IP Source Guard功能跟聚合端口互斥。在聚合端口下不能配置静态绑定表项,也不能配置动态绑定功能。
将端口退出已加入的聚合组。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!