35.2.2. 创建 libreswan IPsec 策略
确保将必要的证书导入到 libreswan 证书数据库后,创建一个策略来使用它们来保护集群中的不同主机之间的通信。
如果您使用 libreswan 3.19 或更高版本,则建议使用 opportunistic 组配置。否则,需要明确的连接。
35.2.2.1. 配置 opportunistic 组
以下配置创建两个 libreswan 连接。第一个使用 OpenShift Container Platform 证书加密流量,第二个则使用 cluster-external 流量创建异常。
将以下内容放在 /etc/ipsec.d/openshift-cluster.conf 文件中:
conn private left=%defaultroute leftid=%fromcert # our certificate leftcert="NSS Certificate DB:<cert_nickname>" 1 right=%opportunisticgroup rightid=%fromcert # their certificate transmitted via IKE rightca=%same ikev2=insist authby=rsasig failureshunt=drop negotiationshunt=hold auto=ondemand encapsulation=yes 2 conn clear left=%defaultroute right=%group authby=never type=passthrough auto=route priority=100
告诉 libreswan 使用 /etc/ipsec.d/policies/ 中的策略文件应用每个策略,其中每个配置的连接都有对应的策略文件。因此,在上面的示例中,两个连接是
私有
和清除
的,每个连接在 /etc/ipsec.d/policies/ 中都有一个文件。/etc/ipsec.d/policies/private 必须包含集群的 IP 子网,主机从中接收 IP 地址。默认情况下,如果远程主机的客户端证书针对本地主机的证书颁发机构证书进行身份验证,则会导致集群子网中主机间的所有通信都会被加密。如果远程主机的证书没有身份验证,则这两个主机间的所有流量都会被阻断。
例如,如果所有主机都配置为使用
172.16.0.0/16
地址空间中的地址,您的私有
策略文件将包含172.16.0.0/16
。要加密的任何其他子网数量可能添加到该文件中,这样会导致使用 IPsec 对这些子网的所有流量。在所有主机和子网网关之间取消加密通信,以确保流量进入并退出集群。在 /etc/ipsec.d/policies/clear 文件中添加网关:
172.16.0.1/32
可以在此文件中添加其他主机和子网,这将导致对这些主机和子网的所有流量都未加密。