OpenVPNゲートウェイ専用のマシンには、サポートされたサーバーインストールと、実際に担う作業のためのソフトウェアが必要です。SSH、ウェブホスティング、その他のサーバーロールを並べるインストーラーのメニューは、OpenVPNの前提条件の一覧ではありません。ヘッドレスな配備はまったく妥当です。重要なのは三つの作業、すなわちトンネルを運ぶこと、ホストを管理すること、資格情報を発行することを分けることです。

以下は私が使っている棚卸しの順序で、各手順を締めくくる確認も添えます。

1. トンネルサービスに独自のパッケージとプロファイルを与える

UbuntuのOpenVPNサーバーガイドは、ディストリビューションのopenvpnパッケージをコマンドラインとサービス設定とともに使います。同じパッケージがLinuxクライアントとしても機能し、役割は設定が選びます。

つまり、クライアントGUIをインストールすることがホストをサーバーに変えるわけではなく、それを外すことがヘッドレスにするわけでもありません。実行中のインスタンスがどのプロファイルを読むのかを記録してください、同じディレクトリの二つ目の設定ファイルが誰にも気づかれずに読み込まれることがあり、デーモンはどちらの場合も成功を報告するからです。プロファイルが二つある場合、どちらが勝つかを決めるのはサービスマネージャーであり、その判断は推測ではなくあなたの記録に属します。

2. トンネルより先に管理経路を決める

OpenSSHは別個のopenssh-serverパッケージに由来し、独自のサービスとして動作します。管理者がSSHでマシンに到達すべき場合には有用ですが、OpenVPNはVPNパケットをやり取りするのにSSHサーバーを必要としません。ローカルコンソールや承認されたプラットフォーム管理チャネルも有効な経路です。ルーティングやフィルタリングを変える前に、どちらに頼るかを決めてください、新しいトンネルが自分自身を修復する唯一の未検証の手段になってはならないからです。

3. 承認された所有者から資格情報を発行する

Ubuntuの例はOpenVPNと並べてeasy-rsaを導入し、小さなPKIを構築しますが、これはトンネルサービスの稼働ではなく資格情報の発行という役割です。組織にすでに承認された発行プロセスがあるなら、チュートリアルに含まれているからといって無関係なCAを作るのではなく、それを使ってください。ゲートウェイ自身の秘密鍵と証明書はCAの署名鍵と分けて保ち、署名とバックアップの場所は意図して選んでください。すべてのPKIファイルをすべてのホストに複製することはソフトウェアの要件ではありません。

4. デスクトップのプラグインはデスクトップに任せる

NetworkManagerのエディターやインポートプラグインには、そのワークフローを使うマシンでの目的があります。ゲートウェイがOpenVPNを話すからといって必要な、追加のサーバー機能ではありません。

接続の所有者を一人に決め、同じプロファイルの二つ目のデスクトップ管理コピーを起動しないでください。

5. 実際のクライアントでゲートウェイを認める

パッケージが少ないことは完成したゲートウェイではありません。サーバーには依然として承認されたリスナー、ID、ルート、必要に応じた転送、狭いファイアウォールポリシー、そして意図した戻り経路が必要です。ログがどこに現れ、更新がどう適用されるかを書き留めてください、その二つの答えが後で障害をどう診断するかを決めるからです。

インターネット出口の設計とプライベートネットワークアクセスの設計では転送の要件が異なるので、何かを開く前にどちらを作るのかを決めてください。承認されたクライアントを一つ立ち上げ、トンネルの表示ではなく目的のリソースを確認します。その後、サービスを制御された方法で再起動し、無人での起動経路を確認してください、誰かが見ている間だけ立ち上がるゲートウェイはまだ配備されていないからです。

関連記事