Linux で AWS Client VPN が起動しない?ランタイムを合わせる
共有ライブラリを名指す起動失敗は、プロファイルではなくランタイムの組み合わせの問題です。パッケージを導入する前に、対応するクライアントと OS を確認してください。
Ubuntu に AWS Client VPN パッケージを入れて実行したところ、どのプロファイルも読まれる前に、共有ライブラリが見つからないというローダーのエラーが出ました。古いリリースからそのライブラリを持ってきて押し切ろうとするのが最初の反応です。しかし大抵の場合、壊れた依存関係が一つ、自分のパッケージデータベースと合わなくなったシステムに置き換わるだけです。起動失敗はネットワークではなく、サポート境界の話です。
エラーが名指すのはライブラリであり、ネットワークではない
デスクトップ VPN クライアントは、プロファイルやエンドポイントを見る前に自分のランタイムを読み込まなければなりません。動的ローダーがシンボルを解決できないと、プロセスは最初の一秒で終了し、ウィンドウは決して現れません。プロファイルの編集や DNS の作業、ルートの変更をどれだけ重ねても、その段階には届きません。メッセージを文字どおりに読んでください。ローダーがどのオブジェクトを欲しがっていたかを正確に示しています。
二つの故障の系統を分けるのも同じ考え方です。共有オブジェクトの欠落はホスト側のパッケージングの問題であり、認証の拒否はサービス側の判断で、手順のずっと後で届きます。
どちらもウィンドウが閉じて終わるため、バグ報告では混同されます。
グローバリゼーションのスイッチは別の問題
ICU やグローバリゼーションに触れるエラーは、一部のクライアントビルドの下にある .NET ランタイムから出るもので、TLS スタックからではありません。不変グローバリゼーションのスイッチを設定すると、そのランタイムがカルチャデータを扱う方法が変わりますが、欠けた libssl が供給されるわけではありません。TLS のエラーを黙らせるためにこれを当てると、起動はするものの別の場所で失敗するクライアントが残ります。
二つは別の箱に分けてください。一方はランタイムの振る舞いを変え、他方はリンカを満たします。後者を抱えているのに前者に手を伸ばすのは、手放す価値のある習慣です。
ホストが必要なランタイムを本当に供給できないなら、支持される答えは改造したホストではなく、別のホストです。
古い OpenSSL の持ち込みが裏目に出る理由
古いディストリビューションから libssl と libcrypto を /usr/lib にコピーすると、たいていはうまくいってしまうので誘惑されます。同時に、そのライブラリをパッケージマネージャの管理外に置くため、その後のセキュリティ更新はそれを避けるか衝突するかのどちらかになります。ブラウザや SSH クライアントも動かしているホストでは、望んでもいないプログラムの暗号スタックを変えてしまっています。
支持される道は、文書化されたパッケージ源と、お使いの OS リリースとアーキテクチャに正確に対応する依存解決です。AWS の Linux クライアント要件と、導入するバージョンのリリースノートを確認してください。サポートの対応表はリリースごとに動きます。
古いフォーラムの回避策は一組のリリースの切り取りであり、互換性の保証ではありません。
ベンダーのサービス定義を保つ
パッケージ付属のユニットを置き換えるために、最小限の systemd ユニットを渡してくるガイドもあります。そうしたユニットは、ベンダーが後から加えた引数、堅牢化の設定、統合を落としがちで、結果として生じる故障は、その編集と結びつかない場所に現れます。
変更が必要なら、代わりに drop-in を使ってください。ユニットの .d ディレクトリに置く小さな上書きファイルで、一つのディレクティブを追加または置換し、なぜ存在するのか、どう戻すのかをコメントに書きます。ベンダーのファイルはそのまま残り、次のパッケージ更新があなたの作業を黙って打ち消すことも、二重に適用することもありません。
上書きのパスをメモに書いておいてください。次の管理者はまずそこを見ます。
ルートを調べる前に起動を証明する
承認済みのプロファイルでクライアントが確実に起動するようにし、次にサインインし、次にトンネルを確認し、そのうえで初めてルート、DNS、プライベートリソースを見ます。各段階はそれぞれの証拠を生み、混ぜるとランタイムの問題がルーティングの問題に見えてしまいます。ベンダーのサポートが必要なら、閉じていくウィンドウの画面写真ではなく、最初の有用な起動イベントを記録してください。
秘密鍵や、認証情報を埋め込んだ完全なプロファイルを、診断資料として添付してはいけません。
一つの問いがこうしたチケットの大半を解決します。導入したクライアントのバージョンは、この OS リリースでまだ支持されているか。そうでなければ、必要なのは支持された組み合わせであり、さらなるライブラリ探しではありません。