35.2. 加密主机
先决条件
- 确保在集群主机上安装 libreswan 3.15 或更高版本。如果需要 opportunistic 组功能,则需要 libreswan 版本 3.19 或更高版本。
本主题描述了需要
62
字节的 IPsec 配置。如果集群在以太网网络上运行,且最大传输单元(MTU)值为1500
字节,那么 SDN MTU 值必须改为1388
字节,以允许 IPsec 和 SDN 封装的开销。完成以下步骤,更改集群中节点的 MTU:编辑以下每个 ConfigMap:
node-config-master
、node-config-infra
、node-config-compute
。运行以下命令来编辑 ConfigMap。将
<config_map
> 替换为要编辑的 ConfigMap 的名称。# oc edit cm <config_map> -n openshift-node
将
mtu
参数更新为足够用于 IPsec 开销的 MTU 大小,如1388
字节:networkConfig: mtu: 1388
运行以下命令来移除 SDN 接口。将
<ovs_pod_name
> 替换为 OVS pod 的名称。# oc exec <ovs_pod_name> -- ovs-vsctl del-br br0
对于集群中的每个节点,完成以下操作:
-
确认更新的 MTU 值已保存到
/etc/origin/node/node-config.yaml
文件中。 运行以下命令重启 SDN 和 OVS pod:
# oc delete pod -n openshift-sdn -l=app=ovs # oc delete pod -n openshift-sdn -l=app=sdn
-
确认更新的 MTU 值已保存到
35.2.1. 为 IPsec 配置证书
您可以使用 OpenShift Container Platform 内部证书颁发机构(CA)生成适合 IPsec 的 RSA 密钥。内部 CA 有一个通用名称(CN)值设置为 openshift-signer
。
运行以下命令在 master 节点上生成 RSA 证书:
# export CA=/etc/origin/master # oc adm ca create-server-cert \ --signer-cert=$CA/ca.crt --signer-key=$CA/ca.key \ --signer-serial=$CA/ca.serial.txt \ --hostnames='<hostname>' \ 1 --cert=<hostname>.crt \ 2 --key=<hostname>.key 3
使用 openssl 将客户端证书、CA 证书和私钥文件组合到 PKCS#12 文件中,该文件是多个证书和密钥的通用文件格式:
# openssl pkcs12 -export \ -in <hostname>.crt \ 1 -inkey <hostname>.key \ 2 -certfile /etc/origin/master/ca.crt \ -passout pass: \ -out <hostname>.p12 3
对于集群中的每个节点,安全地传输您在上一步中为主机创建的文件,然后将 PKCS#12 文件导入到 libreswan 证书数据库中。
-W
选项为空,因为没有为 PKCS#12 文件分配密码,因为它只是临时的。# ipsec initnss # pk12util -i <hostname>.p12 -d sql:/etc/ipsec.d -W "" # rm <hostname>.p12