标题：访问控制列表
定义
访问控制是网络安全防范和保护的主要策略，它的主要任务是保证网络资源不被非法使用和访问。它是保证网络安全最重要的核心策略之一。访问控制涉及的技术也比较广，包括入网访问控制、网络权限控制、目录级控制以及属性控制等多种手段。
访问控制列表（Access Control Lists,ACL）是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪能些数据包可以收、哪能数据包需要拒绝。至于数据包是被接收还是拒绝，可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。
访问控制列表不但可以起到控制网络流量、流向的作用，而且在很大程度上起到保护网络设备、服务器的关键作用。作为外网进入企业内网的第一道关卡，路由器上的访问控制列表成为保护内网安全的有效手段。
此外，在路由器的许多其他配置任务中都需要使用访问控制列表，如网络地址转换（Network Address Translation，NAT）、按需拨号路由（Dial on Demand Routing，DDR）、路由重分布（Routing Redistribution）、策略路由（Policy-Based Routing，PBR）等很多场合都需要访问控制列表。
访问控制列表从概念上来讲并不复杂，复杂的是对它的配置和使用，许多初学者往往在使用访问控制列表时出现错误。
几种访问控制列表的简要总结
1.标准IP访问控制列表一个标准IP访问控制列表匹配IP包中的源地址或源地址中的一部分，可对匹配的包采取拒绝或允许两个操作。编号范围是从1到99的访问控制列表是标准IP访问控制列表。2.扩展IP访问控制列表扩展IP访问控制列表比标准IP访问控制列表具有更多的匹配项，包括协议类型、源地址、目的地址、源端口、目的端口、建立连接的和IP优先级等。编号范围是从100到199的访问控制列表是扩展IP访问控制列表。3.命名的IP访问控制列表所谓命名的IP访问控制列表是以列表名代替列表编号来定义IP访问控制列表，同样包括标准和扩展两种列表，定义过滤的语句与编号方式中相似。4.标准IPX访问控制列表标准IPX访问控制列表的编号范围是800-899，它检查IPX源网络号和目的网络号，同样可以检查源地址和目的地址的节点号部分。5.扩展IPX访问控制列表扩展IPX访问控制列表在标准IPX访问控制列表的基础上，增加了对IPX报头中以下几个宇段的检查，它们是协议类型、源Socket、目标Socket。扩展IPX访问控制列表的编号范围是900-999。6.命名的IPX访问控制列表与命名的IP访问控制列表一样，命名的IPX访问控制列表是使用列表名取代列表编号。从而方便定义和引用列表，同样有标准和扩展之分。
访问控制列表 IN OUT方向测试
in的时候判断的是源地址是vlan内的地址，out的时候判断源地址是非本vlan 内的地址。
例子，18 19两个不同的网段，在18网段上加访问列表， 
----〉表示能够访问，---X-->；表示不能访问。
ip access-l exte test_liu 
deny ip host 10.24.18.5 host 10.24.19.30 
permit ip any any 
__________________________________________________ 
inter vlan 18 
ip access-g test_liu in 
exit 
测试：18.5--X-->19.30 
⒚30--X-->18.5 
访问列表生效，在IN 方向判断源地址18.5属于本VLAN
___________________________________________________ 
inter vlan 18 
ip access-g test_liu out 
exit 
测试：18.5---->19.30 
⒚30---->18.5 
访问列表不生效，在OUT方向判断源地址18.5属于本VLAN，不作限制
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
ip access-l exte test_liu 
deny ip host 10.24.19.30 host 10.24.18.5 
permit ip any any 
---------------------------------------------------- 
inter vlan 18 
ip access-g test_liu in 
exit 
测试：18.5---->19.30 
⒚30---->18.5 
访问列表不生效，在in方向判断源地址19.30不属于本VLAN，不作限制
__________________________________________________ 
inter vlan 18 
ip access-g test_liu out 
exit 
测试：18.5--X-->19.30 
⒚30--X-->18.5 
访问列表生效，在out方向判断源地址19.30不属于本VLAN，加以限制
标准访问控制列表配置
1. 配置路由器到网络各点可通网络如图，动态路由已设好，IP地址分配如下：
RouterA f0/0: 10.65.1.2
RouterA f0/1: 10.66.1.2
RouterA s0/1: 10.68.1.2
RouterC s0/0: 10.68.1.1
RouterC s0/1: 10.78.1.2
RouterB s0/0: 10.78.1.1
RouterB s0/1: 10.69.1.2
RouterB f0/0: 10.70.1.2
SWA:10.65.1.8gateway:10.65.1.2
PCA:10.65.1.1gateway:10.65.1.2
PCB:10.66.1.1gateway:10.66.1.2
PCC:10.69.1.1gateway:10.69.1.2
PCD:10.70.1.1gateway:10.70.1.2
PCE:10.65.1.3gateway:10.65.1.2
PCF:10.65.2.1gateway:10.65.1.22. 基本的访问控制列表先从PCA ping PCD:
[root@PCA @root]#ping 10.70.1.1 （通）
在ROC的s0/0写一个输入的访问控制列表：
RouterC(config)#access-list 1 permit 10.65.1.1 0.0.0.0
RouterC(config)#access-list 1 deny any
RouterC(config)#int s0/0
RouterC(config-if)#ip access-group 1 in
RouterC(config-if)#end
RouterC#sh access-list 1
[root@PCA @root]#ping 10.70.1.1（通）
[root@PCE @root]#ping 10.70.1.1（不通）
[root@PCE @root]#ping 10.66.1.1（通）
[root@PCB @root]#ping 10.70.1.1（不通）
[root@PCD @root]#ping 10.66.1.1（通）
第一个ping，PCA的IP地址是10.65.1.1在访问控制列表access-list 1中是
允许的，所以通。
第二个ping,PCE虽然是65网段，但是access-list 1对10.65.1.1是完全匹配，
所以10.65.1.3的数据包不能通过。
第三个ping,PCE到PCB不通过RouterC的s0/0，所以能通。
第四个ping,PCB的IP地址是10.66.1.1，它是被禁止的，所以不通。
第五个ping，从PCD到PCB的数据包是从RouterC的s0/0口出，不受access-list 1
的控制，所以通。
下面再写一个访问控制列表，先删除原访问控制列表：
RouterC(config)#no access-list 1
RouterC(config-if)#no ip access-group 1 in
二者都可能实现去掉访问列表的目的。前者是从列表号角度删除，后者是从接口
的输入和输出角度删除。
可以通过sh access-list <n> 命令查看访问控制列表。
下面再写一个访问控制列表：
RouterC(config)#access-list 2 deny 10.65.1.1 0.0.0.255
RouterC(config)#access-list 2 permit any
RouterC(config)#int s0/0
RouterC(config-if)#ip access-group 1 out
RouterC(config-if)#end
RouterC#sh access-list 1
这个访问控制列表比上一个访问控制列表有以下几点不同：
⑴ 先deny后permit，
⑵ 禁止的是一个C类
⑶ 一个输出的访问控制
[root@PCA @root]#ping 10.69.1.1（不通）
[root@PCE @root]#ping 10.69.1.1（不通）
[root@PCF @root]#ping 10.69.1.1（通）
[root@PCB @root]#ping 10.69.1.1（通）
因为PCA和PCE的IP地址10.65.1.1、10.65.1.3，在deny范围内，所以不通。
而PCF的IP是10.65.2.1不在10.65.1.0 0.0.0.255范围内，所以能通。3.梯形基本访问控制列表访问控制列表一般是顺序匹配的，梯形结构，下面是一个参考：
RouterC(config)#access-list 4 permit 10.65.1.1
RouterC(config)#access-list 4 deny 10.65.1.0 0.0.0.255
RouterC(config)#access-list 4 permit 10.65.0.0 0.0.255.255
RouterC(config)#access-list 4 deny 10.0.0.0 0.255.255.255
RouterC(config)#access-list 4 permit any
RouterC(config)#int s0/1
RouterC(config-if)#ip access-group 4 out
[root@PCA @root]#ping 10.69.1.1（通）
[root@PCE @root]#ping 10.69.1.1（不通）
[root@PCF @root]#ping 10.69.1.1（通）
[root@PCB @root]#ping 10.69.1.1（不通）
ACL 常见问题
1） “ACL 的最后一条语句都是隐式拒绝语句” 是什么意思？
每个 ACL 的末尾都会自动插入一条隐含的 deny 语句，虽然ACL中看不到这条语句，它仍其作用。隐含的 deny 语句会阻止所有流量，以防不受欢迎的流量意外进入网络。
2） 配置ACL后为什么没有生效？
在创建访问控制列表之后，必须将其应用到某个接口才可开始生效。ACL 控制的对象是进出接口的流量。