# 如何修改集群安全组规则配置
CCE作为通用的容器平台，安全组规则的设置适用于通用场景。集群在创建时将会自动为Master节点和Node节点分别创建一个安全组，其中Master节点的安全组名称是：**{集群名}-cce-control-{随机ID}** ；Node节点的安全组名称是：**{集群名}-cce-node-{随机ID}** 。使用CCE Turbo集群时会额外创建一个ENI的安全组，名为**{集群名}-cce-eni-{随机ID}**。
用户可根据安全需求，登录[VPC控制台](https://console.huaweicloud.com/vpc/#/vpc/vpcs/list)，在左侧导航栏单击"访问控制 \> 安全组"，找到集群对应的安全组规则进行修改和加固。
如集群在创建时需要指定节点安全组，请参考集群自动创建的默认安全组规则放通指定端口，以保证集群中的正常网络通信。
不同网络模型的默认安全组规则如下：
- [VPC网络模型安全组规则]
- [容器隧道网络模型安全组规则]
- [云原生网络2.0（CCE Turbo集群）安全组规则]
![](https://support.huaweicloud.com/cce_faq/public_sys-resources/caution_3.0-zh-cn.png)
- 修改安全组规则属于**高危操作** ，**可能会影响集群的正常运行** ，请谨慎操作，并选择在业务低峰期进行。如需修改安全组规则，请尽量避免对CCE运行依赖的端口规则进行修改。同时，部分端口可能还存在用户自身业务依赖，建议您**先在测试环境中进行充分验证** 。验证过程建议包括**端口连通性、集群组件可用性、业务全链路可用性** 等多个维度，并**观察足够时长**，避免安全组规则生效延时、组件重连机制引发的延时性故障，尤其需验证长连接断连后重试正常、新建Pod/节点正常。
- 在集群中添加新的安全组规则时，需要**确保新规则与原有规则不会发生冲突**，否则可能导致原有规则失效，影响集群正常运行。
 
 #### VPC网络模型安全组规则
**Node节点安全组**
集群自动创建的Node节点安全组名称为**{集群名}-cce-node-{随机ID}** ，默认端口说明请参见[表1]。
 表1VPC网络模型Node节点安全组默认端口说明 
| 方向      | 端口                | 默认源地址             | 说明                                                       | 修改建议     | 修改后影响                                                                                                                                                            |
|:---|:---|:---|:---|:---|:---|
| 入方向规则  | UDP：全部             | VPC网段              | Node节点之间互访、Node节点与Master节点互访。                          | 不建议修改     | 如果修改会影响集群的正常运行。                                                                                                                                                |
| 入方向规则  | TCP：全部           | VPC网段              | Node节点之间互访、Node节点与Master节点互访。                          | 不建议修改     | 如果修改会影响集群的正常运行。                                                                                                                                                |
| 入方向规则  | ICMP：全部         | Master节点安全组     | Master节点访问Node节点。                                    | 不建议修改   | 如果修改会影响集群的正常运行。                                                                                                                                             |
| 入方向规则  | TCP：30000-32767 | 所有IP地址（0.0.0.0/0）  | 集群NodePort服务默认访问端口范围。                               | 可修改     | 端口需对VPC网段、容器网段和ELB的网段放通（共享型ELB需额外放通100.125.0.0/16网段）。                                                                                                       |
| 入方向规则  | UDP：30000-32767 | 所有IP地址（0.0.0.0/0）  | 集群NodePort服务默认访问端口范围。                               | 可修改     | 端口需对VPC网段、容器网段和ELB的网段放通（共享型ELB需额外放通100.125.0.0/16网段）。                                                                                                       |
| 入方向规则  | 全部              | 容器网段             | 允许集群中的容器访问节点。                                        | 不建议修改   | 如果修改会影响集群的正常运行。                                                                                                                                              |
| 入方向规则  | 全部                  | Node节点安全组       | 限制来自Node节点安全组外部对安全组内资源的访问，但对于Node节点安全组中的实例互相访问不做限制。 | 不建议修改    | 如果修改会影响集群的正常运行。                                                                                                                                               |
| 入方向规则  | TCP：22            | 所有IP地址（0.0.0.0/0）  | 允许SSH远程连接Linux弹性云服务器。                                | **建议修改** | 建议修改成只允许固定IP或IP地址段访问。 说明： 集群自动创建安全组默认不包含TCP 22端口的入方向规则。您可在创建集群时通过勾选"开放TCP 22端口"复选框来开放节点默认安全组的22端口。勾选后将对所有IP地址开放22端口，请注意相关安全风险。 |
| 出方向规则 | 全部               | 所有IP地址（0.0.0.0/0） | 默认全部放通，通常情况下不建议修改。                                 | 可修改    | 如需加固出方向规则，请注意指定端口需要放通，详情请参见[安全组出方向规则加固建议]。                                                                              |
   
**Master节点安全组**
集群自动创建的Master节点安全组名称为**{集群名}-cce-control-{随机ID}** ，默认端口说明请参见[表2]。
 表2VPC网络模型Master节点安全组默认端口说明 
| 方向       | 端口         | 默认源地址            | 说明                                                        | 修改建议     | 修改后影响                                                                                                                        |
|:---|:---|:---|:---|:---|:---|
| 入方向规则 | TCP：5444   | VPC网段                | kube-apiserver服务端口，提供K8s资源的生命周期管理。                       | 不建议修改  | 如果修改会影响集群的正常运行。                                                                                                              |
| 入方向规则 | TCP：5444 | 容器网段               | kube-apiserver服务端口，提供K8s资源的生命周期管理。                       | 不建议修改  | 如果修改会影响集群的正常运行。                                                                                                              |
| 入方向规则 | TCP：9443  | VPC网段             | Node节点网络插件访问Master节点。                                   | 不建议修改  | 如果修改会影响集群的正常运行。                                                                                                             |
| 入方向规则 | TCP：5443  | 所有IP地址（0.0.0.0/0） | kube-apiserver的HAProxy负载均衡端口，负责将请求转发到kube-apiserver后端实例。  | **建议修改** | 端口需保留对VPC网段、容器网段和托管网格控制面网段放通。 说明： 如果您需要使用CloudShell功能，请保留5443端口对198.19.0.0/16网段放通，否则将无法访问集群。 |
| 入方向规则 | TCP：8445  | VPC网段               | Node节点存储插件访问Master节点。                                      | 不建议修改     | 如果修改会影响集群的正常运行。                                                                                                               |
| 入方向规则 | 全部        | Master节点安全组        | 限制来自Master节点安全组外部对安全组内资源的访问，但对于Master节点安全组中的实例互相访问不做限制。 | 不建议修改   | 如果修改会影响集群的正常运行。                                                                                                               |
| 出方向规则  | 全部         | 所有IP地址（0.0.0.0/0） | 默认全部放通。                                                 | 不建议修改    | 如果修改会影响集群的正常运行。                                                                                                            |
   
 #### 容器隧道网络模型安全组规则
**Node节点安全组**
集群自动创建的Node节点安全组名称为**{集群名}-cce-node-{随机ID}** ，默认端口说明请参见[表3]。
 表3容器隧道网络模型Node节点安全组默认端口说明 
| 方向     | 端口              | 默认源地址             | 说明                                                  | 修改建议       | 修改后影响                                                                                                                                                           |
|:---|:---|:---|:---|:---|:---|
| 入方向规则  | UDP：4789        | 所有IP地址（0.0.0.0/0） | 容器间网络互访。                                             | 不建议修改       | 如果修改会影响集群的正常运行。                                                                                                                                                 |
| 入方向规则  | TCP：10250        | Master节点网段       | Master节点主动访问Node节点的kubelet（如执行kubectl exec {pod}）。 | 不建议修改     | 如果修改会影响集群的正常运行。                                                                                                                                                |
| 入方向规则  | TCP：30000-32767 | 所有IP地址（0.0.0.0/0）  | 集群NodePort服务默认访问端口范围。                               | 可修改      | 端口需对VPC网段、容器网段和ELB的网段（共享型ELB需额外放通100.125.0.0/16网段）放通。                                                                                                          |
| 入方向规则  | UDP：30000-32767  | 所有IP地址（0.0.0.0/0）  | 集群NodePort服务默认访问端口范围。                               | 可修改      | 端口需对VPC网段、容器网段和ELB的网段（共享型ELB需额外放通100.125.0.0/16网段）放通。                                                                                                          |
| 入方向规则  | TCP：22          | 所有IP地址（0.0.0.0/0）  | 允许SSH远程连接Linux弹性云服务器。                                 | **建议修改** | 建议修改成只允许固定IP或IP地址段访问。 说明： 集群自动创建安全组默认不包含TCP 22端口的入方向规则。您可在创建集群时通过勾选"开放TCP 22端口"复选框来开放节点默认安全组的22端口。勾选后将对所有IP地址开放22端口，请注意相关安全风险。 |
| 入方向规则  | 全部               | Node节点安全组          | 限制来自Node节点安全组外部对安全组内资源的访问，但对于Node节点安全组中的实例互相访问不做限制。 | 不建议修改     | 如果修改会影响集群的正常运行。                                                                                                                                                 |
| 出方向规则 | 全部               | 所有IP地址（0.0.0.0/0）  | 默认全部放通，通常情况下不建议修改。                                   | 可修改        | 如需加固出方向规则，请注意指定端口需要放通，详情请参见[安全组出方向规则加固建议]。                                                                                 |
   
**Master节点安全组**
集群自动创建的Master节点安全组名称为**{集群名}-cce-control-{随机ID}** ，默认端口说明请参见[表4]。
 表4容器隧道网络模型Master节点安全组默认端口说明 
| 方向    | 端口      | 默认源地址               | 说明                                                       | 修改建议     | 修改后影响                                                                                                                                      |
|:---|:---|:---|:---|:---|:---|
| 入方向规则 | UDP：4789    | 所有IP地址（0.0.0.0/0）  | 容器间网络互访。                                                   | 不建议修改      | 如果修改会影响集群的正常运行。                                                                                                                              |
| 入方向规则 | TCP：5444 | VPC网段             | kube-apiserver服务端口，提供K8s资源的生命周期管理。                         | 不建议修改     | 如果修改会影响集群的正常运行。                                                                                                                             |
| 入方向规则 | TCP：5444 | 容器网段               | kube-apiserver服务端口，提供K8s资源的生命周期管理。                         | 不建议修改     | 如果修改会影响集群的正常运行。                                                                                                                             |
| 入方向规则 | TCP：9443 | VPC网段             | Node节点网络插件访问Master节点。                                      | 不建议修改      | 如果修改会影响集群的正常运行。                                                                                                                             |
| 入方向规则 | TCP：5443  | 所有IP地址（0.0.0.0/0） | kube-apiserver的HAProxy负载均衡端口，负责将请求转发到kube-apiserver后端实例。 | **建议修改** | 端口需保留对VPC网段、容器网段和托管网格控制面网段放通。 说明： 如果您需要使用CloudShell功能，请保留5443端口对198.19.0.0/16网段放通，否则将无法访问集群。 |
| 入方向规则 | TCP：8445 | VPC网段               | Node节点存储插件访问Master节点。                                      | 不建议修改     | 如果修改会影响集群的正常运行。                                                                                                                             |
| 入方向规则 | 全部        | Master节点安全组       | 限制来自Master节点安全组外部对安全组内资源的访问，但对于Master节点安全组中的实例互相访问不做限制。  | 不建议修改      | 如果修改会影响集群的正常运行。                                                                                                                              |
| 出方向规则  | 全部         | 所有IP地址（0.0.0.0/0） | 默认全部放通。                                                   | 不建议修改      | 如果修改会影响集群的正常运行。                                                                                                                              |
   
 #### 云原生网络2.0（CCE Turbo集群）安全组规则
**Node节点安全组**
集群自动创建的Node节点安全组名称为**{集群名}-cce-node-{随机ID}** ，默认端口说明请参见[表5]。
 表5CCE Turbo集群Node节点安全组默认端口说明 
| 方向    | 端口              | 默认源地址             | 说明                                                  | 修改建议  | 修改后影响                                                                                                                                                           |
|:---|:---|:---|:---|:---|:---|
| 入方向规则 | TCP：10250        | Master节点网段       | Master节点主动访问Node节点的kubelet（如执行kubectl exec {pod}）。  | 不建议修改  | 如果修改会影响集群的正常运行。                                                                                                                                                |
| 入方向规则 | TCP：30000-32767 | 所有IP地址（0.0.0.0/0）    | 集群NodePort服务默认访问端口范围。                              | 可修改     | 端口需对VPC网段、容器网段和ELB的网段（共享型ELB需额外放通100.125.0.0/16网段）放通。                                                                                                           |
| 入方向规则 | UDP：30000-32767 | 所有IP地址（0.0.0.0/0）    | 集群NodePort服务默认访问端口范围。                              | 可修改     | 端口需对VPC网段、容器网段和ELB的网段（共享型ELB需额外放通100.125.0.0/16网段）放通。                                                                                                           |
| 入方向规则 | TCP：22           | 所有IP地址（0.0.0.0/0）  | 允许SSH远程连接Linux弹性云服务器。                              | **建议修改** | 建议修改成只允许固定IP或IP地址段访问。 说明： 集群自动创建安全组默认不包含TCP 22端口的入方向规则。您可在创建集群时通过勾选"开放TCP 22端口"复选框来开放节点默认安全组的22端口。勾选后将对所有IP地址开放22端口，请注意相关安全风险。 |
| 入方向规则 | 全部                 | Node节点安全组         | 限制来自Node节点安全组外部对安全组内资源的访问，但对于Node节点安全组中的实例互相访问不做限制。 | 不建议修改 | 如果修改会影响集群的正常运行。                                                                                                                                               |
| 入方向规则 | 全部             | 容器子网网段               | 允许集群中的容器访问节点。                                          | 不建议修改  | 如果修改会影响集群的正常运行。                                                                                                                                               |
| 出方向规则 | 全部              | 所有IP地址（0.0.0.0/0） | 默认全部放通，通常情况下不建议修改。                                  | 可修改     | 如需加固出方向规则，请注意指定端口需要放通，详情请参见[安全组出方向规则加固建议]。                                                                                 |
   
**Master节点安全组**
集群自动创建的Master节点安全组名称为**{集群名}-cce-control-{随机ID}** ，默认端口说明请参见[表6]。
 表6CCE Turbo集群Master节点安全组默认端口说明 
| 方向     | 端口        | 默认源地址             | 说明                                                          | 修改建议     | 修改后影响                                                                                                                                        |
|:---|:---|:---|:---|:---|:---|
| 入方向规则 | TCP：5444   | 所有IP地址（0.0.0.0/0） | kube-apiserver服务端口，提供K8s资源的生命周期管理。                        | 不建议修改       | 如果修改会影响集群的正常运行。                                                                                                                             |
| 入方向规则 | TCP：5444   | VPC网段              | kube-apiserver服务端口，提供K8s资源的生命周期管理。                        | 不建议修改     | 如果修改会影响集群的正常运行。                                                                                                                              |
| 入方向规则 | TCP：9443 | VPC网段               | Node节点网络插件访问Master节点。                                      | 不建议修改     | 如果修改会影响集群的正常运行。                                                                                                                              |
| 入方向规则 | TCP：5443 | 所有IP地址（0.0.0.0/0）  | kube-apiserver的HAProxy负载均衡端口，负责将请求转发到kube-apiserver后端实例。 | **建议修改** | 端口需保留对VPC网段、容器网段和托管网格控制面网段放通。 说明： 如果您需要使用CloudShell功能，请保留5443端口对198.19.0.0/16网段放通，否则将无法访问集群。 |
| 入方向规则 | TCP：8445  | VPC网段            | Node节点存储插件访问Master节点。                                    | 不建议修改     | 如果修改会影响集群的正常运行。                                                                                                                               |
| 入方向规则 | 全部       | Master节点安全组        | 限制来自Master节点安全组外部对安全组内资源的访问，但对于Master节点安全组中的实例互相访问不做限制。 | 不建议修改     | 如果修改会影响集群的正常运行。                                                                                                                               |
| 入方向规则 | 全部        | 容器子网网段             | 属于容器子网网段的源地址需全部放通。                                       | 不建议修改      | 如果修改会影响集群的正常运行。                                                                                                                             |
| 出方向规则    | 全部     | 所有IP地址（0.0.0.0/0） | 默认全部放通。                                                   | 不建议修改     | 如果修改会影响集群的正常运行。                                                                                                                              |
   
**ENI安全组**
CCE Turbo集群会额外创建名为**{集群名}-cce-eni-{随机ID}** 的安全组，默认为集群中的容器绑定该安全组，默认端口说明请参见[表7]。
 表7ENI安全组默认端口说明 
| 方向    | 端口 | 默认源地址           | 说明            | 修改建议   | 修改后影响             |
|:---|:---|:---|:---|:---|:---|
| 入方向规则    | 全部 | ENI安全组           | 允许集群中的容器互相访问。 | 不建议修改   | 如果修改会影响集群的正常运行。 |
| 入方向规则    | 全部 | VPC网段            | 允许集群VPC中的实例访问容器。 | 不建议修改   | 如果修改会影响集群的正常运行。    |
| 出方向规则 | 全部 | 所有IP地址（0.0.0.0/0） | 默认全部放通。       | 不建议修改 | 如果修改会影响集群的正常运行。  |
   
 #### 安全组出方向规则加固建议
对于**出方向规则**，CCE创建的安全组默认全部放通，通常情况下不建议修改。如需加固出方向规则，请注意如下端口需要放通。
表8Node节点安全组出方向规则最小范围 
| 端口                       | 放通地址段             | 说明                                                          |
|:---|:---|:---|
| TCP：53                  | 子网的DNS服务器          | 用于域名解析。                                                  |
| UDP：53                     | 子网的DNS服务器          | 用于域名解析。                                                  |
| TCP：5353                | 容器网段               | 用于CoreDNS域名解析。                                            |
| UDP：5353                 | 容器网段               | 用于CoreDNS域名解析。                                            |
| UDP：4789（仅容器隧道网络模型的集群需要） | 所有IP地址              | 容器间网络互访。                                                    |
| TCP：5443                 | Master节点网段        | kube-apiserver的HAProxy负载均衡端口，负责将请求转发到kube-apiserver后端实例。 |
| TCP：5444                   | VPC网段、容器网段          | kube-apiserver服务端口，提供K8s资源的生命周期管理。                       |
| TCP：6443                 | Master节点网段         | -                                                        |
| TCP：8445                | VPC网段            | Node节点存储插件访问Master节点。                                     |
| TCP：9443                  | VPC网段              | Node节点网络插件访问Master节点。                                     |
| 所有端口                     | 198.19.128.0/17网段  | 访问VPCEP服务。                                              |
| UDP：123               | 100.125.0.0/16网段 | Node节点访问内网NTP服务器端口。                                       |
| TCP：443                 | 100.125.0.0/16网段   | Node节点访问内网OBS端口用于拉取安装包。                                   |
| TCP：6443                | 100.125.0.0/16网段 | Node节点上报节点安装成功。                                          |
| TCP：8102                 | 100.125.0.0/16网段   | Node节点日志插件访问LTS。                                           |
   
