- 追加された行はこの色です。
- 削除された行はこの色です。
|RIGHT:100|LEFT:410|c
|~ソフトウェア|OpenVPN 2.0.5, 2.0.9|
|~ソフトウェア|OpenVPN 2.0.5, 2.0.9, 2.1.3|
|~OS(作業日)|Vine Linux 2.6(Server) 2006/01/15|
|~ |Vine Linux 4.0(Server) |
|~ |WindowsXP SP2 (Client)2006/01/15|
|~マシン |PC/AT|
|~ |ThinkPad X40|
|~ドキュメント |2006/01/16 001|
-----------------------------------------------------------------------------
OpenVPNによりインターネットから内部ネットワークに接続する
-----------------------------------------------------------------------------
#contentsx
***OpenVPNのインストール [#ub26af4a]
-用意したもの
--OpenVPN
http://openvpn.net/
http://openvpn.net/download.html
-必要なもの
[[OpenSSL>Installmemo/OpenSSL]]
[[LZO>Installmemo/LZO]](LZO圧縮を行う場合)
-インストール ()
--Linux tunデバイスの有効化
kernel configuration
CONFIG_TUN=m
--OpenVPNのコンパイル
LZO圧縮を行わない場合
# ./configure --disable-lzo
# make
# make install
LZO圧縮を行う場合
# ./configure
LZO圧縮を行う場合
# ./configure --with-ssl-headers=/usr/local/ssl/include --with-ssl-lib=/usr/local/ssl/lib
# make
# make install
***ネットワーク構成例 [#b723bf79]
+---------+ +------------------+ +------+ +------+
|Internal | |VPN Server(Linux) | |Router| |Router|
|Network |--|eth0 tap0|--| |--Internet--| |--VPN Client
+---------+ +------------------+ +------+ +------+
***証明書の設定 [#a96d4cb1]
OpenVPNにはCA認証局、サーバー証明書、クライアント証明書の作成を支援するシェルスクリプトが添付されている。
スクリプトはソースを展開したopenvpn-2.1.1/easy-rsa/2.0に添付される。
-CA認証局
[root@inasa03 2.0]# . ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /tmp/src/openvpn-2.1.1/easy-rsa/2.0/keys
[root@inasa03 2.0]# ./clean-all
[root@inasa03 2.0]# ./build-ca
Generating a 1024 bit RSA private key
....++++++
.........................++++++
writing new private key to 'ca.key'
-サーバー証明書
-クライアント証明書
***Server側の設定 (Linux) [#z5f4a224]
Server側の設定ファイルはデーモン起動時に引数で指定するため、任意の場所に作成する。例:/etc/openvpn/server.conf
# 通信に使用するプロトコル及びポート番号の指定
port 5500
proto tcp-server
# 使用する仮想ネットワークデバイスの指定
dev tap0
# CA証明書、サーバ証明書、サーバ秘密鍵、DH鍵のパス指定
# ※パス指定は、絶対パスまたはserver.confの設置ディレクトリからの相対パスでの指定
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
#サーバー側のVPN NetworkデバイスのIPアドレスを指定
ifconfig 10.240.0.1 255.255.255.0 #tapにip付与
# VPN接続間の生存確認のための設定
keepalive 10 120
# パケット転送の際にLZO圧縮を有効にする
comp-lzo
# OpenVPNデーモン起動ユーザ・グループの指定
user nobody
group nobody
# VPNが落ちた場合の再接続設定
persist-key
persist-tun
# ステータスログのパス指定
status /var/log/openvpn-status.log
# ログのパス指定
log /var/log/openvpn.log
log-append /var/log/openvpn.log
# ログの詳細レベルの指定
verb 3
# OpenVPN管理インターフェイスの起動設定
management localhost 7505
サーバー起動方法
# /usr/local/sbin/openvpn --tls-server --config /etc/openvpn/server.conf
***Client側の設定 (Windows) [#rbd92f1b]
OpenVPN GUIを導入する。
設定ファイルはC:\Program Files\OpenVPN\configに保存する。拡張子はovpnにすることで、OpenVPN GUIが認識する。クライアント証明書、CA証明書も同一フォルダに保管する。
# クライアントであることを指定
client
# 通信に使用するプロトコル
proto tcp
# 使用する仮想ネットワークデバイスの指定
# 要OpenVPNサーバの仮想デバイス名
dev tap0
# 接続するOpenVPNサーバの指定
# 書式:remote [OpenVPNサーバのアドレス] [ポート番号]
remote vpnserver.name.com 5500
# CA証明書、クライアント証明書、クライアント秘密鍵のパス指定
ca ca.crt
cert client.crt
key client.key
# パケット転送の際にLZO圧縮を有効にする
comp-lzo
# VPNが落ちた場合の再接続設定
persist-key
persist-tun
# ログレベル
verb 3
# クライアント側の仮想デバイスにアサインするIPアドレス
ifconfig 10.240.0.100 255.255.255.0
# クライアントに追加するルーティング情報
route 192.168.234.0 255.255.255.0 10.240.0.1
----
[1] http://openvpn.net/
[2] http://www.senryu.biz/linux/openvpn/openvpn1.htm
[3]http://www.stackasterisk.jp/tech/systemConstruction/openVpn01_01.jsp
[4]http://japan.linux.com/security/05/10/12/0618209.shtml
[5]http://kano.feena.jp/?OpenVPN
#counter