PacketiX VPN 2.0 マニュアル 第3章 PacketiX VPN Server 2.0 マニュアル 3.2 動作モード

 

< 3.1 動作環境3.3 VPN Server 管理>

3.2 動作モード

ユーザーは PacketiX VPN Server を 2 種類のモードで動作させることができます。

 

3.2.1 サービスモード

「サービスモード」は通常の動作モードです。PacketiX VPN Server をサービスモードでインストールし動作させると、PacketiX VPN Server はオペレーティングシステムの一部としてバックグラウンドで動作するようになり、オペレーティングシステムの起動時にユーザーがログオンする前に起動して VPN サーバーとして VPN セッションの接続を待機する状態になります。また、オペレーティングシステムがシャットダウンする際に自動的にシャットダウン処理が行われます。

ここで「サービス」と呼ぶ用語は Windows や一部の UNIX 系オペレーティングシステムにおいて「バックグラウンドシステムサービス」という意味を指しており、他のオペレーティングシステムでは「デーモン」と呼ぶ場合もあります。

サービスモードで VPN Server が動作している場合、その動作は現在オペレーティングシステムにログオンしているユーザーに依存されません。したがって、多くの場合はサービスモードとして VPN Server を稼動させることを推奨します。

また、サービスモードで VPN Server を使用する場合、一般的に VPN Server のプロセス (vpnserver という実行可能ファイル名です) はシステム権限または root 権限で動作します。

サービスモードとして VPN Server をインストールする方法は、Windows 版と他の UNIX 版で異なります。

  • Windows 版 PacketiX VPN Server をインストーラからインストールすると、サービスモードとしてインストールされ自動的にバックグラウンドサービスとして動作が開始されます。詳しくは、「7.2 Windows へのインストールと初期設定」 をお読みください。
  • Linux 版およびその他の UNIX 版 PacketiX VPN Server をサービスモードとしてインストールするには、システムにデーモンプロセスとして登録する必要があります。詳しくは、「7.3 Linux へのインストールと初期設定」 をお読みください。

サービスモードは下記のような場合には使用できません。このような場合は、ユーザーモードで VPN Server を使用してください。

  • PacketiX VPN Server を動作させたいシステムのシステム管理者権限を持っていない場合。
  • PacketiX VPN Server を継続的ではなく一時的にインストールして使用したい場合。
  • セキュリティ上の理由により、一般ユーザー権限で PacketiX VPN Server を起動したい場合。

Windows 版 PacketiX VPN Server のサービスモードに関する説明事項

Windows 版の VPN Server をサービスモードでインストールするには、インストーラから VPN Server をインストールすることを推奨いたします。この場合は、特別な操作を行うことなく自動的に VPN Server がサービスとして起動し、動作を開始します。その後システムを再起動しても、システム起動時に自動的に VPN Server の動作が開始されます。VPN Server はバックグラウンドタスクとして起動するので、VPN Server をインストールしたコンピュータを他の目的で操作する場合でも VPN Server がインストールされていることは意識する必要はありません。

また、Windows 版 PacketiX VPN Server の実行可能ファイル (vpnserver.exe) にコマンドライン引数を付けることによって、PacketiX VPN Server サービスを開始 / 停止したり、また Windows システムのサービス一覧から PacketiX VPN Server サービスを削除したり、登録しなおしたりすることが可能です。

PacketiX VPN Server サービスが Windows システムに登録される短いサービス名は「vpnserver」です。長いサービス名は、「PacketiX VPN Server」です。

現在 Windows システムに PacketiX VPN Server サービスがインストールされていない場合、vpnserver.exe をサービスとして登録するには、コマンドプロンプトなどから下記のように入力して vpnserver.exe を実行します (システム管理者権限が必要です)。

> vpnserver /install

すでに Windows システムに PacketiX VPN Server サービスがインストールされており、これを削除したい場合は、コマンドプロンプトなどから下記のように入力して vpnserver.exe を実行します (システム管理者権限が必要です)。

> vpnserver /uninstall

また、vpnserver に /start または /stop という引数を付けることによって、サービスを開始または停止することができます。その他 vpnserver プログラムに指定することができる引数については、vpnserver.exe を直接実行したときに表示されるメッセージボックスの内容を参照してください。

また、サービスの開始と停止は Windows の [コントロールパネル] の [管理ツール] にある [サービス] 一覧 (Windows NT 4.0 の場合は [コントロールパネル] にある [サービス] 一覧) から行うことも可能です。この [サービス] 一覧画面を操作して、PacketiX VPN Server サービスの [スタートアップの種類] を [自動] から [手動] に変更することもできます。[手動] に変更したサービスはシステム起動時に自動的に起動せず、後で管理者権限を持つユーザーがサービスを開始するまで動作しません。

「net」コマンドを用いて、PacketiX VPN Server サービスを開始または停止することも可能です。サービスを開始するには、「net start vpnserver」と入力します。サービスを停止するには、「net stop vpnserver」と入力します。

Windows における「サービス」という概念は、Windows NT 以降のオペレーティングシステムにのみ導入されています。PacketiX VPN Server は Windows のサービスシステムに依存しています。サービスシステムがない古い Windows (Windows 98、Windows 98 Second Edition、Windows Millennium Edition) 上に PacketiX VPN Server をサービスモードでインストールしバックグラウンドタスクとして起動させておくことができるようになっています。この場合、PacketiX VPN Server はこれらの古いオペレーティングシステム上で、Windows NT 以降のサービスシステムをエミュレーションしています。ただし、この場合はユーザーがログオフする際にプロセスが終了する場合があるなど、いくつかの制限事項があります。
クリックするとこの画像を拡大して表示できます。

図3-2-1 サービスとして登録された PacketiX VPN Server

UNIX 版 PacketiX VPN Server のサービスモードに関する説明事項

Linux を含む UNIX 版の VPN Server をサービスモードでインストールおよび起動する方法については、「7.3 Linux へのインストールと初期設定」 をお読みください。

 

3.2.2 ユーザーモード

「ユーザーモード」は特殊な動作モードです。PacketiX VPN Server をユーザーモードで動作させると、PacketiX VPN Server はユーザーのプロセスとしてバックグラウンドで動作するようになります。ユーザーモードで PacketiX VPN Server を動作させるには、起動する都度、そのユーザーとしてシステムにログオンして、vpnserver 実行可能ファイルを起動する必要があります。また、オペレーティングシステムによって下記のように動作が異なります。

  • Windows オペレーティングシステムでは、ユーザーモードで起動した VPN Server プロセスはそのユーザーがログオンしている状態でのみバックグラウンドで稼動し続けますが、ユーザーがログオフすると同時にプロセスは終了します。
  • UNIX 系オペレーティングシステムでは、ユーザーモードが起動した VPN Server プロセスはその時点で子プロセスを生成しそれをバックグラウンドプロセス化し、ユーザーのセッションから切り離すことができます。したがって、ユーザーがログアウトした場合でもシステム上に VPN Server のプロセスは残り、システムがシャットダウンしたり再起動されるまで VPN Server プロセスはバックグラウンドで稼動し続けます。

Windows 版 PacketiX VPN Server のユーザーモードに関する説明事項

Windows 版の VPN Server をユーザーモードで起動するには、vpnserver.exe 実行可能ファイルに /usermode オプションを付けて起動します。

> vpnserver /usermode

起動が完了するとタスクトレイ上にアイコンが表示され、VPN Server がユーザーモードで起動したことになります。このモードでは VPN Server のプログラムは他のユーザーモードで動作するアプリケーションプログラム (Word や電卓など) と同じような、一般のユーザー権限で実行することができるプログラムとして動作していることになります。したがって、ユーザーモードで VPN Server を起動するためにシステム管理者権限などは一切不要です。ただし、ユーザーがログオフすると同時に VPN Server プロセスも終了してしまいます。頻繁に VPN Server をユーザーモードで起動するためには、上記の /usermode オプションを付けたコマンドラインをショートカットファイルとしてデスクトップまたは [スタートアップ] フォルダに設置しておくことを推奨します。

図3-2-2 ユーザーモードで起動した PacketiX VPN Server

また、一度起動したユーザーモードのプロセスを終了するには、タスクトレイのアイコンを右クリックして [PacketiX VPN Server の終了] をクリックします。

さらに [タスクトレイアイコンを非表示にする] をクリックすると、タスクトレイにアイコンが表示されなくなります。この機能は、常時ユーザーモードで VPN Server を起動していてアイコンが邪魔な場合に使用してください。ただし、タスクトレイアイコンを非表示にした場合はメニューから VPN Server を終了することができなくなります。そのような場合は、Ctrl + Alt + Del キーを押してタスクマネージャを開き、vpnserver.exe プロセスを終了してください。なお、vpnserver.exe を次回ユーザーモードで起動する際に /usermode_showtray オプションを付けることで、タスクトレイのアイコンを復活させることが可能です。

図3-2-3 タスクトレイアイコンの非表示メニュー

大変便利なことに、Windows オペレーティングシステムでは一般ユーザー権限で動作するプロセスに対してすべての TCP/IP ポートを待機状態にして使用することが許可されています。したがって、PacketiX VPN Server を使用する場合にシステム管理者権限を使用してシステムサービスとして登録し動作させずに、あえて一般ユーザー権限でユーザーモードとして動作させておくことにより、セキュリティを強化することができる場合があります。ただし、ユーザーモードで PacketiX VPN Server を起動している場合はローカルブリッジ機能が使用できない場合があります。

UNIX 版 PacketiX VPN Server のユーザーモードに関する説明事項

Linux を含む UNIX 版の VPN Server をユーザーモードで起動するには、vpnserver 実行可能ファイルをシステムにデーモンとして登録せずに、通常のアプリケーションコマンド (ls や cat など) を起動するのと同様にコマンドラインから下記のように start 引数を付けて vpnserver を起動します。

$ ./vpnserver start
PacketiX VPN Server Service Started.
$ 

「PacketiX VPN Server Service Started.」というメッセージが出力された後に制御がシェルに戻れば、ユーザーモードで正しく VPN Server を起動することができたことを意味します。なお、一度起動した VPN Server を終了するには、次のように stop 引数を付けて vpnserver を起動します。

$ ./vpnserver stop
PacketiX VPN Server Service Stopped.
$ 

VPN Server を UNIX 上でユーザーモードで起動した場合は、そのユーザーの権限でプロセスが動作し、バックグラウンドプロセス化します。したがって、そのユーザーがログアウトしたり、SSH 接続を切断したりした場合でも vpnserver プロセスは依然として動作し続けます。プロセスの動作は、システムが再起動したり、root によってそのプロセスが強制終了されてしまうまで続きます。

なお 「7.3 Linux へのインストールと初期設定」 でも解説されていますが、UNIX 系オペレーティングシステムでは vpnserver プロセスをデーモン化して使用する場合は、オペレーティングシステムのスタートアップスクリプトに単純に vpnserver start の呼び出しを行わせるように指示するよう登録するだけですので、もしサービスモードとして VPN Server を稼動させる場合でも、ここでの手順と同等のことが root 権限を持つシステムによって自動的に行われるだけに過ぎませんので、本質的な違いはほとんどありません。したがってデーモン化した VPN Server においても、下記で説明する事項は一般的に当てはまります。

UNIX 版 VPN Server では下記のように vpnserver プロセスは 2 段階に分けて起動しています。まず execsvc と書かれた 1 個目のプロセスがバッグラウンドプロセスとして起動し、次にそのプロセスが個プロセスを fork() システムコールによって生成し、子プロセスが実際の VPN 処理を行います。親プロセス (下記の例ではプロセス ID が 1549) は子プロセス (下記の例ではプロセス ID が 1550) を常に監視し、万一異常なエラーが発生した場合は直ちにプロセスを終了してからもう一度プロセスを起動し回復を試みます (詳しくは 「3.3.12 障害回復」 をお読みください)。なお下記の例は Linux の特定のシステムでの実行例であり、別の Linux や他のオペレーティングシステムでは表示が異なる場合があります。また Linux カーネルの古いバージョン (ネイティブスレッドに対応していないバージョン) では、複数のスレッドを複数のプロセスとして表示するため、実際には vpnserver プロセスが下記よりも多く生成されている場合がありますが、それは表示上の問題であり正常な動作です。

$ ps auxf
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
neko      1549  0.0  0.8  5188  560 ?        S<   Nov24   0:00 /tmp/vpnserver execsvc
neko      1550  0.0  4.0 11888 2520 ?        S<   Nov24   0:08  \_ /tmp/vpnserver execsvc

滅多に発生することではありませんが、ハードウェアの故障 (たとえばメモリの不良) などの何らかの原因によってユーザーモードで起動した VPN Server プロセスが暴走してしまい、vpnserver /stop で停止できなくなってしまった場合は、まず親プロセスである vpnserver プロセス (上記の例ではプロセス ID が 1549) を kill -KILL でシグナルを送信することによって強制終了し、次に残りのプロセス (上記の例ではプロセス ID 1550) を kill -KILL でシグナルを送信することによって強制終了してください。子プロセスを先に強制終了すると、親プロセスは子プロセスが異常終了したと判断しもう一度子プロセスを起動する場合があります。システムによっては、killall -KILL vpnserver によってすべての vpnserver プロセスを同時に終了することができる場合もあります。

また、vpnserver プロセスは TERM シグナル (通常の終了要求シグナル) を受信すると正常終了処理を行います。

UNIX 系オペレーティングシステムでは一般ユーザー権限で動作するプロセスに対して 、1024 番以下の TCP/IP ポートを待機状態にして使用することが許可されていません。したがって、PacketiX VPN Server を使用する場合にシステム管理者権限を使用してシステムサービスとして登録し動作させずに一般ユーザー権限でユーザーモードとして動作させ た場合は、1024 番以下の TCP/IP リスナーポートを開くことができません。PacketiX VPN Server ではデフォルトでは 443 番、992 番、8888 番の 3 つのポートをリスナーポートとして開くように試みますが、これをユーザーモードを動作させると 8888 番のポートのみがリッスン状態となりますのでご注意ください。また、ユーザーモードで PacketiX VPN Server を起動している場合はローカルブリッジ機能が使用できない場合があります。

 

 

< 3.1 動作環境3.3 VPN Server 管理>

PacketiX VPN 2.0 Manual Version 2.10.5070.01
Copyright © 2004-2005 SoftEther Corporation. All Rights Reserved.
 www.softether.com | サポート情報 | 使用条件