访问控制列表
  建立访问控制列表,可对数据流量进行简单的控制,以及通过这种控制达到一不定程度的安全性,允许或拒绝数据包通过路由器,从而达到对数据包进行过滤的目的。
  另外,也可以在VTY线路接口上使用访问控制列表,来保证telnet的连接的安全性。
 因为接口的数据流是有进口和出口两个方向的,所以在接口上使用访问控制列表也有进和出两个方向。
 
进方向的工作流程
进入接口的数据包——进方向的访问控制列表——判断
是否匹配——不匹配,丢弃,匹配,进入路由表——判断是否有相应的路由条目——无,丢弃,有从相应接口转发出去
 
出口方向的工作流程
 进入接口数据包——进入路由表,判断是否是相应的路由条目——无,丢弃,有,数据包往相应接口——判断出口是否有访问控制列表——无,数据被转发,有,判断条件是否匹配——不匹配,丢弃,匹配,转发
比较看,尽可能使用进方向的访问控制列表,但是使用哪个方向的应根据实际情况来定
  
类型
 
标准访问控制列表
所依据的条件的判断条件是数据包的源IP地址,只能过滤某个网络或主机的数据包,功能有限,但方便使用。
命令格式
先在全局模式下创建访问控制列表
Router(config)#access-list  access-list-number  {permit or deny} soure {soure-wildcard} log
 
注:access-list-number 是访问控制列表号,标准的访问控制列表号为0~99;permit是语句匹配时允许通过,deny是语句不匹配时,拒绝通过。soure是源IP地址,soure-wildcard是通配符,log是可选项,生成有关分组匹配情况的日志消息,发到控制台
 
补:当表示某一特定主机时,soure {soure-wildcard}这项例如:192.168.1.1 0.0.0.255 可表示为host 192.168.1.1
 
创建了访问控制列表后,在接口上应用
Router(config-if)#ip access-group access-list-number {in or out}
 
扩展访问控制列表
扩展访问控制列表所依据的判断条件是目标、源ip地址、协议及数据所要访问的端口。由此可得出,在判断条件上,扩展访问控制列表具有比标准的访问控制列表更加灵活的优势,能够完成很多标准访问不能完成的工作
命令格式
同样在全局模式下创建列表
Router(config)#access-list access-list-number {dynamic dynamic-name}{timeout mintes}{permit or deny}protocol soure soure-wildcard destination destination-wildcard {precdence precedence} {tos tos} {log} {log-input} {time-range time-range-name} {fragmants}
 
命名访问控制列表
cisco ios 软件11.2版本中引入了IP命名ACL,其允许在标准和扩展访问控制列表中使用名字代替数字来表示ACL编号
创建命名ACL语法格式:
router(config)#ip access-list {extend or standard} name
router(config-ext-nacl)#{permit  or deny } protocols soure soure-wildcard {operator}destination destination-wildcard {operator}{established}
 
注:established 是可选项,只针对于tcp 协议

还有vty的限制,其ACL的建立与在端口上建立ACL一样,只是应用在vty ACL 到虚拟连接时,用命令access-class 代替命令access-group
 
放置ACL
一般原则:尽可能把扩展acl 放置在距离要被拒绝的通信流量近的地方。标准ACL由于不能指定目的地址,所以它们应该尽可能放置在距离目的地最近的地主。