6.6. 启用 IPsec 加密
作为集群管理员,您可以在集群和外部 IPsec 端点之间启用 pod 到 pod 的 IPsec 加密。
您可以使用以下模式之一配置 IPsec:
-
Full:pod 到 pod 和外部流量的加密 -
External:对外部流量进行加密
如果以 Full 模式配置 IPsec,还必须完成"为外部流量配置 IPsec 加密"过程。
如果以 Full 模式启用 IPsec,作为集群管理员,您可以通过将 full 模式添加到 networks.operator.openshift.io 来配置模式的选项。full 模式支持 encapsulation 参数。您可以使用此参数为 IPsec 流量配置网络地址转换(NAT-T) 封装。encapsulation 参数支持以下值:
-
Auto是默认值,当libreswan检测到节点内流量中的网络地址转换(NAT)数据包时启用 UDP 封装。 -
Always为节点中所有流量类型启用 UDP 封装。这个选项不依赖于libreswan来检测节点中的 NAT 数据包。
先决条件
-
安装 OpenShift CLI (
oc) 。 -
以具有
cluster-admin权限的用户身份登录集群。 -
您已将集群 MTU 的大小减少为
46字节,以允许 IPsec ESP 标头的开销。
流程
要启用 IPsec 加密,请输入以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定
External以加密到外部主机的流量,或者指定Full来加密 pod 到 pod 流量,以及可选的到外部主机的流量。默认情况下禁用 IPsec。
以
Full模式启用 IPsec 的配置示例,并将encapsulation设置为AlwaysCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 完成"为外部流量配置 IPsec 加密"流程,使用 IPsec 加密外部流量。
验证
要查找 OVN-Kubernetes data plane pod 的名称,请输入以下命令:
oc get pods -n openshift-ovn-kubernetes -l=app=ovnkube-node
$ oc get pods -n openshift-ovn-kubernetes -l=app=ovnkube-nodeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,验证集群中是否启用了 IPsec:
注意作为集群管理员,您可以在 IPsec 配置为
Full模式时验证集群中 pod 之间是否启用了 IPsec。此步骤不会验证 IPsec 是否在集群和外部主机间工作。oc -n openshift-ovn-kubernetes rsh ovnkube-node-<XXXXX> ovn-nbctl --no-leader-only get nb_global . ipsec
$ oc -n openshift-ovn-kubernetes rsh ovnkube-node-<XXXXX> ovn-nbctl --no-leader-only get nb_global . ipsec1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
<XXXXX>指定上一步中 pod 的随机字符序列。命令的成功输出显示状态为
true。