Nanairo

プライベートを充実させてみたいものだ…。

OPENVPNによるVPNサーバーを立てたのでメモ②

前記事
tachi221.hatenablog.com

前回は下準備について書いたので、今回はVPNサーバーを動かすために必要なサーバー証明書をeasy-rsaを使って作成したいと思う。
最初にeasy-rsaのファイルをopenvpnのフォルダにコピーする。

mkdir /etc/openvpn/easy-rsa
cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/

次に環境変数を設定するためのvarsファイルを編集する。
(エディタは好きなのをつかってください。筆者はvimが好きですが、vimを使うにはaptでインストールする必要があります。)

vim /etc/openvpn/easy-rsa/vars

varsファイルで編集する場所は下記のとおり。
CA証明書とクライアント証明書の有効期限。デフォルトは10年(365日×10年)。

# In how many days should the root CA key expire?
export CA_EXPIRE=3650

# In how many days should certificates expire?
export KEY_EXPIRE=3650

証明書が持つ組織情報。組織名称はダブルクォーテーションで囲むことを忘れないようにする。

export KEY_COUNTRY="example"
export KEY_PROVINCE="example"
export KEY_CITY="example"
export KEY_ORG="example"
export KEY_EMAIL="example"
export KEY_OU="example"

編集したvarsを保存したら、このvarsを呼び出す。

source vars

いったん初期化。

./clean-all

最初にCA証明書を作成する。

./build-ca

次にサーバー証明書を作成する。下記の例ではserverという名前の証明書を作成している。

./build-key-server server

Diffie-Hellman鍵を生成する。

./build-dh

TLS用の鍵を生成する。

openvpn --genkey --secret /etc/openvpn/easy-rsa/keys/ta.key

作った証明書たちは/etc/openvpn/easy-rsa/keysに格納されているので、この証明書を/etc/openvpn配下にコピーする。

cd /etc/openvpn/easy-rsa/keys
cp ca.crt /etc/openvpn
cp server.crt /etc/openvpn
cp server.key /etc/openvpn

証明書の作成はこれでおしまい。
次にOPENVPNのserver.confを編集する。