OpenVPN Static Key Mini-HOWTO 日本語訳
概要
静的鍵方式は,設定が最も簡単な方法で,1対1のVPNや概念の証明実験には理想的である.
静的鍵方式の利点
- 設定が簡単
- X509 PKI(公開鍵基盤)の維持作業が不要
静的鍵方式の欠点
- スケーラビリティが悪い -- 1対1のみ
- PFS (Perfect Forward Secrecy)特徴がない -- 鍵の洩れで洩れ前の交信も全部暴露されてしまう.
- どのVPNピアにおいても秘密鍵はプレインテキストで保存する必要がある
- 秘密鍵は別途既存の安全な方法で配布しなくてはならない
簡単な例
この例で必要最低限の機能を持つ,1対1のOpenVPNの設定を示す.VPNトンネルはサーバ 10.8.0.1 とクライアント 10.8.0.2 の間に立てられ,暗号通信はOpenVPNデフォールトのUDP 1194ポートで行われる.
静的鍵を生成する:
openvpn --genkey --secret static.key
何か安全な方法でこの静的鍵をクライアントとサーバの両方にコピーしておく.
サーバの設定ファイル
dev tun ifconfig 10.8.0.1 10.8.0.2 secret static.key
クライアントの設定ファイル
remote myremote.mydomain dev tun ifconfig 10.8.0.2 10.8.0.1 secret static.key
ファイアウォールの設定
以下のことをすべて確認する:
- サーバ側のUDP 1194ポートがオープンしている,
- OpenVPNの仮想TUNインタフェースがクライアントとサーバでブロックされない(Linuxでは,このTUNインタフェースはたぶんtun0という名前になるが,Windowsでは,ネットワーク接続のコントロールパネルで名前を変更していなければ,たぶんローカルエリア接続nみたいな名前になっている).
覚えておこう:OpenVPN初心者が遭遇する接続トラブルの90%はファイアウォール関連である.
VPNをテストする
クライアント側の設定で,myremote.mydomainのところをサーバの名前またはIPアドレスに変えて,上記の設定ファイルでそれぞれサーバとクライアント側のOpenVPNを稼働させる.
VPNが正常に稼働しているなら,サーバからは 10.8.0.2 に,クライアントからは 10.8.0.1 にpingが通るはず.
拡張
VPNリンクに圧縮を使う
次の一行をクライアントとサーバ両方の設定ファイルに追加する:
comp-lzo
接続の失敗に対してより頑丈になる
以下のようなこと:
- NATルータ・ファイアウォール越しの接続
- サーバのIPアドレスが変わるから名前を用いた接続
に対し,以下をクライアントとサーバ両方の設定ファイルに追加する:
keepalive 10 60 ping-timer-rem persist-tun persist-key
OpenVPNをデーモンとして動かす (Linux/BSD/Solaris/MacOSXのみ)
OpenVPNをnobodyユーザ・グループの権限に落してデーモンとして動かす.
次を設定ファイルに追加する(クライアントとサーバの両方):
user nobody group nobody daemon
クライアントがサーバ側のサブネットに参加できるにする
OpenVPNのサーバがサブネット 192.168.4.0/24 に入っているとしよう.次をクライアントの設定ファイルに追加する:
route 192.168.4.0 255.255.255.0
それからサーバ側で,LANのゲートウェイにOpenVPNサーバマシンを経由する 10.8.0.2 へのルートを追加する(OpenVPNサーバマシンがLANのゲートウェイではない場合のみ).また,OpenVPNサーバマシン上の IP Forwarding を有効にすることもお忘れなく.
Copyright © 2002-2006 by OpenVPN Solutions LLC <info@openvpn.net>. OpenVPN is a trademark of OpenVPN Solutions LLC.