トップ 製品・サービス 導入事例 パートナー ダウンロード サポート 報道発表 企業情報 お問い合わせ
PacketiX VPN 3.0 マニュアル 第3章 PacketiX VPN Server 3.0 マニュアル 3.2 動作モード

 

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

3.2 動作モード

ユーザーは PacketiX VPN Server を「サービスモード」と「ユーザーモード」という 2 種類のモードで動作させることができます。以下では、それらの 2 種類のモードについて説明します。

 

3.2.1 サービスモード

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

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

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

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

Windows 版 PacketiX VPN Server については、32 bit 版の実行可能ファイル名は "vpnserver.exe" であり、64 bit 版の実行可能ファイル名は "vpnserver_x64.exe" となっています。本マニュアルでの解説は 32 bit 版の使用を前提としていますので、64 bit 版を使用している場合は該当する部分を読み替えてください。

 

サービスモードとして VPN Server をインストールする方法

サービスモードとして 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 版の PacketiX 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 3.0 オンラインマニュアル バージョン 3.00 (再構築中のバージョン、暫定版)
Copyright © 2004-2011 SoftEther Corporation. All Rights Reserved.
 www2.softether.jp | サポート情報 | 使用条件