ACL协议

作者: 逗儿比的日常 | 来源:发表于2021-04-01 15:05 被阅读0次

    概念

    是一种基于包过滤的流控制技术。控制列表通过把源地址、目的地址及端口号作为数据包检查的基本元素,并可以规定符合条件的数据包是否允许通过。ACL通常应用在企业的出口控制上,可以通过实施ACL,可以有效的部署企业网络出网策略

    工作原理

    ACL工作原理.png

    ACL由一系列允许语句和拒绝语句所组成
    ACL按照自上而下的顺序执行(一般范围小的条件在上面,大的在下面)
    第一个匹配项会执行允许或拒绝操作,进而停止进一步的ACL匹配操作
    ACL中应该至少包含一条permit语句,否则ACL将拒绝所有数据包
    每个ACL的末尾都有一条隐式的deny all语句

    ACL语句以逻辑方式顺序运行。这些语句自上而下地评估数据包,每次使用一条语句。如果某个数据包报头和ACL语句匹配,则会略过列表中的其他语句。然后会允许或拒绝这个数据包,具体由匹配的语句确定。如果数据包报头与ACL语句不匹配,那么将使用列表中的下一条语句测试数据包。此匹配过程会一直继续,直到抵达列表末尾

    ACL通配符掩码

    当处理ACL时,路由器需要一个机制来确定IP地址的哪些位必须匹配。通配符掩码描述IP地址的哪些位必须匹配IP数据包,才会与permit或deny语句匹配

    反掩码与子网掩码的关系

    用255减去子网掩码的每个数得到的就是反掩码
    子网掩码:255.255.255.0 11111111.11111111.11111111.00000000
    反掩码 : 0.0.0.255 00000000.00000000.00000000.11111111

    通配符掩码规则

    通配符掩码(反掩码)和子网掩码之间的差异在于它们匹配二进制 1 和 0 的方式。通配符掩码使用以下规则匹配二进制 1 和 0:
    • 通配符掩码位 0 :匹配地址中对应位的值
    • 通配符掩码位 1 :忽略地址中对应位的值

    ACL通配符掩码.png

    例:
    IP子网 172.30.16.0/24 到 172.30.31.0/24的过滤器
    地址和通配符掩码:172.30.16.0 0.0.15.255

    下图为IP子网的通配符掩码过程

    通配符掩码过程.png

    通过通配符掩码可知:必须要匹配前4位(0001)才可以,而能满足这个条件的有16 ~ 31,匹配主机为172.30.16.0/24 ~ 172.30.31.0/24

    ACL的两种主要类型

    1. 标准ACL(数字范围或标识符:1-99,1300-1999)

    检查源IP地址
    允许或拒绝整个协议簇
    不能控制目的IP和应用程序

    2. 扩展ACL(数字范围或标识符:100-199,2000-2699)

    检查源和目的IP地址
    通常允许或拒绝特定协议和应用
    能匹配端口号

    对于同一个协议,可以创建多个ACL。在给定协议中,要为每个新ACL选择不同的ACL编号。但是,在接口上,每个协议,每个方向只能应用一个ACL

    根据标准编号访问列表测试IP数据包.png

    采用1到99之间和1300到1999之间的数字进行编号的标准IPv4 ACL或命名AXL,根据源地址和掩码过滤数据包,而且还可允许或拒绝整个TCP/IP协议簇

    ACL工作原理

    ACL工作原理.png

    当ACL用于流量过滤时,它们可以运行入站或出站。这一方向决定了数据包在通过路由器时在哪个点接受ACL的测试
    出站ACL:传入数据包被路由到出站接口,然后由出站ACL进行处理。如果数据包符合一条permit语句,则由接口转发。如果数据包符合一个deny语句或者没有匹配语句,则丢弃它们
    入站ACL:传入数据包在被路由到出站接口之前由ACL进行处理。入站ACL是高效的,因为如果过滤测试拒绝了数据包,则会将数据包丢弃,这样就节省了路由查找的开销。如果测试允许了数据包,则对数据包进行路由

    举例

    1. 标准ACL

    要求:
    • 拒绝特定主机10.1.1.101访问网络
    • 允许所有其他LAN主机访问网络

    access-list 1 deny 10.1.1.101
    access-list 1 permit 10.1.1.0  0.0.0.255
    interface GigabitEthernet 0/1
    ip access-group 1 out
    
    标准ACL举例.png

    该图显示了在路由器的出站方向上应用ACL 1 来提供流量过滤的场景。ACL 1 中包含一条与IP地址为10.1.1.101的特定主机的流量相匹配的deny语句。ACL中的第二行允许来自网络10.1.1.0/24内主机的流量。指定一条permit语句非常重要,因为ACL末尾都有一条隐式deny all语句

    或者,ACL可以应用在接口GigabitEthernet 0/0 的入站方向上。此解决方案不仅阻止主机PC2访问网络,而且也拒绝PC2和路由器之间的所有通信

    2. 扩展ACL

    要求:
    • 仅防止PC2访问网络上的某一台服务器(209.165.202.197)
    • 只允许其他用户进行网络访问

    为了阻止PC2与某一特定服务器进行通信,需要使用一个将PC2的IP地址作为源地址,将服务器的IP地址作为目的地址的扩展ACL

    access-list 110 deny ip host 10.1.1.101 host 209.165.202.197
    access-list 110  permit tcp 10.1.1.0  0.0.0.255 any eq 80
    ip access-group 110 in
    

    选用数字110将ACL定义为一个扩展ACL
    第一条语句匹配两个特定主机间的IP流量,因此拒绝其要求
    第二条语句匹配来自网络10.1.1.0/24的HTTP TCP流量。使用运算符eq(等于)匹配TCP端口80
    ACL末尾存在隐式deny语句
    在接口上激活扩展ACL的方式与激活标准ACL的方式相同

    扩展ACL举例.png

    相关文章

      网友评论

          本文标题:ACL协议

          本文链接:https://www.haomeiwen.com/subject/yqrhaktx.html