网络ACL概述 网络ACL规则 网络ACL中包括入方向规则和出方向规则,用来控制VPC子网入方向和出方向的网络流量。 入方向规则:控制外部请求访问子网内的实例,即流量流入子网。 出方向规则:控制子网内实例访问外部的请求,即流量流出子网。 网络ACL规则由协议、源端口/目的端口、源地址/目的地址等组成,关键信息说明如下: 生效顺序:网络ACL规则按照生效顺序依次排列,序号越小,排序越靠前,表示流量优先匹配该规则。默认网络ACL规则的序号为,排在末尾,表示流量最后匹配该规则。 状态:网络ACL规则有“启用”和“停用”状态。启用时,网络ACL规则生效,停用时,网络ACL规则不生效。 类型:支持设置IPv4和IPv6协议的规则。 策略:支持允许或拒绝。当流量的协议、源端口/目的端口、源地址/目的地址成功匹配某个网络ACL规则后,会对流量执行规则对应的策略,允许或拒绝流量。 协议:匹配流量的网络协议类型,支持TCP、UDP、ICMP协议。 源地址/目的地址:匹配流量的源地址或者目的地址。您可以使用IP地址和IP地址组作为源地址或者目的地址。 源端口范围/目的端口范围:匹配流量的源端口或者目的端口,取值范围为1~65535。 网络ACL及规则的工作原理 网络ACL创建完成后,需要将网络ACL关联至目标子网,网络ACL规则才能控制出入该子网的流量。网络ACL可以同时关联多个子网,但一个子网只能关联一个网络ACL。 网络ACL是有状态的。如果您从实例发送一个出站请求,且该网络ACL的出方向规则是放通的话,那么无论其入方向规则如何,都将允许该出站请求的响应流量流入。同理,如果该网络ACL的入方向规则是放通的,那无论出方向规则如何,都将允许该入站请求的响应流量可以流出。 网络ACL使用连接跟踪来标识进出实例的流量信息,入方向和出方向网络ACL规则配置变更,对原有流量不会立即生效。当您在网络ACL内增加、删除、更新规则,或者在网络ACL内添加、移出子网时,由入方向/出方向流量建立的连接,已建立的长连接不会断开,依旧遵循原有网络ACL规则。入方向/出方向流量新建立的连接,将会匹配新的网络ACL出方向规则。 注意 对于已建立的长连接,流量断开后,不会立即建立新的连接,需要超过连接跟踪的老化时间后,才会新建立连接并匹配新的规则。比如,对于已建立的ICMP协议长连接,当流量中断后,需要超过老化时间30s后,将会新建立连接并匹配新的规则,详细说明如下: 不同协议的连接跟踪老化时间不同,比如已建立连接状态的TCP协议连接老化时间是600s,ICMP协议老化时间是30s。对于除TCP和ICMP的其他协议,如果两个方向都收到了报文,连接老化时间是180s,如果只是单方向收到了报文,另一个方向没有收到报文,则连接老化时间是30s。 TCP协议处于不同状态下连接老化时间也不相同,比如TCP连接处于ESTABLISHED(连接已建立)状态时,老化时间是600s,处于FINWAIT(连接即将关闭)状态时,老化时间是30s。 在网络ACL中,存在如下表所示的默认规则。当网络ACL中没有其他允许流量出入的自定义规则时,则匹配默认规则,拒绝任何流量流入或流出子网。在您将网络ACL关联至目标子网时,请确保已添加自定义规则放通业务流量,或者子网内无实际业务,避免默认规则造成业务流量中断。 方向 生效顺序 策略 协议 源地址 源端口范围 目的地址 目的端口范围 入方向 拒绝 全部 0.0.0.0/0 全部 0.0.0.0/0 全部 出方向 拒绝 全部 0.0.0.0/0 全部 0.0.0.0/0 全部 网络ACL规则不会匹配筛选下表中的流量,即对应的流量被允许流入或者流出子网,不受网络ACL默认规则以及自定义规则限制。 方向 规则说明 入方向 放通当前子网内的流量,即允许同一个子网内实例互通。 入方向 放通目的地址为255.255.255.255/32的广播流量。 入方向 放通目的地址为224.0.0.0/24的组播流量。 出方向 放通当前子网内的流量,即允许同一个子网内实例互通。 出方向 放通目的地址为255.255.255.255/32的广播流量。 出方向 放通目的地址为224.0.0.0/24的组播流量。 出方向 放通基于TCP协议,目的地址为169.254.169.254/32 ,目的端口为80的云主机元数据(metadata)流量 出方向 放通目的地址为100.125.0.0/16的流量,该网段是云上公共服务预留地址,比如DNS服务器地址、NTP服务器地址等。