HCNA Routing&Switching之访问控制列表ACL

时间:2023-12-14 11:05:14

  前文我们了解了DHCP服务相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15147870.html;今天我们来聊一聊访问控制列表ACL;

  ACL(access control list)是一款流量过滤工具,它能针对特定的流量数据包做拒绝或允许操作;本质上讲ACL是最早的包过滤防火墙;它能根据我们定义的规则将数据包进行分类,并针对不同类型的数据包进行不同的处理,从而实现针对网络访问行为的控制、限制网络流量、提高网络性能和防止网络攻击;

HCNA Routing&Switching之访问控制列表ACL

  提示:ACL主要针对三层ip包头里的源地址和目标地址以及四层TCP包头的源端口和目标端口来分类过滤数据包,我们可以根据这四个元素任意组合定义不同的规则;当然对于二层数据链路层也可根据源mac和目标mac、vlan id等来制定规则;

  ACL应用场景

HCNA Routing&Switching之访问控制列表ACL

  提示:我们可以通过制定ACL规则实现允许或拒绝流量通过;如上图我们可以允许192.168.1.0/24这个网段里的主机可以正常访问互联网,但不允许访问服务器A;对于192.168.2.0/24这个网络里的主机允许访问服务器A,但拒绝访问互联网;

HCNA Routing&Switching之访问控制列表ACL

  提示:ACL可以根据需求来定义过滤的条件以及匹配条件后所执行的动作;如上图,匹配ACL条件的数据包进行加密操作;未匹配的数据不做任何处理;

  ACL工作原理

HCNA Routing&Switching之访问控制列表ACL

  提示:首先ACL由一条或多条规则组成;每个ACL都有一个名称或编号;对于不同范围编号的ACL其特性也有所不同;每条规则必须选择动作,允许或拒绝;每条规则都有一个id序号,默认不给id,就是5,间隔5;序号的作用就是排序规则匹配顺序,数字越小越有限匹配;只要有一条规则和报文匹配,就停止查找,称为命中规则;如果查找完所有规则,如果没有符合条件的规则,称为未命中规则;ACL创建后,必须将其应用到某个接口或其他技术内才会生效;应用在接口时必须选择方向:入站或出站(相对设备来判断),每个接口在每个方向上只可应用一个ACL;不能过滤由设备自己产生的数据;

  ACL类型

HCNA Routing&Switching之访问控制列表ACL

  提示:ACL分为数字型ACL和命名型ACL;对于数字型ACL来说,主要分三中类型,基本ACL,其编号范围是2000-2999,高级ACL编号为3000-3999,二层ACL编号为4000-4999;最后是用户自定义ACL其编号范围5000-5999;对于命名型ACL具体属于高级还是基本还是二层,由命令决定;默认不跟编号就是高级ACL;

  正掩码、反掩码、通配符区别

HCNA Routing&Switching之访问控制列表ACL

  示例:用通配符匹配一个地址

HCNA Routing&Switching之访问控制列表ACL

  示例:匹配一个网段

HCNA Routing&Switching之访问控制列表ACL

  示例:匹配任意地址

HCNA Routing&Switching之访问控制列表ACL

  提示:后面不接任何地址直接回车也表示匹配任意地址,后面接any也表示匹配任意地址;

  示例:匹配网段内的所有奇数地址

HCNA Routing&Switching之访问控制列表ACL

  提示:我们知道对于一个奇数来说,它的二进制最后一位肯定是1;那么我们只需匹配最后一位必须是1即可;结合上述通配符的规则,1表示无需匹配,0表示必须匹配;对应我们可以算出匹配奇数的通配符为254;对于254来说,它的二进制最后一位是0,则表示最后一位必须匹配;这个必须匹配是指匹配前边的ip地址和后面的通配符做异或计算(相同为0不同为1)的结果;如上1的二进制最后一位是1和254的最后一位0做异或计算就是1;这表示IP地址二进制最后一位必须是1对应ip地址才能被匹配;这样一来对于匹配是奇数还是偶数,由前边变得ip地址决定;如果ip地址的二进制最后一位是1则匹配奇数,如果ip地址最后一位是0则匹配偶数;

  示例:匹配网段内的所有偶数地址

HCNA Routing&Switching之访问控制列表ACL

  ACL配置

  1、创建ACL

HCNA Routing&Switching之访问控制列表ACL

  提示:创建ACL如果后面直接跟数字表示创建数值型ACL,根据给定数字自动创建对应类型的ACL;如果创建acl后面跟的是名称,如果后面没有指定对应acl编号,默认就是高级ACL;

  2、创建规则

HCNA Routing&Switching之访问控制列表ACL

  提示:创建规则,如果没有跟规则编号,默认就是5;创建ACL规则需要指定对应的动作,允许或拒绝;后面是该规则的匹配条件;不同类型的ACL,对应后面的匹配条件也有所不同,对于基本acl来说,它只能匹配源ip等;对于高级acl来说,它即可以匹配源ip地址,目标ip地址,也可以匹配源端口或目标端口;

  3、创建高级ACL

HCNA Routing&Switching之访问控制列表ACL

  在高级acl里创建规则

HCNA Routing&Switching之访问控制列表ACL

  提示:上述规则表示允许192.168.1.232这台主机访问1.1.1.1这台服务器的80端口;

  4、在接口调用ACL过滤流量

HCNA Routing&Switching之访问控制列表ACL

  提示:在接口模式下调用acl,需要注意方向,inbound表示入站,outbound表示出站;

  5、验证acl

HCNA Routing&Switching之访问控制列表ACL

  6、查看接口acl调用情况

HCNA Routing&Switching之访问控制列表ACL

  7、查看设备上所有基于ACL调用情况

HCNA Routing&Switching之访问控制列表ACL

  提示:该命令在路由器上能够正常执行,交换机不支持;