ACL:访问控制协议,指的是一条一条的规则策略,构成一个访问控制的列表,从而实现设备之间的访问控制以及确认数据包是否放行通过(工作于网络层)。
主要的配置设备:路由器
ACL的作用:1.对数据包做访问控制
2.结合其他的协议,对设备做出访问控制权限,匹配范围
3.控制在传输层协议的数据包是否放行通过
注意:1.ACL可以配置多条策略,用接口进行调用即可
2.根据报文来进行匹配和区分
3.一个接口只能调用一个规则编号的ACL策略
ACL:访问控制协议,一条一条的带有编号的规则策略
ACL编号:用于标识ACL,根据数字的划分范围,ACL分为基本ACL,高级ACL,二层ACL和用户ACL几种类型,每类ACL编号的取值范围不同,相应的所具备的功能也不一样。
关于每类ACL编号,我们只需要学习基本和高级ACL.
基本ACL:范围2000-2999,只能匹配源地址 (实验情况下尽量要靠近目的地的端口)
高级ACL:范围3000-3999,既可以匹配带源IP地址,目标IP地址,还可以匹配到源端口号,目标端口号
(实验条件下,尽量使用在靠近源地址的地方,起保护宽带的作用)
规则编号:可以自行配置规则编号,也可以由系统自动分配,主要作用是在可以在之后添加acl策略,用来标识每一条acl策略,
,即每一条策略都有自己的编号,系统就按照这个编号从小到大来进行匹配。
命令:permit 允许 / deny 拒绝
步长:每一条策略之间的差值,默认为5,作用是为了方便后续在旧策略之间插入新的策略
通配符掩码
当进行IP地址匹配的时候,后面会跟着32位掩码位,这32位称为通配符
匹配规则 "0"表示匹配,"1"表示随机分配 运用点分十进制表示(即0必须匹配,1无需匹配)
例如:192.168.1.8 /24 匹配 20 22 24 26
192.168.1.8 11000000.10101000.00000001.00001000 点分十进制
/24 00000000.00000000.00000000.11111111
20 00010100
22 00010110
24 00011000
26 00011010
由红标可以看出 只有三位是变化的,"0"表示匹配,为不变,"1"表示随机,表示变化
所以可以的到00000000.0000000.0000000.00001110,即通配符0.0.0.14
所以当是IP地址时,通配符是要写死的,因为IP地址是不变的
举例:
192.168.10.2 0.0.0.0/0 | 匹配一个主机地址 |
192.168.20.0 0.0.0.255 | 匹配一个网段 |
即:网络位需要严格的匹配,主机位随机匹配
匹配原则:1.遵循匹配成功则停止匹配,匹配一条成功后,后边有相同的不匹配
2.有则匹配,无则放通数据包
匹配流程:
1.系统会查找设备上是否配置了ACL。
2.如果ACL不存在,则匹配不成功,数据包会直接放通
3.如果ACL存在,进行查找ACL中是否包含ACL策略,
4.如果有acl策略存在,匹配成功则需要看是permit或者deny,然后执行
5.如果没有策略,则继续向下查找符合的,如果没有,则匹配失败
总结:存在ACL且必须有符合添加的规则才可以匹配成功
问题:1.只允许PC1和PC3进行通信
2.不允许PC1,PC2,CLIENT1和server1进行通信
3.允许CLIENT1与SERBER1进行通信
实现步骤:首先创建一个ACL
写入策略:1.允许PC1进行通信的 2.不允许所有通过(按顺序匹配。规则编号,规则编号小的优先)
然后调用接口,一题使用的基本acl,配目的地近的端口
禁止ping,所以禁用掉icmp协议即可
由于在第二问题 icmp已经被进制,即ping不同,所以使用抓包工具看传输层三次握手四次挥手
此次端口就本着尽量原则,最合适的已经被占用,用其他端口调用acl也是可以的