任务1 完成基于源地址的数据包过滤(标准ACL)

任务1 完成基于源地址的数据包过滤(标准ACL)

任务描述

某超市新开分店,原超市网络为A区,使用财务部10.10.10.0/24和销售部10.10.20. 0/24两个网段;新店网络为B区,销售部使用192.168.1.0/24网段。为了实现两个店区网络互联,网络管理员使用两个路由器,通过高速同步串口(Serial)连接两个店区,在路由器上配置OSPF动态路由协议实现了多园区的网络互联。但是,相关人员希望A区、B区销售部数据独立,互不访问,只允许A区财务部能访问到所有销售部数据。

本任务将介绍基于源地址进行数据包过滤的技术,即标准ACL。

相关知识

网络管理员经常面临进退两难的困境,他们必须设法拒绝那些不希望的访问连接,同时又要允许正常的访问连接,使用访问控制列表(ACL)技术能达到这一目的。

访问控制列表(ACL)是在交换机和路由器上经常采用的一种流量控制技术,它是一系列规则,可以根据这些规则对经过网络设备的数据包,作出允许通过和拒绝通过的过滤处理,从而控制用户对网络资源的访问。

ACL可以基于源地址、目的地址或服务类型设置过滤条件,允许或禁止某一用户访问某一特定资源。

ACL一般在路由器或三层交换机上配置,分为标准ACL和扩展ACL。每种类型的访问控制列表又可分为编号ACL和命名ACL。

标准ACL只能针对源IP地址进行过滤,而扩展ACL则在标准ACL的基础上,对流量数据包进行更加细致、更加具体的控制,可以基于数据包源IP地址、目的IP地址、协议及端口号等信息来过滤流量。

ACL规则是逐条执行的,在逐条执行的过程中,只要发现有一条匹配,则使用那一条规定动作确定允许或拒绝(如执行第一条的时候就匹配了,那么就使用第一条规定的动作允许或拒绝,后面的语句就不会被执行了),如果所有指令都不匹配,默认的动作是拒绝。

任务解析

为实现A区、B区销售部数据独立,互不访问,只允许A区财务部能访问到所有销售部数据,相当于在全网贯通后,禁止数据包源IP地址为10.10.20.0/24的终端访问192.168. 1.0/24段的终端即可,为此可以考虑采用标准ACL来过滤数据包。使用标准ACL一般需下述两个步骤。

一、定义标准ACL(有两种方式)

编号的标准访问控制列表

Router(config)#access-list 编号 permit或deny 源地址 反掩码

其中编号为1-99,permit表示允许,deny表示拒绝,请注意指定源地址时采用反掩码。地址指定还有两种特殊方式:“any”代表任意地址,“host IP地址”代表特定主机。

命名的标准访问控制列表

Router(config)#ip access-list standard 命名

Router(config-std-nacl)#permit或deny 源地址 反掩码  !此句可重复使用,构成命名ACL中的多条ACL规则

二、在接口应用ACL

应用ACL到接口,指定数据包在流进或流出的方向进行过滤。一个端口在一个方向上只能应用一组ACL。

Router(config-if)#ip access-group 编号或命名 in或out

其中in表示数据包流进方向,out表示数据包流出方向。

注意:在标准ACL的末尾,总有一条隐含的deny all(拒绝所有)。这意味着过滤数据包时,如果与ACL规则中所有的允许语句都不匹配,则隐含的deny all将会禁止该数据包通过。

任务实施

一、搭建网络拓扑

在PACKET TRACER软件中搭建如图5-1所示网络拓扑,各设备及端口地址见表5-1。

图5-1

表5-1

二、配置路由器R1的端口

Router(config)#host R1

R1(config)#int f0/0

R1(config-if)#ip address 10.10.10.1 255.255.255.0

R1(config-if)#no shut

R1(config-if)#exit

R1(config)#int f1/0

R1(config-if)#ip address 10.10.20.1 255.255.255.0

R1(config-if)#no shut

R1(config-if)#exit

R1(config)#int s2/0

R1(config-if)#ip address 11.1.1.1 255.255.255.0

R1(config-if)#clock rate 64000

R1(config-if)#no shut

R1(config-if)#exit

R1(config)#

三、配置路由器R2的端口

Router(config)#host R2

R2(config)#int f0/0

R2(config-if)#ip address 192.168.1.1 255.255.255.0

R2(config-if)#no shut

R2(config-if)#exit

R2(config)#int s2/0

R2(config-if)#ip address 11.1.1.2 255.255.255.0

R2(config-if)#no shut

R2(config-if)#exit

R2(config)#

四、配置路由器R1的OSPF路由协议

R1(config)#router ospf 1

R1(config-router)#netw 10.10.10.0 0.0.0.255 ar 0

R1(config-router)#netw 10.10.20.0 0.0.0.255 ar 0

R1(config-router)#netw 11.1.1.0 0.0.0.255 ar 0

R1(config-router)#exi

R1(config)#

五、配置路由器R2的OSPF路由协议

R2(config)#router ospf 1

R2(config-router)#netw 192.168.1.0 0.0.0.255 ar 0

R2(config-router)#netw 11.1.1.0 0.0.0.255 ar 0

R2(config-router)#exi

R2(config)#

六、配置PC1、PC2和PC3的IP地址、子网掩码和网关地址并进行连通性测试

表5-1所示为配置PC1、PC2和PC3的IP地址、子网掩码和网关地址,进行连通性测试。此时全网贯通,PC1、PC2与PC3可以互访。

七、在R2上配置编号标准ACL并应用

在R2上配置编号标准ACL并应用在F0/0端口,使得PC2与PC3不能互访:

R2(config)#access-list 10 permit 10.10.10.0 0.0.0.255 !定义编号标准ACL,编号为10,允许源地址为10.10.10.0/24的数据包,注意采用了反掩码

R2(config)#int f0/0

R2(config-if)#ip access-group 10 out    !应用编号标准ACL到F0/0端口,对流出的数据包作过滤

R2(config-if)#exi

R2(config)#

说明:如果A区销售部访问B区销售部,其数据流相对于R2的F0/0口是流出,所以此标准ACL的作用是在路由器R2的F0/0口对流出的数据包作过滤,如果数据包源地址为10.10.10.0/24,则允许经F0/0口流出(相当于允许A区财务部访问B区销售部),否则, ACL列表规则中的最后一条隐含规则deny all将禁止其他任何数据包从F0/0口流出,实际上就是禁止了源地址为10.10.20.0/24的终端访问192.168.1.0/24网段(相当于禁止A区销售部访问B区销售部,数据包访问是相互的,所以B区销售部也无法访问A区销售部)。

注意:本例标准ACL配置规则采用了允许动作,借用了ACL规则中默认的拒绝动作。

如果采用命名标准ACL,则使用如下命令:

R2(config)#ip access-list standard acl10    !定义命名标准ACL,名为acl10

R2(config-std-nacl)#permit 10.10.10.0 0.0.0.255    !定义允许的源地址为10. 10.10.0/24的数据包

R2(config-std-nacl)#deny 10.10.20.0 0.0.0.255    !此条语句可省略,因为有默认的deny all语句

R2(config-std-nacl)#ex

R2(config)#int f0/0

R2(config-if)#ip access-group acl10 out    !应用命名标准ACL到F0/0端口,对流出的数据包作过滤

R2(config-if)#exi

R2(config)#

八、测试PC2与PC3的连通性

此时,PC2与PC3已无法通信,PC2发出的数据包在路由器R2的F0/0口被拒绝。

任务小结

在使用标准ACL时一定要弄清楚针对数据包源IP地址,哪些是允许通过的,哪些是拒绝通过的,由于ACL默认最后有一条“deny all”的拒绝所有数据包的规则,所以在设置规则时,更重要的是设置允许数据包通过的规则。请记住:允许规则要尽量优先配置。

标准ACL主要用于允许或禁止特定主机、特定子网的访问场合。

拓展提高

使用no access-list 编号可以删除编号ACL,但在删除ACL时,请先用no access-group编号 方向取消该ACL在端口的应用。

命名ACL相对于编号ACL,其优点在于:命名ACL中的规则可以单独一条一条地删除,而不必删除整个ACL。

对于标准ACL,由于是针对数据包的源IP地址进行检查,所以为了不影响源端的其他通信,通常应用位置设置到距离目标近的位置。本例最好是在路由器R2的F0/0端口应用,但也可在R1的S2/0或R2的S2/0口应用。

课后自测

在PACKET TRACER软件中搭建如图5-2所示网络拓扑,各设备及端口地址见表5-2,要求实现如下功能:

图5-2

表5-2

(1)完成各计算机终端IP地址、子网掩码和默认网关的配置。

(2)完成各设备端口的地址配置。

(3)仅使用静态路由(默认路由)实现全网贯通并测试。

(4)在全网贯通的基础上,使用标准ACL使得经理部可以访问财务部,而销售部不允许访问财务部。

(5)测试PC1与PC3、PC2与PC3的连通性。