2006年9月12日
(復興作業)OpenVPN のインストール(1)
*** 本文は、キャッシュに残っていた OpenVPN のインストール手順を再現したもので、少し手を入れて分かりやすくしたものです。***
仕事柄、会社から家のサーバーに接続する必要に迫られることが多く、少しでも安全にということから VPN(バーチャル・プライベート・ネットワーク)を利用している。(会社では実際テストすることがセキュリティ上困難な場合が多く、家のサーバーをモルモットにしている)
当初、かの有名な SoftEther を使って VPNを張っていたのだが、新しいバージョン PacketiX になってからライセンスが複雑なものとなり、というよりは Free License が殆ど使用できないような状況になったこと。また、我が家のサーバーも Windows から Linux に交替することもあり、この際フリーな OpenVPN に切り替えることにした。
PacketiX についても60日ライセンスを取得して Linux 上にインストールして数週間使ってみたがなななか安定動作をしていた。インストールについては SoftEther社のWebサイトのマニュアルに加え、JINOの憂鬱というサイトを参考にコマンドモードでインストールおよび設定をしたが、難なく出来た。
さて、OpenVPN のインストールだが、OpenVPN 2.0 HOWTO 日本語訳 を宇都宮大学工学部の学生さん(それとも先生?)が出していたので参考にさせてもらいながら手本どおりにインストールした。
インストールのあらましは次のとおり・・・
1). OpenVPN のダウンロード(openvpn-2.0.5.tar.gz) → openvpn-2.0.7.tar.gz にバージョンが上がっていた。
2). バイナリーRPMパッケージのビルド(openssl,lzo,pamなどの依存パッケージが必要)
- 依存パッケージをインストール
# apt-get install openssl-devel
# apt-get install pam-devel
lzo-devel も必要なのだが apt-get では見つからなかったので探す。
Vine Linux では lzo パッケージは extras にあるようなので、ソースリスト ( /etc/apt/sources.list ) に exreas を追加して
# apt-get update
# apt-get install lzo-devel
次に、rpm ファイルをビルドする。
$ rpmbuild -tb openvpn-2.0.7.tar.gz
- ホームから・・・
# rpm -ivh rpm/RPMS/i386/openvpn-2.0.7-1.i386.rpm
先ず、/usr/share/doc/openvpn-2.0.7/easy-rsa/vars ファイルの次の箇所を編集する。
export KEY_COUNTRY=JP
export KEY_PROVINCE=Shiga
export KEY_CITY=Konan
export KEY_ORG="Bit-Consul-NET"
export KEY_EMAIL="xxxxxxxx@bit-consul.net"
次に、PKI を初期化し、認証局(CA)の証明書と鍵を生成する。
# cd /usr/shara/doc/openvpn-2.0.7/easy-rsa
# . ./vars
# ./clean-all
# ./build-ca
(手動での設定例)
Common Name (eg, your name or your server's hostname) []:OpenVPN-CA
5). サーバー証明書と鍵を生成
# ./build-key-server server
(手動での設定例)
Common Name (eg, your name or your server's hostname) []:server
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
6). クライアントの証明書と鍵を生成(コマンド './build-key client1')
client1,client2,client3 の3つのキーを作成
# ./build-key client1
# ./build-key client2
# ./build-key client3
(手動での設定例)
Common Name (eg, your name or your server's hostname) []:client1
7). DH(Diffie Hellman)パラメータを生成
- OpenVPNサーバーにはこれが必要らしい。
# ./build-dh
8). サーバー設定ファイルの編集と準備
- a) keys サブディレクトリに新規に作成した鍵と証明書のうち、サーバーに必要なもの( ca.crt, dh1024.pem, server.crt, server.key ) を /etc/openvpn にコピー
b) /usr/shara/doc/openvpn-2.0.5/sample-config-files/server.conf を /etc/openvpn にコピーして編集する。
デフォルトからの変更箇所
proto tcp → 以前もそうだったように udp から tcp 利用に変更
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
9). サーバーの起動確認
# openvpn /etc/openvpn/server.conf
出力が、Initialization Sequence Completed で終われば正常。
(注) RPMパッケージでインストールする場合、インストーラーが initscript を設定するようで、ランレベル3,4,5 でサービス起動できる。
10). Windows クライアントを作成
- a) OpenVPN の公式サイトから Windows版のインストーラーをダウンロードする。
なんと、作業をしている最中に新しいバージョンがリリースされていた( openvpn-2.0.8-install.exe )が、今回はWindowsクライアントは壊れてはいないので、旧バージョンのまま(var 2.0.5)使用することにした。
以前の設定では、、、
b) インストールされたクライアントの設定ファイル "C:\Program Files\OpenVPN\sample-config\client.ovpn" 適当な場所にコピーして、編集
- 設定されている項目のリスト
client
dev tun
proto tcp
remote robibuta.com 1194 → 旧のドメインで、このHPはもう復興できない・・・
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client2.crt
key client2.key
comp-lzo
verb 3
c) 同じ場所に、作成した鍵と証明書のうち、クライアントに必要なもの( ca.crt, client2.crt, client2.key ) をコピー
d) 接続を確認
- client.ovpn を右クリックし、Start OpenVPN on this config file をクリックして接続する。サーバーと同じように出力が、Initialization Sequence Completed で終われば正常。
プロキシサーバーを使っているのであればプロキシ経由の接続確認も・・・
e) VPNアクセスをテストしてみよう
C:\ ping 10.8.0.1 → サーバーのVPNアドレス
ping が成功すればOK!
11). サーバー側 LAN にアクセスするために、/etc/openvpn/server.conf に追加設定
push "route 192.168.1.0 255.255.255.0"
・・・というところで、サーバーの実アドレスへの ping が成功した。しかし、サーバー側の LAN に ping を飛ばしたところことごとく失敗した。
そこで、フォワーディング機能の確認とか、ゲートウェイの設定とか、、、いろいろやったのだがうまくいかず、ルーティングVPNの方が設定が楽なはずだが、これ以上時間を失いたくないので、ブリッジVPNに設定変更することにした。
それにしても、、、崩壊前のサーバーではルンルン気分でルーティングVPNが動いていたのにどうなっているのだろう???・・・ひょっとすると、前は PacketiX(SoftEther) をガチャガチャとインストールした後に OpenVPN を入れたので気がつかないうちに何らかの設定をしていたのかも知れない。
記録も記憶も失われたので・・・なんともできない。 次に行こう・・・
投稿者: 管理者 日時: 2006年9月12日 20:04 | パーマリンク |TOPページへ ▲画面上へ
トラックバック
このエントリーのトラックバックURL:
https://bit-consul.net/cgi-bin/MT/mt-tb.cgi/17