松島浩道シェア«1234567»OpenVPNを使って遠隔地にあるPCを仮想ネットワークで接続するServersMan@VPSでは、4月のアップデートによりtunデバイスが利用可能となった。tunデバイスはVPNなどに利用される仮想ネットワークデバイスであり、これによりServersMan@VPSを経由して異なるネットワーク間を接続できるようになる。Network)は、VPNサーバー/クライアント間を仮想的な専用通信回線で接続する技術だ。VPNサーバー/クライアント間で通信パケットを暗号化し、カプセル化・トンネリングしてやり取りすることで、サーバー/クライアント間の通信を秘匿する。通信自体はインターネットやIP網などの公衆/共有回線を経由して行われるが、これによりあたかも専用線でVPNサーバー/クライアント間を直接接続したかのようなネットワーク構成を実現できるのが特徴だ。VPNを実現するためのソフトウェアはいくつかあるが、さまざまなプラットフォームで利用でき、比較的導入が容易なものに「OpenVPN」がある。以下ではServersMan@VPSにこのOpenVPNをインストールし、異なるネットワーク内にある複数のマシンを同一の仮想ネットワークに接続する例を紹介する。ServersMan@VPSでのOpenVPN導入OpenVPNはCentOSの標準リポジトリに含まれていないため、デフォルト設定ではyumコマンドからのインストールができない。ソースコードからインストールすることも可能ではあるが手間がかかるため、ここではサードパーティのパッケージリポジトリであるRPMforgeで提供されているパッケージを利用する方法を紹介する。RPMforgeの導入についてはCentOSの公式Wikiページで解説されているので、詳細はそちらを参照してほしい。ここでは、基本的な手順のみを解説する。RPMForgeで提供されているパッケージをインストールするために必要なGPG鍵をインポートする。http://apt.sw.be/RPM-GPG-KEY.dag.txt続いて、RPMforgeを利用するためのパッケージ「rpmforge-release」をダウンロードする。-K」コマンドで検証しておく。-i」コマンドでrpmforge-releaseパッケージをインストールする。rpmforge-release-0.5.2-2.el5.rf.*.rpm以上でRPMforgeの設定は完了だ。OpenVPNは「openvpn」というパッケージ名で提供されているので、これをインストールする。openvpnOpenVPNのサーバー側設定OpenVPNを利用する前には、接続に使用する証明書や暗号鍵などの準備や、適切な設定ファイルの用意が必要だ。下記ではOpenVPNを利用するためにサーバー側で必要となる最小限の作業のみを解説する。OpenVPNにはさまざまな設定項目があり、不適切な設定を行うとセキュリティ的な不備となる可能性もある。設定の詳細についてはドキュメントなどを参照してほしい。設定スクリプトのコピーyumコマンドでOpenVPNをインストールした場合、/usr/share/doc/openvpn-<バージョン番号>/以下にさまざまな関連ファイルがインストールされる。/usr/share/doc/openvpn-<バージョン番号>/easy-rsa/以下に用意されている証明書/暗号鍵の生成スクリプトを/etc/openvpn/以下にコピーしておく。続いて、/etc/openvpn/easy-rsa/以下にコピーした設定スクリプトを利用してサーバー証明書や暗号鍵を生成する。以下の作業はすべてroot権限で行う必要がある。/etc/openvpn/easy-rsa/2.0/varsファイルを修正して鍵情報を設定する。/etc/openvpn/easy-rsa/2.0/varsこのファイルの末尾には下記のような鍵の所有者情報を指定する欄があるので、適切な値を入力しておく。←担当者メールアドレスを指定varsファイルを修正後、次のようにvarファイルを読み込んだうえで「clean-all」および「build-ca」スクリプトを実行する。途中で鍵情報の入力を求められるが、これらはvarファイル中で設定しているので、基本的には何も入力せずにEnterを入力すれば良い。←Enterを入力これで/etc/openvpn/easy-rsa/2.0/keys/以下にCA証明書やCA秘密鍵が作成される。続いて、「build-key-server」スクリプトを実行してサーバー証明書を作成する。Updated以上で、/etc/openvpn/easy-rsa/2.0/keys/以下にサーバー証明書やサーバー秘密鍵が作成される。key)パラメータファイルの生成を行う。生成にやや時間はかかるが、特に必要な設定項目などはない。./build-dhDHパラメータは、デフォルトでは/etc/openvpn/easy-rsa/2.0/keys/dh1024.pemというファイルに保存される。生成した証明書や暗号鍵、DHパラメータファイルなどは/etc/openvpn/以下にコピーし、暗号鍵のパーミッションの変更も行っておく。*.key最後にサーバー用の設定ファイルを準備する。サンプル設定ファイルが「/usr/share/doc/openvpn-<バージョン番号>/sample-config-files/server.conf」として用意されているので、これを/etc/openvpn/以下にコピーする。/etc/openvpn/この設定ファイル内には標準的な設定がすでに記述されているので、VPNで使用するIPアドレスやポート番号などを明示的に変更したい場合を除き、特に修正をする必要はない。デフォルトではVPNサーバーはルート権限で動作する設定となっているので、この部分だけは変更しておくと良い。nobody」の部分だ。それぞれ行頭に「;」が付加されてコメントアウトされているので、この「;」を削除すれば良い。以上でサーバー側の設定は完了である。yumコマンドでインストールを行った場合、/etc/init.d/以下に起動スクリプト「openvpn」がインストールされているはずなので、こちらの引数に「start」を指定して実行するとVPNサーバーが起動される。startほかのサービスと同様、「stop」引数を付けて実行するとVPNサーバーを停止できる。