才子佳人博客

我的故事我讲述

ACL(Access Control List)访问控制列表简介
 
来源:xjh  编辑:xjh  2016-06-15

访问控制列表(Access Control List,ACL) 是路由器或交换机接口的指令列表,这些指令列表用来告诉路由器或交换机哪些数据包可以接收、哪些数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号、协议等特定指示条件来决定。

访问控制列表不但可以起到控制网络流量、流向的作用,而且在很大程度上起到保护网络设备、服务器的关键作用。ACL适用于所有的被路由协议,如IP、IPX。

ACL功能

1)限制网络流量、提高网络性能。例如,ACL可以根据数据包的协议,指定这种类型的数据包具有更高的优先级,同等情况下可预先被网络设备处理。

2)提供对通信流量的控制手段。

3)提供网络访问的基本安全手段。

4)在网络设备接口处,决定哪种类型的通信流量被转发、哪种类型的通信流量被阻塞。

ACL分类

ACL分为标准式ACL和扩展式ACL,二者区别在于前者是基于源地址的数据包过滤,而后者可以是基于协议类型、源地址、目的地址、源端口、目的端口的数据包过滤。

·标准IP访问列表

一个标准IP访问控制列表匹配IP包中的源地址或源地址中的一部分,可对匹配的包采取拒绝或允许两个操作。编号范围是从1到99的访问控制列表是标准IP访问控制列表。

·扩展IP访问

扩展IP访问控制列表比标准IP访问控制列表具有更多的匹配项,包括协议类型、源地址、目的地址、源端口、目的端口、建立连接的和IP优先级等。编号范围是从100到199的访问控制列表是扩展IP访问控制列表。

·命名的IP访问

所谓命名的IP访问控制列表是以列表名代替列表编号来定义IP访问控制列表,同样包括标准和扩展两种列表,定义过滤的语句与编号方式中相似。

设置ACL的一些规则顺序

1、按顺序比较,先比较第一行,再比较第二行,直到最后一行。在安排ACL语句顺序时,要把最特殊的语句(严格的限制条件)排在列表的最前面,最一般的语句排在列表的最后面,这是ACL语句排列的基本原则。

2、从第一行起,直到找到第一个符合条件的行;符合条件后后续行不再比较。

3、默认在每个 ACL 的末尾都会自动插入一条隐含的 deny 语句,即:如果整个列表没有匹配的语句,则分组被丢弃。

注意:

1、在创建访问控制列表之后,必须将其应用到某个接口才可开始生效。ACL 控制的对象是进出接口的流量。

2、ACL中的网络掩码是反掩码。如deny 192.168.30.0  0.0.0.255,0代表精确匹配,255代表随意。

3、每个 ACL 的末尾都会自动插入一条隐含的 deny 语句,虽然ACL中看不到这条语句,它仍起作用。隐含的 deny 语句会阻止所有流量,以防不受欢迎的流量意外进入网络,也就是说,每一个ACL至少要有一条“允许”语句。

语法格式:

(1)标准访问列表

access-list access-list-number { permit | deny } {source [source-wildcard] | any}

(2)扩展访问列表

access-list access-list-number { permit | deny } { protocol protocol-keyword } { source [ source-wildcard ] | any } { destination destination-wildcard } | any }[protocol-specific options][log]

范例1:

Router-switch(config)#access-list 101 permit ip host 192.168.100.10 any

//允许网管服务器192.168.100.10 访问内网的所有主机

Router-switch(config)#access-list 101 permit tcp any host 192.168.10.10 eq ftp

//允许所有主机访问192.168.10.10的ftp端口

Router-switch(config)#access-list 101 permit tcp 192.168.3.0  0.0.0.255 host 192.168.10.20

//允许财务部网络段192.168.3.0 访问192.168.10.20数据库服务器

Router-switch(config)#access-list 101 deny any any

//除此之外,禁用所有流量

Router-switch(config)# int vlan 10

//进入内网服务器 vlan10

Router-switch(config-if)# ip access-group 101 in

//把 101 ACL规则应用到vlan10

范例2:

ACL帮助用户定义一组权限规则,对于一组特定的数据说明谁可以访问并且何时可以访问。

配置time-range

r1(config)#time-range TELNET

r1(config-time-range)#periodic weekdays 9:00 to 15:00

说明:定义的时间范围为每周一到周五的9:00 to 15:00

配置ACL

说明:配置R1,在上面的时间范围内拒绝源地址10.1.1.2登录telnet,其它流量全部通过。

r1(config)#access-list 150 deny tcp host 10.1.1.2 any eq 23 time-range TELNET

r1(config)#access-list 150 permit ip any any

应用ACL

r1(config)#int f0/1

r1(config-if)#ip access-group 150 out



来源:
甘刚,《网络设备配置与管理》,人民邮电出版社,p133-141


分类:网络日志| 查看评论
相关文章
文章点击排行
本年度文章点击排行
发表评论:
  • 昵称: *
  • 邮箱: *
  • 网址:
  • 评论:(最多100字)
  • 验证码: