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的更多相关文章

  1. ABP(现代ASP.NET样板开发框架)系列之11、ABP领域层——仓储(Repositories)

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之11.ABP领域层——仓储(Repositories) ABP是“ASP.NET Boilerplate Proj ...

  2. WebStorm 11、PhpStorm 10免费激活(不需要注册码)

    之前分享的WebStorm9.WebStrom10.PhpStorm9注册码生成网站已经被站长关了,比较遗憾!http://my.oschina.net/ximidao/blog/486353 现在官 ...

  3. 五大权限:UGO权限、SetUID SetGID Sticky、ACL权限、chattr(文件系统级别的权限)、SELINUX

    五大权限:UGO权限.SetUID SetGID Sticky.ACL权限.chattr(文件系统级别的权限).SELINUX   ======================文件属性以及ugo权限= ...

  4. 11、借助POI实现Java生成并打印excel报表(2)

    11.POI打印功能 11.1.常用模块形式: HSSFPrintSetup printSetup = sheet.getPrintSetup(); printSetup.setVResolution ...

  5. 11、jeecg 笔记之 界面常用整理 - 方便复制粘贴

    1.datagrid 操作按钮(按钮样式) 操作按钮的显示主要依赖于 <t:dgCol title="操作" field="opt"  ></ ...

  6. 计算机网络六:无线局域网、IEEE 802.11、WIFI和蓝牙

    无线局域网.IEEE 802.11.WIFI和蓝牙 ㈠无线局域网 1.定义       无线局域网络(Wireless Local Area Networks),简称WLAN.它是相当便利的数据传输系 ...

  7. 11、python阶段测试

    1.执行Python脚本的两种方式 如果想要永久保存代码,就要用文件的方式 如果想要调试代码,就要用交互式的方式 2.Pyhton单行注释和多行注释分别用什么? 单行注释:# 多行注释: '' &qu ...

  8. 阅读<构建之法>第三10、11、12章并提出问题

    <构建之法>第10.11.12章 第10章: 问题:对我们了解了用户的需求后,但是我们想法和做出来的软件会和用户的需求有偏差,比如风格.界面的修饰等等,那么我们程序猿怎样才能让自己的想法更 ...

  9. mysql数据库优化课程---11、mysql普通多表查询

    mysql数据库优化课程---11.mysql普通多表查询 一.总结 一句话总结:select user.username,user.age,class.name,class.ctime from u ...

随机推荐

  1. 【题解】284E. Coin Troubles(dp+图论建模)

    [题解]284E. Coin Troubles(dp+图论建模) 题意就是要你跑一个完全背包,但是要求背包的方案中有个数相对大小的限制 考虑一个\(c_i<c_j\)的限制,就是一个\(c_i\ ...

  2. promethues安装

    prometheus 1. 下载安装 下载安装:https://github.com/prometheus/prometheus/releases/tag/v2.9.2 wget https://gi ...

  3. Revealjs网页版PPT让你复制粘贴另类装逼,简洁优雅又低调,不懂编程也看过来

    Revealjs网页版PPT让你复制粘贴另类装逼,简洁优雅又低调,不懂编程也看过来 要了解一个新知识我们可以从三个方面入手:是什么,有什么用,怎么用.下面我们就从这三个方面进行讲解Reveal.js噢 ...

  4. linux installer os的驱动更新

    installer os的驱动更新 linux系统可以简单的分为installer OS与运行时的OS,安装阶段识别不到硬件设备大概率因为installers OS版本较低,没有驱动来识别新的硬件,可 ...

  5. Python PyInstaller安装和使用教程

    安装 PyInstalle Python 默认并不包含 PyInstaller 模块,因此需要自行安装 PyInstaller 模块. 安装 PyInstaller 模块与安装其他 Python 模块 ...

  6. 浅谈Java三大特性之封装

    目录 前言 好处 介绍(实现方式) 示例 小结 感谢阅读!!! 三大特性之浅谈封装 前言 英语:Encapsulation--封装,包装. 面向对象的封装与真实世界的目的是一样的.封装能够使外部访问者 ...

  7. 13.利用pymysql创建变量类型的表名解说

    在练习爬虫爬取数据时,想将爬取的数据用pymysql存储到数据库中,并且存储时的表名是一个变量,但在写完代码运行后经常出面1064的错误代码,在网上查找相关解决方法,但一直找不到完美的解决方法, 通过 ...

  8. .Net Core Linux 下面的操作

       这里以 Ubuntu  8.04版本为例: 1. 注册 Microsoft 密钥 注册产品存储库 安装必需的依赖项 wget -q https://packages.microsoft.com/ ...

  9. springboot2 + grpc

    项目情况: springboot: 2.2.2 grpc-spring-boot-starter: 2.6.1.RELEASE 项目目录: mypro: - person  - grpc服务端 - l ...

  10. AttributeError: 'list' object has no attribute 'sorted'

    效果图: 解决办法: 原因: AttributeError: 'list' object has no attribute 'sorted' 属性错误: list对象没有sorted属性方法. sor ...