• CISCO ACL配置(目前)


    什么是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信息

  • 相关阅读:
    2. Add Two Numbers
    1. Two Sum
    leetcode 213. 打家劫舍 II JAVA
    leetcode 48. 旋转图像 java
    leetcode 45. 跳跃游戏 II JAVA
    leetcode 42. 接雨水 JAVA
    40. 组合总和 II leetcode JAVA
    24. 两两交换链表中的节点 leetcode
    1002. 查找常用字符 leecode
    leetcode 23. 合并K个排序链表 JAVA
  • 原文地址:https://www.cnblogs.com/lxxkim/p/10574258.html
Copyright © 2020-2023  润新知