什么是ACL?

访问控制列表简称为ACL,访问控制列表使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址,目的地址,源端口,目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制的目的。

ACL的原理

对路由器来说有两个方向

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

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

顺序为:自下而上,依次匹配。 默认为拒绝

ACL的使用原则

1、最小特权原则
只给受控对象完成任务所必须的最小的权限。也就是说被控制的总规则是各个规则的交集,只满足部分条件的是不容许通过规则的。
2、最靠近受控对象原则
所有的网络层访问权限控制。也就是说在检查规则时是采用自上而下在ACL中一条条检测的,只要发现符合条件了就立刻转发,而不继续检测下面的ACL语句。
3、默认丢弃原则
在CISCO路由交换设备中默认最后一句为ACL中加入了DENY ANY ANY,也就是丢弃所有不符合条件的数据包。

一、标准访问列表
访问控制列表ACL分很多种,不同场合应用不同种类的ACL。其中最简单的就是标准访问控制列表,标准访问控制列表是通过使用IP包中的源IP地址进行过滤,使用访问控制列表号1到99来创建相应的ACL。

它的具体格式:
access-list access-list-number [permit | deny ] [sourceaddress][wildcard-mask]
access-list-number 为1-99 或者 1300-1999之间的数字,这个是访问列表号。

拿下面这个例子来具体说说

一台路由器,一台PC和一台服务器。分别给PC和服务器配置好IP地址和默认网关。他们分别在不同的网段,配置好服务器是PC和服务器ping通。目的是拒绝192.168.1.0网段的主机从f0/0出去。

配置步骤:

access-list 10 deny 192.168.1.0   0.0.0.255          //丢弃所有来自源地址192.168.1.0的数据包

access-list 10 permit  any           //使除了1.0网段之外的其他网段可通  (这一步非常重要)

int f0/0                      //进入相应端口

ip access-list 10 out        //将ACL应用至端口,如无此步骤,那么一切都没用

可见路由器将来自192.168.1.0 的数据拒绝访问了。

有值得注意的地方:

1.标准ACL应配置尽量靠近目的端

2.一定要加permit any使其他网络可通

3.访问列表使从上到下逐条进行匹配的,所以在设置访问列表的时候要注意顺序。如果从第一条匹配到最后一条还是不知道怎么做,路由器就会丢弃这个数据包(默认),也就是为什么要加permit  any。

删除已建立的标准ACL

no access-list + [access-list number]

对于标准的ACL 来说,不能删除单个ACL语句,只能删除整个ACL。

二、扩展访问控制列表
上面我们提到的标准访问控制列表是基于IP地址进行过滤的,是最简单的ACL。那么如果我们希望将过滤细到端口怎么办呢?或者希望对数据包的目的地址进行过滤。这时候就需要使用扩展访问控制列表了。使用扩展IP访问列表可以有效的容许用户访问物理LAN而并不容许他使用某个特定服务(例如WWW,FTP等)。扩展访问控制列表使用的ACL号为100到199。

扩展访问控制列表的格式:
access-list access-list number {permit/deny} protocol +源地址+反码 +目标地址+反码+operator operan(It小于,gt大于,eq等于,neq不等于.具体可?)+端口号

注意事项:

1.扩展ACL的列表号范围使100-199或2000-2699

2.因为默认情况下,每个访问控制列表的末尾隐含deny all,所以在每个扩展访问控制列表里面必须有:access-list number permit ip any any

3.不同的服务要使用不同的协议,比如TFTP使用的是UDP协议

例如路由器连接了两个网段(可参照上面的拓扑),禁止192.168.1.0的PC访问192.168.2.0的PC包括服务器,不过唯独可以访问192.168.2.10的www服务(端口号为80),而其它服务不能访问。

配置如下:

access-list 101 permit tcp any 192.168.2.10  0.0.0.255 eq 80       //设置ACL101,允许源地址为任意ip,目的地址为192.168.2.10主机的80端口。思科默认deny 阿拉蕾,此处只写这句就够了。

int f0/0             //进入端口

ip access-group 101 out         //将ACL101应用到端口

删除和标准ACL一样,不能单条删除,只能删除整个ACL

三、命名访问控制列表
不管是标准访问控制列表还是扩展访问控制列表都有一个弊端,那就是当设置好ACL的规则后发现其中的某条有问题,希望进行修改或删除的话只能将全部ACL信息都删除。也就是说修改一条或删除一条都会影响到整个ACL列表。这一个缺点影响了我们的工作,为我们带来了繁重的负担。不过我们可以用基于名称的访问控制列表来解决这个问题。

例如:

ip access-list [standard/extened] access-list-name

ip access-list standard killer         //建立一个名为killer的标准访问控制列表

使用方法:

ip access-list standard + name

11 permit host + ip            //默认第一条是10 ,第二条20

deny any

删除命名ACL,可以向之前的ACL插入ACL,也可以删除单条ACL

ip access-list standard benet

no 11

使用show access-list 可查看配置的ACL信息

CISCO ACL配置(目前)的更多相关文章

  1. CISCO ACL配置

    ACL:access(访问)control(控制)list(列表),用来实现防火墙规则. 访问控制列表的原理对路由器接口来说有两个方向出:已经经路由器的处理,正离开路由器接口的数据包入:已经到达路由器 ...

  2. cisco 路由配置

    Cisco路由配置基础 刚刚接触cisco路由配置,下面是学习的笔记,感觉命令还是多敲才能熟悉 一. 所处状态各类 router> 用户处于用户命令状态,可以查看网络和主机 router# 用户 ...

  3. linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)

    linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...

  4. cisco路由器配置教程

    配置cisco路由器 经过几十年的发展,从最初的只有四个节点的ARPANET发展到现今无处不在的Internet,计算机网络已经深入到了我们生活当中.随着计算机网络规模的爆炸性增长,作为连接设备的路由 ...

  5. 由于 web 服务器上此资源的访问控制列表(acl)配置或加密设置,您无权查看此目录或页面。

    场景:IIS中遇到无法预览的有关问题(HTTP 异常 401.3 - Unauthorized 由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置 IIS中遇到无法预览的问题(HTTP ...

  6. cisco基本配置命令

    实验命令 router> enable 从用户模式进入特权模式 router# disable or exit 从特权模式退出到用户模式 router# show sessions 查看本机上的 ...

  7. consul之:ACL配置使用

    consul自带ACL控制功能,看了很多遍官方文档,没有配置步骤https://www.consul.io/docs/internals/acl.html 主要对各种配置参数解释,没有明确的步骤,当时 ...

  8. [CISCO] 简单配置 Telnet 服务

    [CISCO] 简单配置 Telnet 服务 一.Introduction Telnet 协议是一种应用层协议,使用于网际网路及区域网中,使用虚拟终端机的形式,提供双向.以文字字串为主的互动功能.属于 ...

  9. CiSCO 交换机配置 SSH 登陆

    CiSCO 交换机配置 SSH 登陆 题目:在三层交换机上仅运行 SSH 服务,且用户名和密码的方式登录交换机. (一)了解主机名与域名 ​ 1."主机名" 为该设备的名称 ​ 2 ...

随机推荐

  1. Confluence 6 数据库表-授权(Authentication)

    下面的表格对用户授权有关的信息进行存储,这部分是通过嵌入到 Confluence 中的  Atlassian Crowd 框架实现的. cwd_user Confluence 中每一个用户的信息. c ...

  2. Python的图像库

    对数字图像基本的处理的学习按照下面两个博客: Python的图像库(Opencv.PIL.matplotlib.skimage)的使用(读取.存储.变换.滤波) python数字图像处理

  3. CF1065D

    如果不喜欢过长代码的看官,请移步其他题解... 这题其实思想极其简单: 棋盘问题常见的算法都比较暴力,常用的有搜索和状压dp 而这道题显然没啥能状压的,所以我们考虑搜索 但是仅仅搜索是不够的,因为有极 ...

  4. git使用diff----git-pull之后如何查看拉下来的文件有那些修改

    git pull拉取 git pull对于拉下来的修改文件自动对其进行git add /rm 及git commit 操作.所以拉下来的文件有那些修改,查看的方式可把它们归结于上一次提交的比较. gi ...

  5. 论文阅读笔记二十三:Learning to Segment Instances in Videos with Spatial Propagation Network(CVPR2017)

    论文源址:https://arxiv.org/abs/1709.04609 摘要 该文提出了基于深度学习的实例分割框架,主要分为三步,(1)训练一个基于ResNet-101的通用模型,用于分割图像中的 ...

  6. 输出GPLT

    L1-023 输出GPLT (20 分)   给定一个长度不超过10000的.仅由英文字母构成的字符串.请将字符重新调整顺序,按GPLTGPLT....这样的顺序输出,并忽略其它字符.当然,四种字符( ...

  7. 【第一部分】10Leetcode刷题

    一.删除链表的倒数第N个节点 题目:19. Remove Nth Node From End of List 分析:典型的利用双指针法解题.首先让指针first指向头节点,然后让其向后移动n步,接着让 ...

  8. Android自定义View+贝赛尔曲线

    Android -- 贝塞尔曲线公式的推导和简单使用https://www.cnblogs.com/wjtaigwh/p/6647114.html Android -- 贝塞尔使圆渐变为桃心http: ...

  9. python之logging

    1.简单使用 # CRITICAL, ERROR, WARNING, INFO, DEBUG) cewid import logging logging.basicConfig(level=loggi ...

  10. Python自带IDE设置字体

    打开Python 3.7.0 shell 点击菜单项 “”Options“”>"Configure IDLE" 可选择窗口的字体和大小 可选择背景主题颜色 可自定义配置