设置网络防御策略(容器隧道网络模型集群)
容器隧道网络模型的集群支持通过设置网络防御策略限制访问Pod的流量。当未配置网络策略时,默认所有进出命名空间中的Pod的流量都被允许。
本章节介绍如何为容器隧道网络模型的集群设置网络策略。
约束与限制
- 仅容器隧道网络模型的集群支持网络策略。网络策略分为以下规则
- 入方向规则:所有集群版本均支持。
- 出方向规则:集群版本大于或等于1.23时支持。
- 不支持对IPv6地址网络隔离。
创建网络防御策略
您可以通过以下方式创建网络防御策略。
- 登录管理控制台。
- 在页面左上角选择“区域”,单击
,选择“安全与合规 > 主机安全服务”,进入主机安全平台界面。
- 在左侧导航栏选择“容器防火墙”页面。 ,进入
- (可选)如果您已开通企业项目,可在界面上方的“企业项目”下拉列表中选择目标主机所在的企业项目。
- 在集群列表上方,单击“手动同步”,同步所有集群已创建的策略。
同步任务大概执行1~2分钟,请您稍作等待后单击列表右上方
,刷新查看最新数据。
图1 同步CCE集群策略 - 单击容器隧道网络模型的集群所在行操作列的“策略管理”,进入策略管理页面。
- 单击策略列表上方“YAML创建”。
- 在YAML创建界面输入或单击“导入”数据。
以下为一个YAML创建的网络策略示例:
apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: test-network-policy namespace: default spec: podSelector: #规则对具有role=db标签的Pod生效 matchLabels: role: db policyTypes: - Ingress - Egress ingress: #表示入规则 - from: - namespaceSelector: #只允许具有project=myproject的命名空间访问 matchLabels: project: myproject - podSelector: #只允许具有role=frontend标签的Pod访问 matchLabels: role: frontend ports #只允许使用TCP协议访问6379端口 - protocol: TCP port: 6379 egress: #表示出规则 - to: - ipBlock: #只允许访问目的对象的10.0.0.0/24网段。 cidr: 10.0.0.0/24 ports: #只允许使用TCP协议访问目的对象的6379端口 - protocol: TCP port: 6379
- 输入完成后,单击“确认”。
- 登录管理控制台。
- 在页面左上角选择“区域”,单击
,选择“安全与合规 > 主机安全服务”,进入主机安全平台界面。
- 在左侧导航栏选择“容器防火墙”页面。 ,进入
- (可选)如果您已开通企业项目,可在界面上方的“企业项目”下拉列表中选择目标主机所在的企业项目。
- 在集群列表上方,单击“手动同步”,同步所有集群已创建的策略。
同步任务大概执行1~2分钟,请您稍作等待后单击列表右上方
,刷新查看最新数据。
图2 同步CCE集群策略 - 单击容器隧道网络模型的集群所在行操作列的“策略管理”,进入策略管理页面。
- 单击网络策略列表上方“创建网络策略”。
- 策略名称:自定义输入网络策略名称。
- 命名空间:选择网络策略所在命名空间。
- 选择器:输入标签键和标签值选择要关联的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~2分钟,请您稍作等待后单击列表右上方
,刷新查看最新数据。
- 定位目标网络策略,选择执行管理操作。
- 修改网络策略
- 在目标策略所在行的“操作”列,单击“编辑YAML”,进入YAML界面,修改YAML信息后,单击“确认”。
- 在目标策略所在行的“操作”列,单击“更新”,进入更新网络策略界面,修改网络策略信息后,单击“确认”。
- 删除网络策略
- 在目标策略所在行的“操作”列,单击“删除”,在弹出的确认信息框中,单击“确认”。
- 勾选所有需要删除的网络策略,单击网络策略列表上方的“批量删除”,在弹出的确认信息框中,单击“确认”。
- 修改网络策略