文档首页/ 企业主机安全 HSS/ 用户指南/ 容器防御/ 容器防火墙/ 设置网络防御策略(容器隧道网络)
更新时间:2025-09-08 GMT+08:00

设置网络防御策略(容器隧道网络)

操作场景

如果未为Pod设置网络防御策略,默认情况下允许所有流量进出Pod。这表示Pod之间可以自由通信,并且可以访问集群外部网络,存在潜在的安全风险。

本文为您介绍如何为容器隧道网络模型的集群设置网络防御策略,限制Pod之间的通信,以及Pod对集群外部网络的访问,从而提升集群的网络安全性。

约束与限制

  • 当前容器防火墙功能仅支持对运行在EulerOS、CentOS、Huawei Cloud EulerOS 2.0节点上的Pod设置网络策略。
  • CCE Standard集群1.23及以上版本支持入方向和出方向规则,CCE Standard集群1.23以下版本仅支持入方向规则。
  • 不支持对IPv6地址的网络进行隔离。
  • 不支持通过工作负载的标签限制ClusterIP的访问。

创建网络防御策略

您可以通过以下方式创建网络防御策略。

  1. 登录企业主机安全控制台
  2. 在控制台左上角,单击图标,选择区域或项目。
  3. 在左侧导航栏选择容器防御 > 容器防火墙,进入“容器防火墙”页面。
  4. (可选)如果您已开通企业项目,可在界面上方的“企业项目”下拉列表中选择目标主机所在的企业项目。
  5. 在集群列表上方,单击“手动同步”,同步所有集群已创建的策略。

    同步任务大概执行1~2分钟,请您稍作等待后单击列表右上方,刷新查看最新数据。

    图1 同步集群策略

  6. 单击容器隧道网络模型的集群所在行操作列的“策略管理”,进入策略管理页面。
  7. 单击策略列表上方“YAML创建”
  8. 在YAML创建界面输入或单击“导入”数据。

    以下为通过YAML创建的网络策略示例:通过网络策略限制Pod只能被带有特定标签的Pod访问,且只能访问指定Pod

    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
      name: access-demo4
      namespace: default
    spec:
      policyTypes:
      - Ingress
      - Egress
      podSelector:                  # 规则对具有role=db标签的Pod生效
        matchLabels:
          role: db
      ingress:                      # 表示入规则
      - from:
        - podSelector:              # 只允许具有role=frontend标签的Pod访问
            matchLabels:
              role: frontend
        ports:                      # 只能使用TCP协议访问6379端口
        - protocol: TCP
          port: 6379
      egress:                       # 表示出规则
      - to:
        - podSelector:              # 只允许访问具有role=web标签的Pod
            matchLabels:
              role: web

  9. 输入完成后,单击确定

    您可以在策略管理列表中查看新创建的策略。

  1. 登录企业主机安全控制台
  2. 在控制台左上角,单击图标,选择区域或项目。
  3. 在左侧导航栏选择容器防御 > 容器防火墙,进入“容器防火墙”页面。
  4. (可选)如果您已开通企业项目,可在界面上方的“企业项目”下拉列表中选择目标主机所在的企业项目。
  5. 在集群列表上方,单击“手动同步”,同步所有集群已创建的策略。

    同步任务大概执行1~2分钟,请您稍作等待后单击列表右上方,刷新查看最新数据。

    图2 同步集群策略

  6. 单击容器隧道网络模型的集群所在行操作列的“策略管理”,进入策略管理页面。
  7. 单击网络策略列表上方“创建网络策略”

    • 策略名称:自定义输入网络策略名称。
    • 命名空间:在下拉框中选择网络策略所在命名空间。
    • 选择器:输入标签键和标签值选择要关联的Pod,然后单击“确认添加”。您也可以单击“引用负载标签”直接引用已有负载的标签。
    • 入方向规则:单击添加规则,添加入方向规则,参数说明请参见表 添加入方向规则
      表1 添加入方向规则

      参数

      参数说明

      协议端口

      填写需要关联的Pod的入方向协议类型和端口,目前支持TCP和UDP协议。不填写表示全部放通。

      源对象命名空间

      选择允许哪个命名空间的对象访问。不填写表示和当前策略属于同一命名空间。

      源对象Pod标签

      允许带有这个标签的Pod访问,不填写表示允许命名空间下全部Pod访问。

    • 出方向规则:单击添加规则,添加出方向规则,参数说明请参见表 添加出方向规则
      表2 添加出方向规则

      参数

      参数说明

      协议端口

      填写目的对象的端口和协议。不填写表示不限制。

      目标网段

      允许将流量转发至指定的一个网段内(可指定多个例外网段)。

      指定网段和例外网段用竖线(|)分隔,多个例外网段用逗号(,)分隔。

      例如:172.17.0.0/16|172.17.1.0/24,172.17.2.0/24 表示允许访问 172.17.0.0/16 网段,其中 172.17.1.0/24 和 172.17.2.0/24 两个网段例外。

      目的对象命名空间

      目的对象所在的命名空间,不填写表示和当前策略属于同一命名空间。

      目的对象Pod标签

      允许访问带有这个标签的Pod,不填写表示允许访问命名空间下全部Pod。

  1. 设置完成后,单击“确定”

    您可以在策略管理列表中查看新创建的策略。

相关操作

修改或删除网络策略

  1. (可选)如果您已开通企业项目,可在界面上方的“企业项目”下拉列表中选择目标主机所在的企业项目。
  2. 在目标容器隧道网络模型的集群所在行的“操作”列,单击“策略管理”,进入策略管理页面。
  3. 单击网络策略列表上方“手动同步”

    同步任务大概执行1~2分钟,请您稍作等待后单击列表右上方,刷新查看最新数据。

  4. 定位目标网络策略,选择需要执行的管理操作。

    • 修改网络策略
      • 在目标策略所在行的“操作”列,单击“编辑YAML”,进入YAML界面,修改YAML信息后,单击确定
      • 在目标策略所在行的“操作”列,单击“更新”,进入更新网络策略界面,修改网络策略信息后,单击确定
    • 删除网络策略
      • 在目标策略所在行的“操作”列,单击“删除”,在弹出的确认信息框中,单击确定
      • 勾选所有需要删除的网络策略,单击网络策略列表上方的“批量删除”,在弹出的确认信息框中,单击确定