- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- Installmemo/OpenVPN へ行く。
ソフトウェア | OpenVPN 2.0.5, 2.0.9 |
---|---|
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によりインターネットから内部ネットワークに接続する
OpenVPNのインストール †
- 用意したもの
- インストール ()
- Linux tunデバイスの有効化
kernel configurationCONFIG_TUN=m
- Linux tunデバイスの有効化
- 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
ネットワーク構成例 †
+---------+ +------------------+ +------+ +------+ |Internal | |VPN Server(Linux) | |Router| |Router| |Network |--|eth0 tap0|--| |--Internet--| |--VPN Client +---------+ +------------------+ +------+ +------+
証明書の設定 †
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
- サーバー証明書
- クライアント証明書
Server側の設定 (Linux) †
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) †
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