35.2. ホストの暗号化
前提条件
- libreswan 3.15 以降がクラスターホストにインストールされていることを確認します。便宜的なグループ (opportunistic group) 機能が必要な場合は、libreswan バージョン 3.19 以降が必要になります。
このトピックでは、
62
バイトを必要とする IPSec 設定について説明します。クラスターが最大伝送単位 (MTU) 値1500
バイトを持つイーサネットネットワーク上で動作している場合、IPsec および SDN のカプセル化のオーバーヘッドに対応するために SDN MTU 値は1388
バイトに変更する必要があります。クラスター内のノードの MTU を変更するには、以下の手順を実施します。node-config-master
、node-config-infra
、node-config-compute
の各 ConfigMap を編集します。以下のコマンドを実行して 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
に設定されています。
以下のコマンドを実行して、マスターノードで 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