访问控制列表(ACL)是应用在路由器接口的指令列表(即规则)。这些指令列表用来告诉路由器,那些数据包可以接受,那些数据包需要拒绝。

访问控制列表(ACL)的工作原理

ACL使用包过滤技术,在路由器上读取OSI七层模型的第3层和第4层包头中的信息。如源地址,目标地址,源端口,目标端口等,根据预先定义好的规则,对包进行过滤,从而达到访问控制的目的。

ACl是一组规则的集合,它应用在路由器的某个接口上。对路由器接口而言,访问控制列表有两个方向。

出:已经过路由器的处理,正离开路由器的数据包。

入:已到达路由器接口的数据包。将被路由器处理。

如果对路由器的某接口应用了ACL,那么路由器对数据包应用该组规则进行顺序匹配,使用匹配即停止的,不匹配则使用默认规则的方式来过滤数据包。如下图:

访问控制列表的类型

标准访问控制列表:根据数据包的源IP地址来允许或拒绝数据包,标准访问控制列表的访问控制列表号是1-99。

扩展访问控制列表:根据数据包的源IP地址,目的IP地址,指定协议,端口和标志,来允许或拒绝数据包。扩展访问控制列表的访问控制列表号是100-199

配置标准控制列表

创建标准ACL的语法如下:

Router(config)#access-list access-list-number {permit|deny} source [souce-wildcard]

下面是命令参数的详细说明

access-list-number:访问控制列表号,标准ACL取值是1-99。

permit|deny:如果满足规则,则允许/拒绝通过。

source:数据包的源地址,可以是主机地址,也可以是网络地址。

source-wildcard:通配符掩码,也叫做反码,即子网掩码去反值。如:正常子网掩码255.255.255.0取反则是0.0.0.255。

删除已建立的标准ACL语法如下:

Router(config)#no access-list access-list-number

列如:创建一个ACL允许192.168.1.0网段的所有主机。

Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255

列如:创建一个ACL允许某个主机。

Router(config)#access-list 1 permit host 10.0.0.1

列如:创建一个默认ACL拒绝所有主机访问。

Router(config)#access-list 1 deny any

注意:上述中的关键字host可以指定一个主机地址,而不用写子网反码,而any可以代表所有主机。

配置扩展访问控制列表

创建扩展的ACL语法如下:

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(不等于)一个端口号。

删除已建立的扩展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

将创建好的ACL应用与路由器的接口上

不管是标准ACL还是扩展ACL只有将创建好的ACL应用与路由器的接口上才算是有效的。语法如下:

Router(config-if)#ip access-group access-list-number {in|out}

参数解释如下:

access-list-number:创建ACL时指定的访问控制列表号

in:应用到入站接口。

out:应用出站接口。

取消接口上的ACL应用可以使用如下命令:

Router(config-if)#no ip access-group access-list-number {in|out}

可以使用show access-lists命令查看ACL配置。

注意:不管是标准ACL或者是扩展ACL,只要应用了该规则就不可以在向里面添加新的规则了,只能是删除整个ACL。这样很不方便我们管理ACL,那么我们改这么办呢?下面我们来讲解命名访问控制列表。

配置命名访问控制列表

所谓的命名控制列表就是给控制列表取个名字,而不是想上面所述的使用访问控制列表号。我们通过命令访问控制列表可以很方便的管理ACL规则,可以随便添加和删除规则,而无需删除整个访问控制列表了。

创建命名访问控制列表的语法如下:

Router(config)#ip access-list {standard|extended} access-list-name

下面是命令参数的详细说明

standard:创建标准的命名访问控制列表。

extended:创建扩展的命名访问控制列表。

access-list-name:命名控制列表的名字,可以是任意字母和数字的组合。

标准命名ACL语法如下:

Router(config-std-nacl)#[Sequence-Number] {permit|deny} source [souce-wildcard]

扩展命名ACL语法如下:

Router(config-ext-nacl)#[Sequence-Number] {permit|deny} protocol {source souce-wildcard destination destination-wildcard} [operator operan]

无论是配置标准命名ACL语句还是配置扩展命名ACL语句,都有一个可选参数Sequence-Number。Sequence-Number参数表明了配置的ACL语句在命令ACL中所处的位置,默认情况下,第一条为10,第二条为20,以此类推。Sequence-Number可以很方便地将新添加的ACL语句插于到原有的ACL列表的指定位置,如果不选择Sequence-Number,默认添加到ACL列表末尾并且序列号加10。

删去以创建的命名ACL语法如下:

Router(config)#no ip access-list {standard|extended} access-list-name

对于命名ACL来说,可以删除单条ACL语句,而不比删除整个ACL。并且ACL语句可以有选择的插入到列表中的某个位置,使得ACL配置更加方便灵活。

如果要删除某一ACL语句,可以使用“no Sequence-Number”或“no ACL”语句两种方式。

列如:将一条新添加的ACL加入到原有标准命名ACL的序列15的位置。内容为允许主机192.168.1.1/24访问Internet。

Router(config)#ip access-list standard test1

Router(config-std-nacl)#15 permit host 192.168.1.1

列如:创建扩展命名ACL,内容为拒绝192.168.1.0/24访问FTP服务器192.168.2.200/24,允许其他主机。

Router(config)#ip access-list extended test2

Router(config-ext-nacl)#deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.200 eq 21

Router(config-ext-nacl)#permit ip any any

将命名ACL应用于接口语法如下:

Router(config-if)#ip access-group aaccess-list-name {in|out}

取消命名ACL的应用语法如下:

Router(config-if)#no ip access-group aaccess-list-name {in|out}

标准ACL、扩展ACL和命名ACL的配置详解的更多相关文章

  1. SVN标准开发布局目录,trunk,branches,tags用法详解

    http://www.cnblogs.com/newstar/archive/2011/01/04/svn.html 关于 SVN 目录结构       Subversion有一个很标准的目录结构,是 ...

  2. spring boot actuator端点高级进阶metris指标详解、git配置详解、自定义扩展详解

    https://www.cnblogs.com/duanxz/p/3508267.html 前言 接着上一篇<Springboot Actuator之一:执行器Actuator入门介绍>a ...

  3. ...:ES6中扩展运算符(spread)和剩余运算符(rest)详解

    1.扩展运算符(spread) demo1:传递数据代替多个字符串的形式 let test= function(a,b,c){ console.log(a); console.log(b); cons ...

  4. Easyui datagrid扩展子网格detailview增删改查详解

    话不多gang,先上代码,将以下三个属性插入主网格的初始化参数中: view : detailview, //1 detailFormatter : function(index, row) { // ...

  5. Python标准库之时间模块time与datatime模块详解

    时间模块time与datatime 时间表示方式: 时间戳 格式化时间字符串 元组 时间戳格式: time.time()#输出1581664531.749063 元组格式: time.localtim ...

  6. Vue基础语法-数据绑定、事件处理和扩展组件等知识详解(案例分析,简单易懂,附源码)

    前言: 本篇文章主要讲解了Vue实例对象的创建.常用内置指令的使用.自定义组件的创建.生命周期(钩子函数)等.以及个人的心得体会,汇集成本篇文章,作为自己对Vue基础知识入门级的总结与笔记. 其中介绍 ...

  7. Cisco基础(四):配置标准ACL、配置扩展ACL、配置标准命名ACL、配置扩展命名ACL

    一.配置标准ACL 目标: 络调通后,保证网络是通畅的.同时也很可能出现未经授权的非法访问.企业网络既要解决连连通的问题,还要解决网络安全的问题. 配置标准ACL实现拒绝PC1(IP地址为192.16 ...

  8. 标准与扩展ACL实验

    一标准访问控制列表实验: 实验拓扑: 实验目的:掌握标准与扩展ACL的配置 实验要求:拒绝R1到R3的所有流量 实验步骤: 步骤1 按如上拓扑做好底层配置,并检测相邻设备之间的连通性 步骤2起静态路由 ...

  9. 标准与扩展ACL

    标准与扩展ACL 案例1:配置标准ACL 案例2:配置扩展ACL 案例3:配置标准命名ACL 配置扩展命名ACL 1 案例1:配置标准ACL 1.1 问题 络调通后,保证网络是通畅的.同时也很可能出现 ...

随机推荐

  1. 在 Windows Server 上搭建 *** 服务端(转载加亲测)

    转载自:https://diveng.io/build-shadowsocks-server-on-windows-server.html 下面的教程建议大家使用第一种方法安装,说是比较简单.我则使用 ...

  2. 玩转CPU运行曲线

    Leaf 是不是从来没有想过看看cpu运行曲线啊骚年?顶多也就仅仅是看看cpu利用率,吓自己一跳后感觉关闭几个不该打开的程序~ 然而问题来了,微软公司要让你绘制cpu运行曲线啊!!不仅是固定的直线,还 ...

  3. iOS微信页面 长按图片出现【存储图像】和【拷贝】不出现【发送朋友】【保存图片】

    最近遇到一大坑.微信加载的页面中出现图片,长按图片时不出现默认的菜单[发送朋友]等而是[存储图像]和拷贝. 原因:正常在页面中长按图片是没有问题的,但是如果你的页面嵌入了ifram然后又长按在ifra ...

  4. iTOP-4418/6818开发板支持锂电池供电方案

    iTOP-4418/6818开发板支持的是官方推荐的AXP228电池管理,动态调频,更稳定可靠,支持充放电电路与电量计(库化计), 广泛应用于各种电子产品中. 4418开发板中锂电池充放电接口,适用于 ...

  5. anchor_target_layer层解读

    总结下来,用generate_anchors产生多种坐标变换,这种坐标变换由scale和ratio来,相当于提前计算好.anchor_target_layer先计算的是从feature map映射到原 ...

  6. Java之Servlet文件下载20190228

    jsp页面: <%@ page language="java" contentType="text/html; charset=utf-8" pageEn ...

  7. 01C#程序结构及编辑编译环境

    C#程序结构及编辑编译环境 程序结构 C# 中的组织结构的关键概念是程序 (program).命名空间 (namespace).类型 (type).成员 (member) 和程序集 (assembly ...

  8. 07CSS表格

    CSS表格 表格边框 如需在 CSS 中设置表格边框,请使用 border 属性. table, th, td { border: 1px solid blue; } 折叠边框 border-coll ...

  9. 启动web项目卡在Initializing Spring root WebApplicationContext不动

    这几天在和同学一起做一个电教器材管理系统的Web项目,用SVN互通,在此记录下经常遇到的bug. Bug: 启动项目一直卡在Initializing Spring root WebApplicatio ...

  10. [kuangbin带你飞]专题四 最短路练习

    对于最短路,我主要使用的就是dijkstra,Floyd,SPFA这三个算法.先来介绍一下这三个算法. 1. dijkstra算法.它适用于边权为正的情况,它是单源最短路,就是从单个源点出发到所有的结 ...