访问控制列表(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