6.6. 启用 IPsec 加密
作为集群管理员,您可以在集群和外部 IPsec 端点之间启用 pod 到 pod 的 IPsec 加密。
您可以使用以下模式之一配置 IPsec:
-
Full
:pod 到 pod 和外部流量的加密 -
External
:对外部流量进行加密
如果以 Full
模式配置 IPsec,还必须完成"为外部流量配置 IPsec 加密"过程。
如果您以 Full
模式启用 IPsec,作为集群管理员,您可以通过将 full
模式添加到 network. 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
设置为Always
Copy 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-node
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,验证您在集群中启用了 IPsec:
注意作为集群管理员,当您以
Full
模式配置 IPsec 时,您可以验证您是否在集群中的 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 . ipsec
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中: &
lt;XXXXX
> 指定上一步中 pod 的随机字符序列。命令的成功输出显示状态为
true
。