任务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的连通性。