35.2.2.2. 配置显式连接
在此配置中,每个 IPsec 节点配置都必须明确列出集群中每个节点的配置。建议使用 Ansible 等配置管理工具在每一主机上生成此文件。
注意
不要手动编辑 node-config.yaml
文件。要修改集群中的节点,请根据需要更新节点配置映射。
此配置还需要将每个节点的完整证书主题放在其他节点的配置中。
使用 openssl 从节点的证书中读取此主题:
# openssl x509 \ -in /path/to/client-certificate -text | \ grep "Subject:" | \ sed 's/[[:blank:]]*Subject: //'
将以下行放在集群中的每个节点的 /etc/ipsec.d/openshift-cluster.conf 文件中:
conn <other_node_hostname> left=<this_node_ip> 1 leftid="CN=<this_node_cert_nickname>" 2 leftrsasigkey=%cert leftcert=<this_node_cert_nickname> 3 right=<other_node_ip> 4 rightid="<other_node_cert_full_subject>" 5 rightrsasigkey=%cert auto=start keyingtries=%forever encapsulation=yes 6
- 1
- 将 < this_node_ip> 替换为这个节点的集群 IP 地址。
- 2 3
- 将 < this_node_cert_nickname> 替换为步骤 1 中的节点证书别名。
- 4
- 将 <other_node_ip> 替换为其他节点的集群 IP 地址。
- 5
- 将 <other_node_cert_full_subject> 替换为以上节点的证书主题。例如:"O=system:nodes,CN=openshift-node-45.example.com".
- 6
- 如果不使用 NAT,则必须在配置中包含
encapsulation=yes
来强制封装。Amazon 和 Azure 内部云网络没有路由 IPsecESP
或AH
数据包。这些数据包必须封装在UDP
中,如果配置了,则 NAT 检测会在UDP
封装中配置ESP
。如果使用 NAT 或您没有在 Network/Cloud-Provider 的限制下,如前所述,请省略此参数和值。
将以下内容放在每个节点的 /etc/ipsec.d/openshift-cluster.secrets 文件中:
: RSA "<this_node_cert_nickname>" 1
- 1
- 将 < this_node_cert_nickname> 替换为步骤 1 中的节点证书别名。