クライアントが ncp-disable を名指しするオプションエラーで起動を拒否していますが、プロファイルは以前のマシンで動作していました。このメッセージは、オプションの綴りが間違っているとか暗号化が壊れているという意味ではありません。目の前のバイナリがそのディレクティブをまったく知らないという意味で、それには大きく二つの理由があります。どちらに当たるかで、プロファイルを編集するのかクライアントを変えるのかが決まります。

エラーは新しいバイナリから来ることもある

未知のオプションのエラーはトンネルではなくパーサーの問題です。OpenVPN 2.4 はネゴシエート可能な暗号パラメータを追加し、2.5 はそれらを無効にするスイッチを非推奨とし、2.6 は完全に削除しました。そのため 2.3 や 2.4 向けに書かれたプロファイルは、ファイル内に何も変更がなくても現在のクライアントでは失敗します。不満を言っているのは新しいバージョンであり、古いバージョンではありません。

何かを編集する前に、どの実行ファイルがメッセージを出したかを突き止めます。デスクトップクライアントは独自のエンジンを同梱し、別途インストールしたコマンドラインバイナリは独自のバージョンを持ちます。同じマシン上でも両者は食い違うことがあります。

openvpn --version はテスト中のバイナリについてこれを確定します。GUI クライアントがこのコマンドを公開していない場合は、その情報画面や同梱ライブラリのバージョンを読みます。

オプションが実際に制御していたもの

このディレクティブは暗号パラメータのネゴシエーションを無効にしていたため、両端は cipher 設定に導かれる古い選択動作に戻っていました。暗号化を無効にしたことはなく、トンネルを平文に変えたこともありません。これをセキュリティスイッチと読むのが最初の誤りで、接続を改善するどころか悪化させる変更につながります。

ネゴシエーションが存在する場合、同等の問いは各側がどの暗号を使う用意があるかです。これはポリシーの問題であり、ポリシーは 2.5 以降の data-ciphers にあります。

古い名前 ncp-ciphers は 2.4 のものです。二つの名前をピア間で混在させるのは、片方向のネゴシエーション失敗のよくある原因です。両方を持つプロファイルは、二人が別の時期に編集したプロファイルです。

綴りではなくポリシーを置き換える

両ピアに意図した共通の選択で data-ciphers を設定し、レビュー担当が筋道立てて考えられる長さにリストを保ちます。任意の一行を変えても何も証明されません;結果は両方のリストの共通部分と、TLS スタックが何をサポートするかに依存します。設定ではなくネゴシエートされた結果を読んで、ピアが一致していることを確認します。その後、両方のリストを配備記録に書き、次の変更が既知の状態から始まるようにします。

プロファイルはその所有者を通じて更新します。廃止されたディレクティブを隠すために無視オプションを追加しても、ポリシーの問いは未回答のままです。

古いピアが本当に互換性の処理を必要とするなら、その配備に限定します。廃止された動作を全体で復元することは、現代のピアを接続する前提条件ではありません。例外は、それが存在するピアを名指しするべきです。

暗号リストに見えてそうではない二行

暗号行を二つ重ねてもネゴシエーションは復元されず、結果はリストに見えて単一の値として振る舞うプロファイルです。一行が AES-256-CBC を、次の行が CBC を名指しするのはよくある試みです。CBC 単独ではアルゴリズムではなくモードを指すため、パーサーはある箇所で受け入れ、次の箇所で拒否することがあります。繰り返された cipher ディレクティブは候補を積み上げるのではなく、同じオプションを二度設定します。

別ブランチ向けに書かれたガイドからリストをコピーするのではなく、対象バイナリで openvpn --show-ciphers を使って受け入れられる名前を確認します。リストはリリース間で変わります。一方のブランチで有効な名前が、もう一方でも有効とは限りません。

目的が性能比較なら、アルゴリズムと作業負荷を記録します。CBC に切り替えることは、暗号化がないことの測定ではありません。

接続が実際に何をネゴシエートしたか確認する

新しい接続を確立し、ログのデータチャネルの行を読みます(そこには使用中の暗号が示されています)。制御チャネルのスイートは別に決まるため、ファイル内の許可リストは提示された内容しか示しません。二人のピアが予想外のものを選んだとき、見るべきはトンネルインターフェースではなくリストです。変更後は、一度の再起動でキャッシュされたセッションが再利用されることがあるため、二つ目の接続で結果を確認します。

ネゴシエートされた結果を、プロファイルのバージョンの隣に配備記録として残します。どの暗号が実際にトラフィックを守っているかという次の問いに答えるのは、この事実です。

関連記事