OpenVPNの構築を以前何故か失敗したので、今回時間もあるのでキッチリがっつりやろうと思います。
ではスタート。
●必要なパッケージのインストール
# sudo aptitude update
# sudo aptitude install openvpn libssl-dev openssl
●/etc/sysctl.confを編集し、IPv4 のパケット転送を許可
# vim /etc/sysctl.conf
net.ipv4.ip_forward=1 #を外す
# sysctl -p で反映
●iptablesの設定
openvpnをインストールしたサーバーをopenvpnクライアントのデフォルトゲートウェイとした場合、VPN接続したクライアントが外部ネットワークと接続するには、openvpnサーバー側でパケットをインターネット側に転送して上げる必要あり。必要の無い場合はこちらはスルー。
# iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.0.0 -o eth0 -j MASQUERADE
※openvpnで使用するネットワークのレンジに合わせる。
# /sbin/iptables-save -c > /etc/iptables.rules
現在のiptablesの状態を設定ファイルに保存する。
サーバ起動時に設定ファイルを読み込んでiptablesに適用するには、iptables-restoreが自動的に実行される様に「/etc/network/if-pre-up.d/」ディレクトリの下にスクリプト「iptables_start」を用意すると良いかも。
「/etc/network/if-pre-up.d/iptables_start」
#!/bin/sh
/sbin/iptables-restore < /etc/iptables.rules
exit 0
作成したスクリプト「/etc/network/if-pre-up.d/iptables_start」に実行権限の追加。
# chmod +x /etc/network/if-pre-up.d/iptables_start
●OpenVPN サーバ証明書の作成 CA証明書と秘密鍵の作成
サンプルファイルがあるのでそれをコピー。
mkdir /etc/openvpn/easy-rsa/
cp -p /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
cd /etc/openvpn/easy-rsa/
# vim vars
※環境にあわせて変更..自分はKEY_CN以下をコメントアウト
export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="SanFrancisco" export KEY_ORG="Fort-Funston" export KEY_EMAIL="[email protected]" export [email protected] #export KEY_CN=changeme #export KEY_NAME=changeme #export KEY_OU=changeme #export PKCS11_MODULE_PATH=changeme #export PKCS11_PIN=1234 # source ./vars # ./clean-all # ./build-dh # ./build-ca # ./pkitool –server server
●TLSキーの作成
# cd keys
# openvpn --genkey --secret ta.key
作った証明書とキーをopenvpnにて使用ディレクトリへコピー
cp -p server.crt server.key ca.crt dh1024.pem ta.key /etc/openvpn/
長いので次へ