访问控制列表
访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。
一 ACL功能
- 流量控制
- 匹配感兴趣流
1.1限制网络流量、提高网络性能。例如,ACL可以根据数据包的协议,指定这种类型的数据包具有更高的优先级,同等情况下可预先被网络设备处理
1.2提供对通信流量的控制手段。
1.3提供网络访问的基本安全手段
1.4在网络设备接口处,决定哪种类型的通信流量被转发、哪种类型的通信流量被阻塞。
例如,用户可以允许E- mail通信流量被路由,拒绝所有的Telnet通信流量。例如,某部门要求只能使用WWW这个功能,就可以通过ACL实现;又例如,为了某部门的保密性,不允许其访问外网,也不允许外网访问它,就可以通过ACL实现
二 ACL的两种类型
-
标准访问控制列表
1.只能根据源地址做过滤
2.针对整个协议采取相关动作(允许或禁止)
-
扩展访问控制列表
1.能根据源,目的地地址,端口好等等进行过滤
2.能允许或拒绝特定的协议
三 ACL的配置
1 标准ACL配置
1.1 Router(config)#access-list access-list-number {permit|deny} source [wildcard mask]
- access-list-number:访问控制列表号,标准ACL取值是1-99。
- permit|deny:如果满足规则,则允许/拒绝通过
- source:数据包的源地址,可以是主机地址,也可以是网络地址。
- source-wildcard:通配符掩码,也叫做反码,即子网掩码去反值。如:正常子网掩码255.255.255.0取反则是0.0.0.255。
1.2 Router(config-if)#ip access-group access-list-number {in | out}
- 在接口中应用
- 应用时关联入或出站方向,默认出站
1.3 删除已建立的标准ACL语法如下:
Router(config)#no access-list access-list-number //将会删除整个ACL列表
2.扩展ACL配置
2.1 Router(config)#access-list access-list-number {permit|deny} protocol {source souce-wildcard destination destination-wildcard} [operator operan]
- access-list-number:访问控制列表号,扩展ACL取值是100-199。
- permit|deny:如果满足规则,则允许/拒绝通过。
- protocol:用来指定协议的类型,如IP,TCP,UDP,ICMP等。
- source、destination:源和目的,分别用来标示源地址和目的地址。
- souce-wildcard、destination-wildcard:子网反码,souce-wildcard是源反码,destination-wildcard是目标反码。
- operator operan:lt(小于)、gt(大于)、eq(等于)、neq(不等于)一个端口号。
2.2 ACL语法
删除已建立的扩展ACL语法如下:
Router(config)#no access-list access-list-number
列如:允许192.168.1.0/24访问192.168.2.0/24,而拒绝其他所有主机访问。
Router(config)#access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
Router(config)#access-list 101 deny ip any any
列如:拒绝网络192.168.1.0/24访问FTP服务器192.168.2.100/24,而允许其他主机访问。
Router(config)#access-list 102 deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.100 eq 21
Router(config)#access-list 102 permit ip any any
列如:禁止网络192.168.1.0/24中的主机ping同服务器192.168.2.200/24,而允许其它主机访问。
Router(config)#access-list 103 deny icmp 192.168.1.0 0.0.0.255 host 192.168.1.200 echo
Router(config)#access-list 103 permit ip any any
四 通配符
- 通配符匹配(0表示严格匹配,1表示无所谓)
0 0 0 0 0 0 0 0 匹配所有
0 0 0 0 0 0 0 1 匹配住了两个IP
0 0 0 0 0 0 1 1 匹配住了四个IP
1