トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS


  • 追加された行はこの色です。
  • 削除された行はこの色です。
|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 --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'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [US]:JP
State or Province Name (full name) [CA]:asagiri.kailas.jp
Locality Name (eg, city) [SanFrancisco]:Chiba
Organization Name (eg, company) [Fort-Funston]:kailas.jp
Organizational Unit Name (eg, section) []:asagiri
Common Name (eg, your name or your server's hostname) [Fort-Funston CA]:asagiri.kailas.jp
Name []:inasa03
Email Address [me@myhost.mydomain]:tnmori@asagiri.dyndns.biz
 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