ACL是由一系列permit语句和deny语句组成的,有序规则的列表
ACL是一个匹配工具,能够对报文进行匹配和区分。
ACL由若干条permit或deny语句组成,每条语句就是该ACL的一条规则,每条语句中的perimit
或deny就是与这条规则对应的处理动作。当有数据从接口经过时,ACL就会对该数据进行阻拦,检
查他们是否可以通过从而做出相应的处理,要么拒绝,要么接受。
可以把ACL想象成安检。违规的东西一律拒绝通过,合法的可以通过。
ACL编号的规则
如果在没有任何操作的情况下,ACL的基础值默认是5,然后成倍的增加。这是为了让ACL协议
设置的同时给人容错率的空间,如果按照阿拉伯数字的顺序进行编写,编写完之后就会变得无法补
充,当然如果想进行人为的更改也是可以的。
默认值5为ACL的步长。步长是系统自动为ACL规则分配编号时,每个相邻规则编号之间差值,缺
省值为5。步长的作用为了方便后续旧规则之间插入新规则。
ACL访问控制列表的编号
2000~2999:这是基础ACL,只能匹配原ip地址。
3000~3999:这是高级ACL可以匹配原IP和目标IP原端口号,目标端口,三层和四层的协议字段icmp、tcp、udp
ACL的应用原则:
基本ACL:尽量用在靠近目的的点(outband)
高级ACL:尽量用在靠近源的地方(inband)
通配符
通配符是一个32比特长度的数值,用于指示ip地址中,哪些比特位需要严格匹配,哪些比特位无需
匹配
通配符通常采用类似网络掩码的点分十进制形式表示,但是含义却与网络掩码不同
子网掩码中1的含义是精确匹配,0的含义是忽略匹配
通配符掩码中0的含义是精确匹配,1的含义是忽略匹配
例如192.168.10.30/24的2 4 6 8
2:00000010
4:00000100
6:00000110
8: 00001000
反掩码就为00001110(14)
知道了ACL的原理之后咱们可以来实操一下。
一、咱们先试着实现只让pc1和pc3通信
首先创建ACL基础协议(因为仅是pc和pc之间通信所以设置基础协议就够用)
在路由器输入指令:acl number 2000(创建ACL协议编号)
rule (这里可以加如优先级不加默认是5)permit source 192.168.1.10 0(这里的0是指反掩码)
这条指令意为只允许192.168.1.10这段IP通过。
rule (这里也可以加优先级)deny source any 这里的命令意为所有IP不允许通过。
这里大家注意一下,可以用优先级来决定先后顺序。如果先不让所有IP通过,然后允许特定网络通过,那么允许特定网络通过的指令优先级一定要比不让所有网络通过的优先级高才能实现。
最后一步先从路由器进入g0/0/2的端口 输入traffic-filter outbound acl 2000 意为运行ACL2000协议。前面是配置2000协议,最后一步是运行2000协议。完成
二、禁止192.168.1.0/24网络ping wed服务器
首先双击路由器关闭通知进入操作界面,然后acl number 3000(同一路由器允许创建多个ACL协议)
rule deny icmp source 192.168.1.0 0.0.0.255 (这里icmp表示网络控制协议;192.168.1.0 0.0.0.255表示整个网段)destination 192.168.3.20 0 这个指令意为不让192.168.1.0 整个网段和网络控制协议进入192.168.3.20 0这个网络,最后的destination是指向192.168.3.20这个网络的意思。
然后进入g0/0/0 输入traffic-filter inbound acl 3000 意为运行3000ACL协议。
三、仅允许client1访问wed服务器的www服务
首先创建acl number 3001 ACL协议
rule permit tcp(文件传输协议) source 192.168.1.30 0 destination 192.168.3.20 0 destination-port eq 80
意为只允许192.168.1.30 0的网络和文件传输协议访问192.168.3.20 0的网络的www服务(服务的端口号为80,所以指令后面的80指的是服务端口号)这里的destination-port指的是指向服务端口号。
然后进入g0/0/1 traffic-filter outbound acl 3001 此指令意为运行3001ACL协议