OpenVPN as a Service: Windows10 or 11でOpenVPNをサービスとして起動させる。

By | 2022年4月12日

はじめに

Windows10(及び11)上でセットアップしたOpenVPNはOpenVPNをクライアントとして使用していたため、使用を開始する際にはGUI経由で明示的に起動することを前提とした設定を行っていました。

しかし、ちょっとした事情でWindows10上でOpenVPNをセットアップして、かつそれをサービスとして起動する設定を行う必要が生じたので、サクサクと設定することにしました。

スポンサーリンク

OpenVPNのインストール

まず最初に、OpenVPNをインストールします。

公式のWebサイトのCommunity DownloadsのページからWindows 64-bit MSI installerのファイルをダウンロードしてインストールします(バージョン2.5.6をインストールしています)。

インストールが終わったら、PCを再起動します。

とりあえずGUI

OpenVPNのインストールができたら、以下の手順でOpenVPNのGUIを用いて設定ファイルの設定内容の確認を行います。

  1. OpenVPNサーバ作成時に作成したCA証明書及びTLS認証鍵並びに今回セットアップするOpenVPNクライアント用にEasyrsa3を用いて作成した秘密鍵並びに証明書をGUI用の設定ファイルの置き場(デフォルトの設定では%HOME%\OpenVPN\configの下)に置きます。
  2. OpenVPNクライアント用の設定ファイルを作成します。設定ファイルのサンプルはデフォルトの設定によるインストール先の場合には”c:\Program Files\OpenVPN\sample-config”の下にあります(client.ovpnの方を使います)ので、それを基にして作成します。なお、設定の詳細については(このページの「client.confの設定」の節参照です。
  3. 手順2で作成した設定ファイルの拡張子が”.ovpn”でない場合には、拡張子を”.ovpn”に変更します。
  4. トレイアイコンにあるOpenVPN GUIのアイコンを右クリックすると表示されるポップアップメニューの「接続」をクリックし、OpenVPNサーバへの接続を試みます。ログファイルに以下のメッセージが出力されると、接続成功です。
    2022-04-12 09:08:38 Initialization Sequence Completed

     

サービスとして起動するための設定

設定ファイルに問題がないことが確認できたところで、サービスとして起動するための設定を以下の手順で行います。なお、OpenVPNのインストール先はデフォルトの設定によるインストール先(“c:\Program Files\OpenVPN”)であるものと仮定し、特記しない限りそこからの相対パスで記述しています。また、以下の画面例はWindows11のものですが、Windows10でも同様の手順で設定することができます。

  1. コマンドプロンプトを管理者権限で起動します。
  2. %HOME%\OpenVPN\configの下にあるファイルをOpenVPNのインストール先にある設定ファイル用のディレクトリ(configディレクトリ)にコピーまたは移動します。
  3. 手順2でファイルをコピーした場合には、コピー元のOpenVPNクライアント用の設定ファイルの拡張子を”.ovpn”以外のものに変更しておきます。
  4. サービスの一覧画面(下図)を開き、「OpenVPN Interactive Service」(下図の赤矢印)以外のOpenVPNのサービスがインストールしているか否かを確認します。インストールされている場合には手順7に進みます。
  5. 手順1で起動したコマンドプロンプトで以下のコマンドを実行します。コマンド実行直後に”[SC] CreateService SUCCESS”と表示されると成功です。
    > sc create OpenVPNService binPath= “c:\Program Files\OpenVPN\bin\openvpnserv.exe”

     

  6. サービスの一覧画面(下図)を最新の情報に更新し、「OpenVPNService」というサービス(下図の赤矢印)が追加されたことを確認します。
  7. OpenVPNServiceを右クリックするとポップアップメニューが表示されますので、「プロパティ」(下図の赤矢印)をクリックします。
  8. 「(ローカルコンピュータ)OpenVPNServiceのプロパティ」ウィンドウが表示されますので、「スタートアップの種類」(下図の赤矢印(a))を「自動」に設定し、「開始」ボタン(下図の赤矢印(b))をクリックします。
  9. サービスの開始に成功すると「サービスの状態」の表示(上図の赤矢印(c))が「開始」に切り替わりますので、切り替わったことが確認できたところで、「適用」ボタン(上図の赤矢印(d))をクリック後、「OK」ボタンをクリックします。
  10. 「(ローカルコンピュータ)OpenVPNServiceのプロパティ」ウィンドウが消去され、サービスの一覧画面(下図)の「OpenVPNService」の行の「状態」が「実行中」に「スタートアップの種類」が「自動」となっていることを確認します(下図の赤矢印)。
  11. PCを再起動し、logディレクトリの下に出力されるログファイルの出力内容を確認するなどの方法でOpenVPNサーバとの接続が確立されていることを確認します。
  12. Enjoy!!✨

まとめ

WindowsのPCにOpenSSHのサーバをインストールして、かつOpenVPNをサービスとして起動できるように設定しておくとPCを遠隔操作することができるので、いろいろと捗りそうです。

この記事は以上です。