网络ACL(Network Access Control List)是专有网络VPC中的网络访问控制功能。您可以自定义设置网络ACL规则,并将网络ACL与交换机绑定,实现对交换机中云服务器ECS实例流量的访问控制。
功能发布及地域支持情况
区域 | 支持网络ACL的地域 |
亚太 | 华东1(杭州)、华东2(上海)、华东5 (南京-本地地域)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、华中1(武汉-本地地域)、华东6(福州-本地地域)、日本(东京)、韩国(首尔)、新加坡、澳大利亚(悉尼)、马来西亚(吉隆坡)、印度尼西亚(雅加达)、菲律宾(马尼拉)、泰国(曼谷)、印度(孟买) |
欧洲与美洲 | 德国(法兰克福)、英国(伦敦)、美国(硅谷)、美国(弗吉尼亚) |
中东 | 阿联酋(迪拜)、沙特(利雅得) 重要 沙特(利雅得)地域由合作伙伴运营。 |
功能特性
网络ACL规则仅过滤绑定的交换机中ECS实例的流量(包括SLB实例转发给ECS实例的流量)。
说明如果您的ECS实例绑定了辅助弹性网卡,且辅助弹性网卡绑定了设置网卡可见模式的EIP,那么网络ACL不过滤该ECS实例的流量。更多信息,请参见设置EIP网卡可见模式。
网络ACL的规则是无状态的,即设置入方向规则的允许请求后,需要同时设置相应的出方向规则,否则可能会导致请求无法响应。
网络ACL无任何规则时,会拒绝所有出入方向的访问。
网络ACL与交换机绑定,不过滤同一交换机内的ECS实例间的流量。
网络ACL放通的DNS服务器为100.100.2.128/28、100.100.2.112/28;放通的Metaserver(元数据服务器)为100.100.100.200/32。
规则说明
添加出方向规则和入方向规则前,您需要了解:
在网络ACL中添加或删除规则,更改规则后会自动应用到与其绑定的交换机。
在网络ACL中添加IPv6类型的出方向规则和入方向规则时,您需要为网络ACL所在的VPC分配IPv6网段。
IPv6类型的网络ACL仅在菲律宾(马尼拉)、德国(法兰克福)地域可用。
当您配置了DHCP选项集时,您需要在网络ACL的出入方向规则中添加放行DNS域名服务器配置的IP地址。当未添加规则时,可能会造成DHCP选项集的业务异常。
当网络ACL所在的VPC同时分配了IPv4和IPv6网段时,出方向和入方向默认规则如下:
默认各创建2条全拒绝的系统规则,优先级固定最低且不能修改或删除。
默认各创建3条接受的云服务规则,优先级固定最高且不能修改或删除。
默认各创建2条全放通的自定义规则,用户可以选择删除这两条出方向和入方向的自定义规则,但需要注意此操作可能会导致VPC内流量被拒绝,需要谨慎操作。
具体默认规则如下表所示。
说明下表中的入方向和出方向的默认规则仅在菲律宾(马尼拉)、德国(法兰克福)地域可用,其他地域默认只创建一条IPv4类型全放通的自定义规则。
入方向规则
生效顺序
协议类型
源地址
目的端口范围
策略
类型
*
ALL
100.100.2.128/28
0:65535
允许
云服务
*
ALL
100.100.2.112/28
0:65535
允许
云服务
*
ALL
100.100.100.200/32
0:65535
允许
云服务
1
ALL
0.0.0.0/0
-1/-1
允许
自定义
2
ALL
::/0
-1/-1
允许
自定义
*
ALL
0.0.0.0/0
0:65535
拒绝
系统
*
ALL
::/0
0:65535
拒绝
系统
出方向规则
生效顺序
协议类型
目的地址
目的端口范围
策略
类型
*
ALL
100.100.2.128/28
0:65535
允许
云服务
*
ALL
100.100.2.112/28
0:65535
允许
云服务
*
ALL
100.100.100.200/32
0:65535
允许
云服务
1
ALL
0.0.0.0/0
-1/-1
允许
自定义
2
ALL
::/0
-1/-1
允许
自定义
*
ALL
0.0.0.0/0
0:65535
拒绝
系统
*
ALL
::/0
0:65535
拒绝
系统
网络ACL中的元素说明如下:
生效顺序:值越小,规则的优先级越高。系统从生效顺序为1的规则开始判断,只要有一条规则与流量匹配,即应用该规则,并忽略其他规则。
例如,ECS实例请求访问目的地址为172.16.0.1的数据包,在经过如下表所示的ACL规则配置后,172.16.0.1匹配生效顺序2和生效顺序3规则中的目的地址,由于生效顺序2的优先级高于生效顺序3,所以会根据生效顺序2规则拒绝该请求。
生效顺序
协议类型
目的地址
目的端口范围
策略
类型
1
ALL
10.0.0.0/8
-1/-1
允许
自定义
2
ALL
172.16.0.0/12
-1/-1
拒绝
自定义
3
ALL
172.16.0.0/12
-1/-1
允许
自定义
策略:针对特定流量选择允许或拒绝。
协议类型:指定数据流的协议类型,可选择以下协议。
ALL:所有协议。当选择所有协议类型时,端口范围无法设置,为-1/-1,表示不限制端口。
ICMP:网络控制报文协议。当选择该协议类型时,端口范围无法设置,为-1/-1,表示不限制端口。
GRE:通用路由封装协议。当选择该协议类型时,端口范围无法设置,为-1/-1,表示不限制端口。
TCP:传输控制协议。当选择该协议类型时,端口范围为1~65535。设置格式为1/200或80/80,且不能设置为-1/-1。
UDP:用户数据报协议。端口范围为1~65535。设置格式为1/200或80/80,且不能设置为-1/-1。
ICMPv6:IPv6网络控制报文协议。当选择所有协议类型时,端口范围无法设置,为-1/-1,表示不限制端口。
源地址(限入方向规则):数据流的源地址。
目的地址(限出方向规则):数据流的目的地址。
目的端口范围(限入方向规则):入方向规则作用的端口范围。
目的端口范围(限出方向规则):出方向规则作用的端口范围。
网络ACL与安全组
与交换机绑定的网络ACL规则控制流入和流出交换机的数据流,与ECS实例相关的安全组规则控制流入和流出ECS实例的数据流。网络ACL和安全组的基本差异如下表所示。
对比项 | 网络ACL | 安全组 |
运行范围 | 在交换机级别运行。 | 在ECS实例级别运行。 |
返回数据流状态 | 无状态:返回数据流必须被规则明确允许。 | 有状态:返回数据流会被自动允许,不受任何规则的影响。 |
是否评估规则 | 不评估所有规则,按照规则的生效顺序处理所有规则。 | 执行规则前,会评估所有规则。 |
与ECS实例的关联关系 | ECS实例所属的交换机仅允许绑定一个网络ACL。 | 一个ECS实例可加入多个安全组。 |
网络ACL和安全组提供的安全层如下图所示。
使用限制
配额名称 | 描述 | 默认限制 | 提升配额 |
vpc_quota_nacl_ingress_entry | 单个网络ACL支持创建的入方向规则数量 | 20条 | |
vpc_quota_nacl_egress_entry | 单个网络ACL支持创建的出方向规则数量 | 20条 | |
nacl_quota_vpc_create_count | 单个VPC支持创建的网络ACL数量 | 20个 |
使用流程
具体操作,请参见创建和管理网络ACL。