访问控制列表(Access Control List,ACL)是应用路由器接口的指令列表,用来告诉路由器,那些数据包可以接收,那些数据包需要拒绝。
ACL可以分为以下两种类型:
标准ACL:检查数据包的源地址。其结果基于源网络/子网/主机IP地址,来决定允许还是拒绝转发数据包。它使用1~99之间数字作为列表号。
扩展ACL:对数据包的源地址与目标地址均进行检查。它也能检查特定的协议、端口号以及其他的参数。它使用100~199之间数字作为列表号。
ACL的工作原理:
ACL是一种规则的集合,他应用在路由器的某个接口上。对路由器接口而言,ACL只有俩个方向。
出:已经过路由器的处理,正离开路由器接口的数据包
入:已到达路由器接口的数据包,也被路由器处理
访问控制列表的处理过程:从上往下一一匹配,只要匹配则停止,一条都不匹配执行隐含拒绝命令
ACL的类型:
1、标准ACL:标准ACL根据数据包的源IP地址来允许或拒绝数据包。标注ACL的访问控制列表号是1~99。
2、扩展ACL:扩展ACL根据数据包的源IP地址、目的IP地址、指定协议、端口和标志来允许或拒绝数据包。扩展ACL的控制访问列表号是100~199。
3、命名ACL:命名ACL允许在标准和扩展ACL中使用名称代替列表号。
以下拓扑图进行标准ACL的配置:
SW的配置命令:
sw(config)#no ip routing 关闭路由功能
R1的配置命令:
R1(config)#int f0/0
R1(config-if)#ip add 192.168.10.1 255.255.255.0
R1(config-if)#no shut
R1(config)#int f0/1
R1(config-if)#ip add 192.168.20.1 255.255.255.0
R1(config-if)#no shut 给端口配置IP地址
创建ACL
R1(config)#access-list 10 deny host 192.168.10.10 拒绝192.168.10.10访问
R1(config)#access-list 10 permit any 允许除啦192.168.10.10之外的网段访问
R1(config)#int f0/0
R1(config-if)#ip access-group 10 in 将ACL应用于接口
R1#show access-lists 10 可以查看访问控制列表的信息
给VPCS配置ip,看看pc1和pc2是否能访问pc3:
以下拓扑图进行扩展ACL的配置:
R1的配置命令:
R1(config)#int f0/0
R1(config-if)#ip add 192.168.10.1 255.255.255.0
R1(config-if)#no shut 端口配置windows7的网关
R1(config)#int f0/1
R1(config-if)#ip add 192.168.30.1 255.255.255.0
R1(config-if)#no shut 端口配置Centos的网关
R1(config)#access-list 101 deny icmp host 192.168.10.0 host 192.168.30.40 echo 创建ACL,使用ICMP协议拒绝192.168.10.0访问192.168.30.40主机
R1(config)#access-list 101 permit ip any any 允许其他网段访问
R1(config-if)#ip access-group 101 in 将ACL应用于接口
R1#show access-lists 101 用来查看ACL的信息
使用windows7是否ping通Centos,看看能否访问Centos的网页:
还可以使用IP协议,ftp协议,tcp协议等等。
以下拓扑图进行命名ACL的配置:
SW的配置命令:
sw(config)#no ip routing 关闭路由功能
R1的配置命令:
R1(config)#int f0/0
R1(config-if)#ip add 192.168.10.1 255.255.255.0
R1(config-if)#no shut
R1(config)#int f0/1
R1(config-if)#ip add 192.168.20.1 255.255.255.0
R1(config-if)#no shut 给端口配置ip
R1(config)#ip access-list standard asd 创建命名ACL asd是名称
R1(config-std-nacl)#deny host 192.168.10.10 拒绝的ip地址
R1(config-std-nacl)#permit any 允许别的ip地址访问
R1(config-if)#ip access-group asd in 将ACL应用于接口
R1#show access-lists asd 查看ACL信息
给VPCS配置ip,看看pc1和pc2能否ping通pc3:
Sequence-Number决定ACL语句在ACL列表中的位置 :
R1:
R1(config)#ip access-list standard asd
R1(config-std-nacl)#15 deny host 192.168.20.10
R1(config-std-nacl)#16 permit host 192.168.30.0
R1#show access-lists asd