一、ACL主要有三个功能:
1.
安全控制
2.
流量控制
3.
数据流量标识
二、基本原则:
1
、 每条语句包括两部分,匹配的条件和所要执行的操作(deny/permit)
2
、 按顺序匹配所有语句,只要有一条满足,则执行相应的操作,不再继续匹配
3
、 如果都不匹配,那么一定匹配最后的隐含拒绝条目,思科默认的。
4
、 任何条件下只给用户能满足他们需求的最小权限
5
、 不要忘记把ACL应用到端口上
6
、 ACL的位置,标准访问控制列表一般离目标近,扩展的一般离源近。
7
、 每个接口的每个方向上只能使用一个访问控制列表。
8
、 标准和扩展ACL的单条语句不能删除或修改,要删除单条语句,需要删除整个ACL.但基于命名的标准和扩展ACL,可以删除单条语句。
通配符的使用:host 192.168.2.3表示特定主机等同于192.168.2.3 0.0.0 .0;
any
表示所有的源或目标等同于 0.0.0 .0 255.255.255.255
三、ACL的两种基本类型:标准和扩展ACL
1
、标准ACL:
根据数据包的源IP地址来允许或拒绝数据包
配置命令:access-list {1-99} {permit|deny} source-ip source-wildcard [log]
说明:wildcard为反掩码,用来跟源地址一起决定那些位需要进行匹配,为1的为表示不需要进行匹配,0表示需要严格匹配; log表示有匹配时生成日志信息; 标准ACL一般用在离目的最近的地方
例:access-list 1 penmit 192.168.2.0 0.0.0 .255 允许192.168.2.0网段的流量
accesslist 1 deny host 172.16.4.13
拒绝172.16.4.13主机的流量
应用到接口:
router(config-if)#ip access-group 1-99 {in|out}
2
、扩展ACL:
基于数据包的协议、源地址与目标地址、以及端口来对数据包控制。
命令:access-list {100-199} {permit/deny} protocol source-ip source-wildcard [operator port] destination-ip destination-wildcard [operator port] [established][log]
与接口关联: router(config-if)#ip access-group 100-199 {in|out}
例: access-list 101 permit tcp 192.168.2.0 0.0.0 .255 gt 1023 host 192.168.1.2 eq 80
允许192.168.2.0网段的主机访问主机192.168.1.2的web服务
说明:gt 1023表示所有大于1023的端口,这是因为一般访问web、ftp等服务器时客户端的主机是使用一个1023以上的随机端口;established 表示允许一个已经建立的连接的流量,也就是数据包的ACK位已设置的包。
3
、命名ACL
配置命令:
ip access-list {standard/extended}
name
{permit/deny}source-ip source-wildcard
标准
{permit |deny} protocol source-ip source-wildcard [operator port] destination-ip destination-wildcard [operatorport] [established] [log]
扩展
与接口关联:router(config-if)#ip access-group name {in|out}
例: ip access-list extended outbound 定义一个名为outbound的命名ACL
permit tcp 192.168.2.0 0.0.0 .255 gt 1023 host 192.168.1.2 eq 80
允许192.168.2.0网段的主机访问主机192.168.1.2的web服务
注意:
1、
每条访问控制列表语句包括两部分内容,匹配数据包的条件选项和所要执行的操作。
2、
命名的访问控制列表不是一个新的访问控制列表类型,它是把以序号定义的访问控制列表变成以名子定义的访问控制列表,便于理解。
四、ACL的应用
1
、在
VTY
线路做
acl
,只允许以
150.1.1.1
为源的数据通过
R1(config)# access-list 1 permit 150.1.1.1 0.0.0 .255
R1(config)#line vty 0 4
R1(config-line)#access-class 1 in