11、ACL
IP访问控制列表
标准ACL 1)检查源地址 2)不能对协议簇作限定
扩展ACL 1)检查源和目标地址 2)能容许或拒绝特定的协议和应用(端口号)
区别列表类型: 1)ACL号 : 1-99,1300-1999标准ACL ;100-199,2000-2699扩展ACL
2) 命名ACL用描述性的名字或号码标识
1.访问列表的编号指明了使用何种协议的访问列表
2.每个端口,每个方向,每个协议只能对应于一条访问列表
3.访问列表内容决定了数据控制顺序,具有严格限制条件的语句放在所有语句最上面
4.访问列表最后一条是隐含拒绝,所有每个访问控制列表至少有一条permit语句(否则所有流量不通过)
5.访问控制列表需要应用在进出接口上,如何过滤流量,取决于怎么应用
6.放置访问控制列表
1)扩展访问列表应用在靠近源
2)标准访问列表应用靠近目标
acl作用:
A:作为一种流量过滤工具,过滤进入或者离开路由器的流量
1、对进入接口的流量进行过滤
2、对离开接口的流量进行过滤
3、控制对路由器的访问 telnet (vty)
4、控制路由协议的发布和更新
B、acl在QOS中的应用
1、区分流量
2、实施QOS策略
3、绑定接口
C、定义感兴趣流量
1、DDR,也就是ISDN定义感兴趣的拨号流量
2、VPN中的应用:IPSEC VPN、GRE、L2TP
ACL分类:
A: 标准ACL:是根据源IP地址匹配,用于限制到路由器的访问 1-99
B:扩展ACL:可以根据源IP、目的IP、源端口、目的端口、协议号进行匹配,
来过滤特定的流量。100-199
C:基于时间的ACL:是一种扩展ACL,可以于在特定的时间范围内起作用来对
数据流量进行控制
D:命名ACL:包括命名标准ACL和命名扩展ACL,用来解决号码不足的问题
优点:可以自由添加和删除ACL,同时
可以对ACL定义一个有意义的名字,方便记忆和使用
应用位置:
1、入口ACL

2、出口ACL

路由器操作过程:
1、数据进入路由器
2、在接口对数据进行拆除二层帧,如果目标MAC地址是自身接口地址或者
是一个广播地址就接收,并进入第三步,否则丢弃。如果在入接口使用了ACL,则在此步骤进行ACL处理
3、查看目标ip,看是否为本路由器上的接口IP地址,如果是则立即交给CPU进
程的上层应用协议进行处理,如果不是,则查询路由表
4、若路由表中存在相应条目,则在相应的出口进行二层再次封装,如果没有相
应路由条目,则丢弃数据,并报ICMP回应数据,如果在出接口使用了ACL,则在此步骤进行ACL处理
5、从出接口发出数据
实验演示:

1、标准访问列表:在R2的S1/0的出方向应用ACL,使192.168.2.0网段不能上互联网
(注意ACL只能过滤穿越路由器的流量,对于路由器本身接口产生的流量不能过滤,
例如R2的F0/1接口发往互联网的流量就不能被过滤)
access-list 1 deny 192.168.2.0 0.0.0.255
access-list 1 permit any
2、扩展访问列表:在R2的S1/0的出方向使用ACL,使PC2的ICMP流量可以出去,但是telnet流量不能出去。
access-list 100 deny tcp host 192.168.2.2 any eq telnet
access-list 100 permit icmp host 192.168.2.2 any
3、单向访问:使用ACL实现PC1 ping PC2没问题 ,PC2 ping PC1不行
access-list 100 permit icmp host 192.168.2.2 host 192.168.1.2 echo-reply
access-list 100 deny icmp host 192.168.2.2 host 192.168.1.2
access-list 100 permit ip any any
4、基于TCP established单向访问:使用ACL实现 PC1 telnet PC2没问题,PC2 telnet PC1不成功
access-list 100 permit tcp host 192.168.2.2 host 192.168.1.2 eq telnet established
access-list 100 deny tcp host 192.168.2.2 host 192.168.1.2 eq telnet
access-list 100 permit ip any any
5、基于时间的ACL:实现192.168.1.0 和2.0网段每天上班时间的8:00 - 17:30不能上网
一、定义时间范围
定义时间范围又分为两个步骤。
1.使用Time-range命令来正确地指定时间范围。
格式:time-range time-range-name
Time-range-name 用来标志时间范围的,以便在访问表中进行引用。
2.使用Absolute或者一个或多个Periodic语句来定义时间范围,每个时间范
围只能有一个Absolute语句,但它可以有多个Periodic语句。
(1)格式:absolute [start time date] [end time date]
Time以小时和分钟方式(hh:mm)输入时间。
Date以日、月、年方式输入日期。
如:absolute start 8:00 end 18:00
(2)格式:periodic days-of-the-
week hh:mm to [days-of-the-week] hh:mm
Days-of-the-week产生作用的某天或某几天;参数可以是单一的一天
(如 Monday)某几天(Monday到Friday)或Daily、Weekday或Weekend。
Daily从星期一到星期天。
Weekday从星期一到星期五。
Weekend星期六和星期日。
如:从星期六早上8∶00到星期天晚上18∶00
periodic weekend 8:00 to 18:00
一周中的每天8∶00到18∶00
periodic daily 8:00 to 18:00
从星期三的15∶00到星期六的8∶00
periodic wednesday 15:00 to saturday 8:00
二、在访问表中用Time-range引用刚刚定义的时间范围
如:ip access-list 101 permit any any eq 80 time-range time-range-name
Time-range-name是用Time-range定义的名称。
time-range internet
periodic weekdays 8:00 to 18:00
access-list 100 deny ip 192.168.0.0 0.0.255.255 any time-range internet
access-list 100 permit ip any any
注意的地方:
1、每一条ACL语句只有一个条件和操作
2、所有ACL后有一条deny all的隐性操作,在一个ACL里面必须得有一个permit语句
3、ACL的顺序一定要合理,最细化的具体的条目要放在最前面,粗略的条目放在后面
(1、顺序得当可以降低CPU负担
(2、如果粗略条目在细化的条目前面,就有可能导致细化条目无效)
access-lis 1 permit 192.168.1.0 0.0.0.255
access-lis 1 deny host 192.168.1.100
4、每个方向、每个接口、每种协议只允许一个ACL`
5、ACL可以控制穿过路由器的流量,但是不能控制自身产生的流量
应用时应注意:
1、标准ACL离目标更近,优点是配置简单,缺点效率低
2、扩展ACL离源更近,效率高,控制数据更加的细化
可控VTY访问
access-list 1 permit 192.168.1.2
!
line vty 0 4
access-class 1 in //应用标准访问列表1
password 123
命名访问列表
ip access-list standard vty-access //命名访问列表的配置
permit 192.168.1.2
!
line vty 0 4
access-class vty-access in //应用命名访问列表
password 123
单向访问应用:
1、A主机可以ping通B主机,但是B主机不能ping通A主机
access-list 100 permit icmp host 192.168.2.2 host 192.168.1.2 echo-reply
access-list 100 deny icmp host 192.168.2.2 host 192.168.1.2
access-list 100 permit ip any any
2、带有established选项的扩展访问列表
access-list 100 permit tcp host 192.168.2.2 host 192.168.1.2 eq telnet established
access-list 100 deny tcp host 192.168.2.2 host 192.168.1.2 eq telnet
access-list 100 permit ip any any
11、ACL的更多相关文章
- ABP(现代ASP.NET样板开发框架)系列之11、ABP领域层——仓储(Repositories)
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之11.ABP领域层——仓储(Repositories) ABP是“ASP.NET Boilerplate Proj ...
- WebStorm 11、PhpStorm 10免费激活(不需要注册码)
之前分享的WebStorm9.WebStrom10.PhpStorm9注册码生成网站已经被站长关了,比较遗憾!http://my.oschina.net/ximidao/blog/486353 现在官 ...
- 五大权限:UGO权限、SetUID SetGID Sticky、ACL权限、chattr(文件系统级别的权限)、SELINUX
五大权限:UGO权限.SetUID SetGID Sticky.ACL权限.chattr(文件系统级别的权限).SELINUX ======================文件属性以及ugo权限= ...
- 11、借助POI实现Java生成并打印excel报表(2)
11.POI打印功能 11.1.常用模块形式: HSSFPrintSetup printSetup = sheet.getPrintSetup(); printSetup.setVResolution ...
- 11、jeecg 笔记之 界面常用整理 - 方便复制粘贴
1.datagrid 操作按钮(按钮样式) 操作按钮的显示主要依赖于 <t:dgCol title="操作" field="opt" ></ ...
- 计算机网络六:无线局域网、IEEE 802.11、WIFI和蓝牙
无线局域网.IEEE 802.11.WIFI和蓝牙 ㈠无线局域网 1.定义 无线局域网络(Wireless Local Area Networks),简称WLAN.它是相当便利的数据传输系 ...
- 11、python阶段测试
1.执行Python脚本的两种方式 如果想要永久保存代码,就要用文件的方式 如果想要调试代码,就要用交互式的方式 2.Pyhton单行注释和多行注释分别用什么? 单行注释:# 多行注释: '' &qu ...
- 阅读<构建之法>第三10、11、12章并提出问题
<构建之法>第10.11.12章 第10章: 问题:对我们了解了用户的需求后,但是我们想法和做出来的软件会和用户的需求有偏差,比如风格.界面的修饰等等,那么我们程序猿怎样才能让自己的想法更 ...
- mysql数据库优化课程---11、mysql普通多表查询
mysql数据库优化课程---11.mysql普通多表查询 一.总结 一句话总结:select user.username,user.age,class.name,class.ctime from u ...
随机推荐
- mysql:数据库与实例的区别
题记:最近想更深入的了解mysql,所以买了一些书在学习,趁着这个机会开个坑,整理一下一些我认为重要的知识点. 刚工作那会经常能听到组长提到实例这个词,一开始我以为是服务器... 数据库(databa ...
- InterpreterPattern(解释器模式)-----Java/.Net
解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式.这种模式实现了一个表达式接口,该接口解释一个特定的上下文.这种模式被用在 SQL 解析.符号处 ...
- TCP状态机:当服务端主动发FIN进TIME_WAIT,客户端源端口复用会发生什么
0X01 正常情况下TCP连接会通过4次挥手进行拆链(也有通过RST拆除连接的可能,见为什么服务器突然回复RST--小心网络中的安全设备),下图TCP状态机展示了TCP连接的状态变化过程: 我们重点看 ...
- 1058 选择题 (20 分)C语言
批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多. 输入格式: 输入在第一行给出两个正整数 N(≤ 1000)和 M(≤ 100),分别是学生人数和多选题的个 ...
- 6.python在windows下用批处理文件在运行中输入程序名直接运行的方法
最近由于平时自由时间比较多,在看一本python入门书籍,在里面学习了一种用windows下的批处理文件在电脑运行界面中直接输入程序名称就可运行的方法,现将其详细说明如下: 1.首先编写一个教程上的程 ...
- Spring Data JPA使用findAllOrderBy时踩的坑
Spring Data JPA使用findAllOrderBy时踩的坑 按照以往的编程经验,我的写法是这样的: List<ActivityEntity> findAllOrderByWis ...
- java中高级并发SPI机制
Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制. 适用于:调用者根据实际使用需要,启用.扩展.或者替换框架的实现策略. 要使用Java SPI,需要遵循如下约定 ...
- SQL Server2012高可用之日志传送测试
(一)日志传送架构 (1.1)相关服务器 主服务器 :用于生产的服务器,上面运行这生产SQL Server数据库: 辅助服务器:用于存放主服务器上数据库的一个“镜像”数据库: 监控服务器:用来监控 ...
- RabbitMQ入门之Hello World
RabbitMQ简介 在介绍RabbitMQ之前,我们需要了解一些最基础的概念,相信使用过或者听说过RabbitMQ的人都不会陌生,但笔者还是不厌其烦地在这里讲述,因为笔者的理念是self con ...
- SEATA 分布式事务入门DEMO
Simple Extensible Autonomous Transacation Architecture,seata是简单的.可扩展.自主性高的分布式架构 SEATA Server Configu ...