以下のファイルを自分の環境にしたがって修正
/etc/openvpn/easy-rsa/2.0/vars
以下カレントディレクトリを/etc/openvpn/easy-rsa/2.0/とする
caファイル作成
source ./vars ./clean-all ./build-ca
サーバ証明書、サーバ鍵ペアの作成
source ./vars ./build-key-server anyname
クライアント証明書、鍵ペア作成
source ./vars ./build-key-pass clientname #パスフレーズで保護する場合 ./build-key clientname #パスフレーズで保護しない場合
DHファイル作成
./build-dh
VPNからのパケットをLANに流す
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
10.8.0.0/24あてのパケットをサーバに送信するようにしておく
以下設定ファイル
port 1194 ←サービスポートの指定 proto udp ←使用プロトコルの指定 dev tun ←ルーティング方式ではtunを選択 ca /etc/openvpn/ca.crt ←CA証明書ファイルの指定 cert /etc/openvpn/server.crt ←サーバ証明書ファイルの指定 key /etc/openvpn/server.key ←サーバ秘密鍵ファイルの指定 dh /etc/openvpn/dh1024.pem ←DHパラメータファイルの指定 server 10.8.0.0 255.255.255.0←VPNクライアントに割り振られるIPアドレス(10.8.0.1はサーバ自身のtanイ ンターフェイスに割り当てられる) ifconfig-pool-persist ipp.txt←クライアントに割り振られたIPアドレスを管理するファイル push "route 10.0.0.0 255.255.255.0" ←OpenVPNサーバ側のLANセグメントの経路情報をクライアントに伝達 client-to-client ←OpenVPNクライアント同士の通信を許可 keepalive 10 120 ←サーバ・クライアント間の死活監視の設定 comp-lzo ←LZO圧縮の利用 max-clients 10 ←最大同時接続クライアント数 user nobody ←デーモンプロセスのユーザーを指定 group nobody ←デーモンプロセスのグループを指定 persist-key ←不意な切断が発生した後の再接続処理の設定 persist-tun ←不意な切断が発生した後の再接続処理の設定 status /var/log/openvpn-status.log ←ステータスログの指定 log /var/log/openvpn.log ←ログファイルの指定 verb 3 ←ログレベルの指定
daemon port portnumber proto udp dev tun ca ca.crt cert serverkey.crt key serverkey.key dh dh1024.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "route 192.168.1.0 255.255.255.0" keepalive 10 120 comp-lzo persist-key persist-tun status openvpn-status.log # # 0 is silent, except for fatal errors # 4 is reasonable for general usage # 5 and 6 can help to debug connection problems # 9 is extremely verbose verb 3
Vistaの場合以下の二行を追加
route-method exe route-delay 2
client dev tun proto udp remote hostname portnumber resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert clientkey.crt key clientkey.key comp-lzo verb 3 pull float