SSLによる鍵と証明書の作成準備
mkdir /etc/CA
mkdir /etc/CA/certs
mkdir /etc/CA/crl
mkdir /etc/CA/newcerts
mkdir /etc/CA/private
chmod 700 /etc/CA/private
cd /etc/CA
echo -n 01 > serial
echo -n 01 > index.txt
openssl.cnfの編集
vi /etc/CA/openssl.cnf
openssl.cnfサンプル
プライベートキーと自己証明書の作成
(例) プライベートキーは hosso.com-ca.key
cd /etc/CA
openssl req -nodes -new -x509 -keyout private/hosso.com-ca.key -out hosso.com-ca.crt -days 3650 -config ./openssl.cnf
chmod 600 private/hosso.com-ca.key
サーバー側キーとサーバー側証明書の作成
(例)
サーバー側キーは sempron.key
サーバー側証明書は sempron.crt
openssl req -nodes -new -keyout sempron.key -out sempron.csr -config ./openssl.cnf
CAの署名を付ける
openssl ca -out sempron.crt -in sempron.csr -config ./openssl.cnf
chmod 600 sempron.key
Diffie-Hellmanのパラメータ作成
openssl dhparam -out dh1024.pem 1024
これらをopenvpnのディレクトリにコピー
mkdir /etc/openvpn
cp /etc/CA/hosso.com-ca.crt /etc/openvpn
cp /etc/CA/sempron.key /etc/openvpn
cp /etc/CA/sempron.crt /etc/openvpn
cp /etc/CA/dh1024.pem /etc/openvpn
クライアント側の証明書を作成
(例)
クライアント側キーは athlon.key
クライアント側証明書は athlon.crt
openssl req -nodes -new -keyout /etc/CA/athlon.key -out /etc/CA/athlon.csr -config /etc/CA/openssl.cnf
openssl ca -out /etc/CA/athlon.crt -in /etc/CA/athlon.csr -config /etc/CA/openssl.cnf
ここでクライアントに渡すファイルは
hosso.com-ca.crt
athlon.key
athlon.crt
これらは接続するホスト(クライアント)ごとに作成する必要あり
設定ファイルの作成
(例)設定ファイル名はsempron.conf
vi /etc/openvpn/sempron.conf
sempron.conf内容
IPパケットをフォワードする
(違うネットワークへのルーティング情報が存在する場合)
vi /etc/sysctl.conf
変更内容
net.ipv4.ip_forward = 1
ネットワーク再起動
/etc/init.d/network restart
WINSサーバー設定
vi /etc/samba/smb.conf
以下のエントリを追加
wins support = yes
domain master = yes
openvpn起動
/etc/init.d/openvpn start |