1.1 IP Source Guard简介通过IP Source Guard绑定功能,可以对端口转发的报文进行过滤控制,防止非法IP地址和MAC地址的报文通过端口,提高了端口的安全性。端口接收到报文后,通过查找IP Source Guard绑定表项,对报文进行如下处理:
l
对于IP+Port的绑定表项,如果报文中的源IP地址与绑定表项中记录的IP地址相同,端口将转发该报文;若不相同,则丢弃;
l
对于MAC+IP+Port的绑定表项,如果报文中的源MAC地址和源IP地址与绑定表项中记录的MAC地址和IP地址相同,端口将转发该报文;若不相同,则丢弃。
注意:
IP Source Guard功能与端口加入聚合组互斥。
1.2 配置静态绑定表项表1-1 配置静态绑定表项
操作命令说明
进入系统视图system-view-进入接口视图interface interface-type interface-number-配置静态绑定表项user-bind ip-address ip-address [ mac-address mac-address ]必选缺省情况下,端口上无静态绑定表项
&
说明:
l
绑定策略:不支持一个端口上相同表项的重复绑定;相同的表项可以在多个端口上绑定。
l
合法绑定表项的MAC地址不能为全0、全F(广播MAC)和组播MAC,IP地址必须为A、B、C三类地址之一,不能为127.x.x.x和0.0.0.0。
1.3 配置端口过滤功能使能端口过滤功能后,设备会将DHCP Snooping建立并维护的表项发送给IP Source Guard模块,该表项内容包括MAC地址、IP地址和端口信息等。IP Source Guard把这些动态获取的表项添加到动态绑定表项中,实现过滤端口转发报文的功能。
表1-2 配置端口过滤功能
操作命令说明
进入系统视图system-view-进入接口视图interface interface-type interface-number-配置端口过滤功能ip check source ip-address [ mac-address ]必选缺省情况下,端口上未配置端口过滤功能
1.4 IP Source Guard显示在完成上述配置后,在任意视图下执行display命令可以显示配置后IP Source Guard的运行情况,通过查看显示信息验证配置的效果。
表1-3 IP Source Guard显示
操作命令
显示静态绑定表项信息display user-bind [ interface interface-type interface-number | ip-address ip-address | mac-address mac-address]显示动态绑定表项信息display ip check source [ interface interface-type interface-number | ip-address ip-address | mac-address mac-address]
1.5 IP Source Guard典型配置举例1.5.1 静态绑定表项配置举例1. 组网需求2台交换机(Switch A、Switch B)、3台数据终端(Host A、Host B、Host C)接入到以太网中互相通信。Host A与Host B分别接到Switch B的端口Ethernet1/0/1、Ethernet1/0/2上;Host C接到Switch A的端口Ethernet1/0/1上。Switch B接到Switch A的端口Ethernet1/0/2上。
具体应用需求如下:
l
在Switch A的Ethernet1/0/2上只允许MAC地址为00-01-02-03-04-05与IP地址为192.168.0.3的数据终端Host C发送的IP报文通过。
l
Switch A的Ethernet1/0/1上只允许MAC地址为00-01-02-03-04-06与IP地址为192.168.0.1的数据终端Host A发送的IP报文通过。
l
在Switch B的Ethernet1/0/1上只允许MAC地址为00-01-02-03-04-06与IP地址为192.168.0.1的数据终端Host A发送的IP报文通过。
l
在Switch B的Ethernet1/0/2上只允许MAC地址为00-01-02-03-04-07与IP地址为192.168.0.2的数据终端Host B发送的IP报文通过。
2. 组网图图1-1 配置静态绑定表项组网图
3. 配置步骤(1)
配置Switch A
# 配置各接口的IP地址(略)。
# 配置在Switch A的Ethernet1/0/2上只允许MAC地址为00-01-02-03-04-05与IP地址为192.168.0.3的数据终端Host C发送的IP报文通过。
<SwitchA> system-view
[SwitchA] interface ethernet 1/0/2
[SwitchA-Ethernet1/0/2] user-bind ip-address 192.168.0.3 mac-address 0001-0203-0405
[SwitchA-Ethernet1/0/2] quit
# 配置在Switch A的Ethernet1/0/1上只允许MAC地址为00-01-02-03-04-06与IP地址为192.168.0.1的数据终端Host A发送的IP报文通过。
[SwitchA] interface ethernet 1/0/1
[SwitchA-Ethernet1/0/1] user-bind ip-address 192.168.0.1 mac-address 0001-0203-0406
(2)
配置Switch B
# 配置各接口的IP地址(略)。
# 配置在Switch B的Ethernet1/0/1上只允许MAC地址为00-01-02-03-04-06与IP地址为192.168.0.1的数据终端Host A发送的IP报文通过。
<SwitchB> system-view
[SwitchB] interface ethernet 1/0/1
[SwitchB-Ethernet1/0/1] user-bind ip-address 192.168.0.1 mac-address 0001-0203-0406
[SwitchA-Ethernet1/0/1] quit
# 配置在Switch B的Ethernet1/0/2上只允许MAC地址为00-01-02-03-04-07与IP地址为192.168.0.2的数据终端Host B发送的IP报文通过。
[SwitchB] interface ethernet 1/0/2
[SwitchB-Ethernet1/0/2] user-bind ip-address 192.168.0.2 mac-address 0001-0203-0407
(3)
验证配置结果
# 在Switch A上显示静态绑定表项配置成功。
<SwitchA> display user-bind
The Following User address bind have been configured:
Mac IP Port Status
0001-0203-0405 192.168.0.3 Ethernet1/0/2 Static
0001-0203-0406 192.168.0.1 Ethernet1/0/1 Static
-------------2 bind entries queried, 2 listed------------
# 在Switch B上显示静态绑定表项配置成功。
<SwitchB> display user-bind
The Following User address bind have been configured:
Mac IP Port Status
0001-0203-0406 192.168.0.1 Ethernet1/0/1 Static
0001-0203-0407 192.168.0.2 Ethernet1/0/2 Static
-------------2 bind entries queried, 2 listed------------
1.5.2 端口过滤功能配置举例1. 组网需求Switch A通过端口Ethernet1/0/1和Ethernet1/0/2分别与客户端Client A和DHCP Server相连。Switch A上使能DHCP Snooping功能。
具体应用需求如下:
l
Client A(MAC地址为00-01-02-03-04-06)通过DHCP Server获取IP地址。
l
在Switch A上生成Client A的DHCP Snooping表项。
l
在端口Ethernet1/0/1上启用IP过滤功能,防止客户端使用伪造的不同源IP地址对服务器进行攻击。
&
说明:
DHCP Server的具体配置请参考本手册中的“DHCP操作”部分。
2. 组网图图1-2 配置端口过滤功能组网图
3. 配置步骤(1)
配置Switch A
# 配置端口Ethernet1/0/1的端口过滤功能。
<SwitchA> system-view
[SwitchA] interface ethernet1/0/1
[SwitchA-Ethernet1/0/1] ip check source ip-address mac-address
[SwitchA-Ethernet1/0/1] quit
# 开启DHCP Snooping功能。
[SwitchA] dhcp-snooping
# 设置与DHCP服务器相连的端口Ethernet1/0/2为信任端口。
[SwitchA] interface ethernet1/0/2
[SwitchA-Ethernet1/0/2] dhcp-snooping trust
[SwitchA-Ethernet1/0/2] quit
(2)
验证配置结果
# 显示端口Ethernet1/0/1的端口过滤功能配置成功。
[SwitchA] interface ethernet1/0/1
[SwitchA-Ethernet1/0/1] display this
#
interface Ethernet1/0/1
ip check source ip-address mac-address
#
return
# 显示端口Ethernet1/0/1从DHCP Snooping获取的动态表项。
<SwitchA> display ip check source
The Following User address bind have been configured:
Mac IP Port Status
0001-0203-0406 192.168.0.1 Ethernet 1/0/1 Dynamic
-------------1 bind entries queried, 1 listed------------
# 显示DHCP Snooping已有的动态表项,查看其是否和端口Ethernet1/0/1获取的动态表项一致。
<SwitchA> 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/0/1
从以上显示信息可以看出,端口Ethernet1/0/1在配置端口过滤功能之后获取了DHCP Snooping产生的动态表项。
1.6 常见配置错误举例1.6.1 静态绑定表项配置失败1. 故障现象在端口上配置静态绑定表项失败。
2. 故障分析MAC+IP+端口绑定功能跟聚合端口互斥。在聚合端口下不能配置静态绑定表项。
3. 处理过程去掉端口的聚合状态,并将端口从聚合组中删除。