OpenVPNではSSLを用いて通信経路の暗号化とクライアントの認証を行うので、これに用いる暗号鍵を作らないといけない。
この辺は本家のHow-toやら日本語でもたくさんの記事があるので、日本語のサイトを一つだけあげておく。
注意しないといけないのは、MacPortsにおけるeasy-rsaのディレクトリの場所で、
/opt/local/share/doc/openvpn2/easy-rsa
になっている。これ以外は基本的には多くのドキュメントでlinuxではこうやりなさいと書いてある通りにCA認証局の鍵を作成し、サーバー証明書・クライアント証明書・DH鍵を作成すればいい。
途中、パスフレーズを聞かれるが、これはパスフレーズを入力すると、OpenVPNが起動時に鍵を読み込む時にパスフレーズを要求する様になるので、必ず何も入力しない様にする。後、当然プライベートでしか使わない鍵なので、ローカルCA認証局で署名しておくこと。これは、鍵の作製の最後で署名するか聞かれるのでyesと答えればいい。今回は面倒なのでサーバー側の名前をServer、クライアント側の名前をClientとしておいた。
分かりにくいのがドキュメントにある変数設定のvarsの読み込みで
. ./vars
とあるのだが、これは二つの.の間にスペースがあるので注意。本来は
source ./vars
と書けば間違いがないんだがな。
サーバー側に場所を決めてopenvpn2で使う鍵を置いておく。置いておくべき鍵は
Server.crt
Server.key
ca.crt
dh1024.pem
これらを
/opt/local/etc/openvpn2/keys
というディレクトリを掘って置いておいた。
逆にクライアント側には
Client.crt
Client.key
ca.crt
dh1024.pem
の鍵が必要になる。出来る限りフロッピーの様な物理的手段で運搬しよう。ネット経由だと盗聴されるともともこもない。