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 を有効にすることもお忘れなく. |