認証の設定

サーバ、クライアント間の認証に証明書付きの公開鍵を必要とする。
が、とりあえず動かすだけなら自分で作った証明書でもいいらしい

で、ソースに証明書作製スクリプト(openssl呼び出しのラッパー)
がついているので、それを利用。

> cd $(srcdir)/easy-rsa
> . ./vars
> ./clean-all
> ./build-ca

#住所やら何やらを聞かれるので、埋める。

$(srcdir)/keysに
ca.crt
ca.key
が生成される。


サーバーの認証の登録。

> ./build-key-server server

#住所やら何やらを聞かれるので、埋める。

$(srcdir)/keysに
server.crt
server.csr
server.key
が生成される。


クライアント(とりあえず、"client1"とする)の認証の登録

> ./build-key client1

#住所やら何やらを聞かれるので、埋める。

$(srcdir)/keysに
client1.crt
client1.csr
client1.key
が生成される。
(必要なクライアントの数だけくり返す)


Diffie-Hellman鍵交換のパラメータを生成

> ./build-dh

$(srcdir)/keys/dh1024.pem
が生成される。

必要な認証ファイルは以上。


作製した鍵ファイルのうち、
ca.crt
dh1024.pem
server.crt
server.key
をサーバとなるマシンに移動。
ここでは、サーバの
/etc/openvpn(なければ作製)にコピー
注:server.keyを読み書きできるのは所有者のみにすること。

同様に、
ca.crt
client1.csr
client1.key
をclinent1の
/etc/openvpn(なければ作製)にコピー
注:client.keyを読み書きできるのは所有者のみにすること。


#最短の手間で設定するため以上のようにしているが、
#本来は *.csr は、それぞれのマシンで鍵生成した後、認証局
#公開鍵の認証を求めることで得られるもので、
#*.keyは秘密のままにするべきもの(のはず)。