この文書では、オープン仮想ネットワーク(OVN)のIPsec暗号化トンネルトラフィックの使用を記述するステップバイステップガイドを提供します。物理的ルータおよびスイッチによって送信OVNトンネルトラフィック。これらの物理デバイスは、信頼されなくてもよい(公衆ネットワーク内のデバイス)または損なわれ得ます。監視し、操作するためのデータの流れを遮断することができますIPSecトンネルトラフィックの暗号化を有効にします。OVN IPsecのデザインの詳細については、以下を参照してくださいovn-architecture
(7)のmanページを。
この文書では、OVNがシステム上で、適切に機能してインストールを前提としています。また、あなたが(参照:ボックスのIPsecソフトウェアパッケージOVS各マシンにインストールする必要がありますinstall-ovs-ipsec
)。
証明書と鍵を生成します
あなたは、認証のためにCA署名付き証明書ピアボックスを使用してIPSecトンネル、OVNシャーシを作成する場合。役割ベースのアクセス制御(RBAC)はOVNで有効になっている場合は、OVN IPsecを設定するには、RBACのSSL証明書とキーを使用することができます。それとも、使用することができovs-pki
、個々の証明書と鍵を(参照:生成しますgen certs keys
)。
注意:
OVN IPsecは、X.509バージョン3証明書のフォーマットを必要とし、DNSのsubjectAltNameは、同じ文字列を使用する共通名(CN)フィールドをフィールド。CNは、シャーシ名に設定する必要があります。オープンvSwitchのバージョン2.10.90以降ではovs-pki
、このような証明書を生成することができます。あなたが他のツールやPKIの古いバージョンを使用している場合はovs-pki
、証明書の生成互換性のあることを確認してください。
OVN IPSecの設定
あなたは、各マシンのフレーム、シャーシ証明書と秘密鍵のCA証明書をインストールする必要があります。次のコマンドを使用します。
$ ovs-vsctl set Open_vSwitch . \
other_config:certificate=/path/to/chassis-cert.pem \
other_config:private_key=/path/to/chassis-privkey.pem \
other_config:ca_cert=/path/to/cacert.pem
OVN IPsecを有効にします
OVN IPSecを有効にするには、データベースに北設定NB_Global
テーブルipsec
真のように:
$ ovn-nbctl set nb_global . ipsec=true
OVN IPSecが有効になった後、OVN内のすべてのトンネルトラフィックは、IPSec暗号化を使用します。障害者、データベースに北設定NB_Global
テーブルipsec
偽のように:
$ ovn-nbctl set nb_global . ipsec=false
トラブルシューティング
各棚上のデーモンovs-monitor-ipsec
管理及びステータス監視IPSecトンネル。以下の使用ovs-appctl
を表示するためのコマンドをovs-monitor-ipsec
設定する過程を示すために、トンネルの内部を:
$ ovs-appctl -t ovs-monitor-ipsec tunnels/show
あなたが適切に設定されていない場合、ovs-appctl
それは、次のような理由が、表示される必要があります。
Interface name: ovn-host_2-0 v1 (CONFIGURED) <--- 应设置为 CONFIGURED. 否则, 将显示错误信息
Tunnel Type: geneve
Remote IP: 2.2.2.2
SKB mark: None
Local cert: /path/to/chassis-cert.pem
Local name: host_1
Local key: /path/to/chassis-privkey.pem
Remote cert: None
Remote name: host_2
CA cert: /path/to/cacert.pem
PSK: None
Ofport: 2 <--- ovs-vswitchd进程是否分配了Ofport数字到此Tunnel Port
CFM state: Disabled <--- CFM表明此隧道是否健康
Kernel policies installed:
... <--- Strongswan安装到Linux Kernel中的OVS隧道使用的IPsec策略
Kernel security associations installed:
... <--- Strongswan安装到Linux Kernel中的OVS隧道相关的IPsec安全关联security associations
IPsec connections that are active:
... <--- IPsec "connections" for this OVS tunnel
上記は、任意のアクティブな接続が表示されない場合は、コマンドリフレッシュしてみてくださいovs-monitor-ipsec
プロセスを:
$ ovs-appctl -t ovs-monitor-ipsec refresh
また、チェックすることができovs-monitor-ipsec
、問題を見つけるために、ログ情報のプロセスとIKEプロセスを。ovs-monitor-ipsec
情報がログファイルに書き込まれます/var/log/openvswitch/ovs-monitor-ipsec.log
。