62.1        IP Source Guard简介

62.1.1  理解DHCP

在典型的DHCP环境中,DHCP服务器负责网络中地址的管理和分配,网络中的主机如果想要使用网络资源,必须向DHCP服务器申请合法的网络地址,只有获得了合法地址的客户端才能正常使用网络;

图 1.      正常的DHCP地址分配

然而仅仅依靠服务器/客户端这种模型完全无法保证网络中地址资源的有效管理,以及地址管理的安全性;来自客户端的***[非法报文],以及网络中可能存在的各种伪装服务器,对传统的DHCP模型提出了更高的安全要求;

DHCP Snooping的引入解决这一问题,在连接DHCP服务器与客户端的设备上开启DHCP Snooping功能,就可以解决传统DHCP模型中的大部分安全;DHCP Snooping将网络分为两个部分:客户端网络-非信任网络,对来自该网络上的客户端请求进行安全检测;服务器网络-信任网络,将收到的合法的客户端请求转发到配置的信任服务器网络,由服务器完成地址的统一管理分配;通过这种方式,DHCP Snooping解决了传统DHCP模型中的几个典型的安全问题:

图 2.      存在伪装DHCP服务器的网络

图 3.      存在伪装DHCP客户端进行***的网络

图 4.      通过DHCP Snooping进行保护的网络

然而,虽然依靠DHCP Snooping的过滤,最大限度的过滤了来自客户端的***,杜绝了网络中的伪装服务器;但却无法对客户端网络中的非DHCP客户端进行有效的限制,也就是说无法检测有私设IP的客户端,这在一个纯DHCP的网络应用中,是无法接受的;为了防止这种DHCP网络中客户端私设IP,可以在连接服务器与客户端网络之间的设备上开启IP Source Guard功能,IP Source Guard是基于DHCP Snooping的,在DHCP模型中可以有效的保证网络中DHCP客户端能够正常使用网络;

62.1.2  理解IP Source Guard

IP Source Guard维护一个IP 源地址绑定数据库, IP Source Guard可以在对应的接口上主机报文进行基于源IP、源IP加源MAC的报文过滤,从而保证只有IP源地址绑定数据库中的主机才能正常使用网络;

IP Source Guard之所以在DHCP使用中能够有效的安全控制,这主要取决于IP源地址绑定数据库,IP Source Guard会自动将DHCP Snooping绑定数据库中的合法用户绑定同步到IP Source GuardIP源地址绑定数据库,这样IP Source Guard就可以在打开DHCP Snooping设备上对客户端的进行严格过滤;

默认情况下,打开IP Source Guard的功能的端口会过滤所有非DHCPIP报文;只有当客户端通过DHCP从服务器获取到合法的IP或者管理员为客户端配置了静态的IP源地址绑定,端口将允许和这个客户端匹配的IP报文通过;

IP Source Guard支持基于IP+MAC或者基于IP的过滤,如果打开基于IP+MAC的过滤,IP Source Guard会对所有报文的MAC+IP进行检测,仅仅允许IP源地址绑定表格中存在的用户报文通过;而基于IP的过滤,仅仅会对报文的源IP地址进行检测;

在支持ARP Check功能的交换机系统上,IP Source Guard功能开启后ARP Check默认配置下也将同时开启ARP Check功能,此时交换机能使用IP Source GuardIP报文进行 IPMAC或仅源IP过虑, ARP Check功能对ARP报文中的Sender IP+Sender MAC或仅对Sender IP检查过虑。

IP Source Guard的相关过滤功能都是基于硬件实现的,接口上的IP Source Guard过滤规则可以理解为基于接口的可以动态改变的ACL,各系列产品的过滤表容量存在差异,因此在规划IP Source Guard应用之前请参看相关产品规格说明。

62.1.3  IP Source Guard配置的其他注意事项

IP Source Guard功能的应用是和DHCP Snooping结合起来的,也就是说基于接口的IP Source Guard仅仅在DHCP Snooping控制范围内的非信任口上生效,在其他信任口或者非DHCP Snooping控制范围内的接口上配置该功能,功能将不生效;

62.2        IP Source Guard配置

62.2.1  配置接口IP Source Guard功能

缺省情况下,接口的IP Source Guard功能是关闭的,接口下联的所有用户都可以使用网络;打开接口IP Source Guard功能之后,将会根据IP源地址绑定数据库对接口下联客户端进行过滤

 

命令

作用

Step 1

Ruijie(config)# interface interface

进入接口配置模式

Step 2

Ruijie(config)# [noip verify source port-security ]

打开接口上的IP Source Guard功能 port-security将配置基于IP+MAC的过滤

下边是配置打开接口1IP Source Guard功能:

Ruijie(config)# interface FastEthernet 0/1

Ruijie(config-if)# ip verify source

Ruijie(config-if)# end

 

~ 注意

 

IP Source Guard功能和DHCP Snooping功能结合应用,该功能仅仅在DHCP Snooping控制范围的接口上生效;

IP Source Guard功能仅仅在DHCP Snooping控制的非信任口上生效。

IP Source Guard支持在AP口上配置,但不支持在AP成员端口上配置。

62.2.2  配置静态IP源地址绑定用户

在某些应用情况下,某些端口下的用户希望能够静态使用某些IP,就可以通过添加静态用户信息到IP源地址绑定数据库中来实现

 

命令

作用

Step 1

Ruijie# configure terminal

进入配置模式

Step 2

Ruijie(config)# [noip source binding mac-address vlan vlan_id ip-address interfaceinterface-id

配置静态的IP源地址绑定用户到数据库

下边是添加一个静态的用户到设备的9端口:

Ruijie# configure terminal

Ruijie(config)# ip source binding 00d0.f801.0101 vlan 1 192.168.4.243 interface FastEthernet 0/9

 

~ 注意

 

端口必需在vlan vlan_id参数所指定的VLAN中,否则无法进行有效的用户绑定。

62.3        IP Source Guard配置显示

62.3.1  显示IP Source Guard过滤表项

您可以通过以下步骤显示IP Source Guard过滤表项

 

命令

作用

Step 1

Ruijie# show ip verify source [interfaceinterface]

显示IP Source Guard过滤表项

例如:

Ruijie # show ip verify source

Interface         Filter-type Filter-mode Ip-address  Mac-address  VLAN
---------------   ---------   -----------  ----------  ----------- ------
FastEthernet 0/3   ip         active      3.3.3.3                     1

FastEthernet 0/3   ip         active      deny-all               

FastEthernet 0/4    ip+mac     active        4.4.4.4    0000.0000.0001   1

FastEthernet 0/4    ip+mac     active        deny-all

62.3.2  显示IP源地址绑数据库信息

您可以通过以下步骤显示IP源地址数据库信息的相关内容

 

命令

作用

Step 1

Ruijie# show ip source binding [ip-address] [mac-address] [dhcp-snooping] [static] [vlanvlan-id] [interface interface-id]

查看IP源地址绑定数据库

例如:

Ruijie# sh ip source binding

MacAddress     IpAddress    Lease(sec)  Type      VLAN  Interface

-----------    ----------   ----------  -------  ----  ------

0000.0000.0001  1.0.0.1     infinite     static   1     FastEthernet2/1

Total number of bindings: 1