Revision 4 as of 2010-05-01 04:49:12

Clear message
Locked History Actions

OpenVPN

OpenVPN

OpenVPNはオープンソースのVPNソフトであり、本家はhttp://openvpn.net/にある。 (おそらく)2.1より有料のAccess Serverというものが提供されている。オープンソース版とAccess Serverの違いは以下であると思われる。

  • メニューの「Community Software」からダウンロードできる。もちろんソース付で、無料で無制限の利用が可能。
  • 「Access Server Downloads」などからダウンロードできる。ソースはついていない。Free Licenseを取得することにより、クライアント2つまでは同時接続できる。それ以上は、クライアント一つについて5ドル必要。

Access Serverの良い点としては、

  • サーバ設定をウェブによって行うことができる。設定内容はややこしいので簡単ではないが、少なくともオープンソース版で設定ファイルを記述するよりは楽。
  • Windows用GUIクライアントをダウンロードすることができる。同ウェブから接続設定済みのGUIクライアントをダウンロードすることができるので、これをインストールすれば設定不要でただちに接続することができる。

Linuxをクライアントとして使う場合には、相変わらずLinux用のパッケージをインストールし、設定ファイルを指定しなければならないのだが、これも以前に比べて簡略化されている。

対象とする環境

ここでは、Access Serverを使って、以下のような環境を作成することを目的とする。

  • ルータの内側のLAN内にある一つのサーバ(CentOS)に、インターネット上のWindowsマシンからアクセスする。
  • クライアントとするWindowsマシンは同時に二つまでとする。したがって、料金はかからない。
  • ルータの内側のLAN内にあるサーバ以外のマシンにはアクセスできなくてもよい。また、二つのクライアントの間で相互にアクセスできる必要はない。OpenVPNにはこのようなオプション設定があるが、ほとんどの場合は不要である。ともあれ、外にあるWindowsマシンからサーバにアクセスできればよい。
  • 認証はPAMとするので、あらかじめLinuxサーバ側にアクセスを行うユーザを登録し、そのパスワードを設定しておく必要がある。Access Serverには他にLDAPやRADIUSをサポートしているが、とりあえず最も簡単な方法を選択する。
  • VPNサーバのプロトコルはTCPとし、UDPは使わない。UDPの方が転送効率が良いらしいが、どうしてもUDPで接続することができなかったため。
  • 設定用のウェブUIは設定時のみに外からアクセスできるようにし、クライアントが接続できることを確認したらつぶしておく。

「Windowsクライアントからサーバへのアクセス」が何を意味するかと言えば、これはインターネットを介しているにも関わらず、あたかも同じLAN上にクライアントとサーバマシンが存在しているかのようにアクセスが可能ということになる。

ダウンロード

http://openvpn.net/に行って、ユーザ登録し、Access Serverをダウンロードする。CentOSの場合には4と5にそれぞれ32ビット・64ビットの選択肢がある。

さらに、License KeyにてFree Licenseを取得しておく、これはハイフンで区切られた12桁の文字列で、Access Serverに入力するとActivateするようである。「Get Another Free License Key」でいくつでも作成することができるが、これは複数のサーバを作成したい場合にのみ意味がある。一つのサーバに複数のFree Licenseを入力しても最大で2クライアントしか扱うことはできない。

サーバのインストール

Access Serverのダウンロードページに「System Administrator Guide」というPDFが用意されているし、「Installation Overview」と「QuickStart Guide」というメニューからも簡単なインストール方法と設定手順が記述されている。

要するにダウンロードしたrpmをインストールし、/usr/local/openvpn_as/bin/ovpn-initというスクリプトを実行して、初期設定を行うということである。ここで初期設定した内容によって、設定とクライアントプログラムダウンロードを行うウェブアプリにアクセスすることができる。

初期設定の内容は、このウェブアプリにて後から変更することができるのだが、しかし設定を行った後でダウンロードしたクライアントプログラムは設定変更すると動作しなくなる点には注意する。

初期設定

/usr/local/openvpn_as/bin/ovpn-initスクリプトを実行すると、数々の質問がされるのでそれに答える。