Menu Close

Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

35.2.2. 创建 libreswan IPsec 策略

确保必要的证书导入到 libreswan 证书数据库中后,创建一个策略,使用它们来保护集群中的主机之间的通信。

如果您使用 libreswan 3.19 或更高版本,则建议使用 opportunistic 组配置。否则,需要显式连接。

35.2.2.1. 配置 Opportunistic 组

以下配置创建了两个 libreswan 连接。第一个使用 OpenShift Container Platform 证书加密流量,第二个则为集群外部流量的加密创建例外。

  1. 将以下内容放在 /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
    1
    将 <cert_nickname> 替换为第 1 步中的证书 nickname。
    2
    如果不使用 NAT,您必须在配置中包含 封装=yes,以强制封装。AmazonAzure 内部云网络不会路由 IPsec ESPAH 数据包。这些数据包必须封装在 UDP 中,如果配置了这些数据包,NAT 检测将在 UDP 封装中配置 ESP。如果您使用 NAT,或者您不在如前所述的 Network/Cloud-Provider 限制下,请省略此参数和值。
  2. 使用 /etc/ipsec.d/policies/ 中的策略文件告诉 libreswan 要应用每个策略的 IP 子网和主机,其中每个配置的连接都有对应的策略文件。因此,在上面的示例中,两个连接(private clear/etc/ipsec.d/policies/ 中都有一个文件。

    /etc/ipsec.d/policies/private 必须包含您的集群的 IP 子网,您的主机从该子网接收 IP 地址。默认情况下,如果远程主机的客户端证书根据本地主机的证书颁发机构证书进行身份验证,这会导致对集群子网中主机之间的所有通信进行加密。如果远程主机的证书没有进行身份验证,则两个主机之间的所有流量都将被阻止。

    例如,如果所有主机都配置为使用 172.16.0.0/16 地址空间中的地址,您的 专用 策略文件将包含 172.16.0.0/16。要加密的任何额外子网都可以添加到此文件中,这将导致所有流量都使用 IPsec 到这些子网。

  3. 取消加密所有主机和子网网关之间的通信,以确保流量能够进入并退出集群。将网关添加到 /etc/ipsec.d/policies/clear 文件中:

    172.16.0.1/32

    可以将其他主机和子网添加到此文件中,这将导致指向这些主机和子网的所有流量都未加密。