OpenVPNによる簡単VPN環境の構築

提供: omotenashi-mind
移動先: 案内検索


ここでは、OpenVPNを利用したUbuntuへの簡単なVPN環境構築手順をまとめます。

導入編

Server編

導入&鍵作成

はじめにOpenVPNとEasy RSAを導入します。

sudo apt-get install openvpn easy-rsa


次のステップとして、PKI(Public Key Infrastructure)の作成を行います。
作成を行う前に、rootユーザーになりましょう。

sudo su - root


次にPKI作成用フォルダを作成し、必要なファイルを準備します。

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


次に鍵の作成に必要な変数の設定を行います。以下の内容を参考に、用途に合わせた値を設定してください。

export KEY_COUNTRY="JP"
export KEY_PROVINCE="Tokyo"
export KEY_CITY="Minato-ku"
export KEY_ORG="Omotenashi-Mind"
export KEY_EMAIL="admin@omotenashi-mind.com"
export KEY_CN=OmotenashiMindVPN
export KEY_NAME=OmotenashiMindVPN
export KEY_OU=OmotenashiMind.com


変数設定が完了したら、CAファイルの作成を行います。

source
./clean-all
./build-ca


次のステップとして、サーバー用鍵の作成を行います。

./build-key-server server

第一パラメータの「server」は任意のサーバー名を設定してください。
次に、共通鍵を生成します。

./build-dh


生成したサーバー用鍵ファイルを/etc/openvpn直下に配置したら、サーバー側の鍵設定は完了です。

cd keys
cp server.crt server.key ca.crt dh2048.pem /etc/openvpen/.


クライアント用の鍵も合わせて作成しておきましょう。

cd /etc/openvpn/easy-rsa
./build-key client

第一パラメータの「client」は任意のクライアント名を指定してください。

設定

設定を行うため、まず設定ファイルのテンプレートを配置します。

cd /etc/openvpn
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz
gzip -d server.conf.gz


展開されたserver.confの以下の部分を適宜変更します。

ca ca.crt
cert server.crt
key server.key 
dh dh2048.pem


次にIPV4のフォワーディングを有効化します。/etc/sysctl.confの内容を確認し、以下の行がコメントアウトされていたら、
コメントアウトを除去してください。

#net.ipv4.ip_forward=1


設定を終えたら、反映します。

sysctl -p /etc/sysctl.conf


VPNサービス開始・確認

設定が完了したら、いよいよサービスを起動します。

cd /etc/openvpn
service openvpn start


サービス起動後に次のようにコマンドを実行し、以下のように表示されたらVPNサービスの起動完了です。

# ifconfig tun0
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          ...


以上でサーバー側の作業は完了です。
なお、VPNサービスが起動するとポート番号「1194」でUDPポートがオープンします。
ファイアウォールなどでブロックしている場合は外部から接続できるよう設定を見なおしてください。

Client編

導入&鍵の準備

はじめにOpenVPNの導入を行います。

sudo apt-get install openvpn


導入ができたら、/etc/openvpnフォルダ直下にサーバー側で作成した以下のクライアント用ファイルをコピーします。

  • ca.crt
  • client.crt
  • client.key


設定

まず設定ファイルの準備を行います。

cd /etc/openvpn
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf .


次に設定ファイルの内容を編集します。client.confファイル内の以下の内容を必要に応じて変更してください。

ca ca.crt
cert client.crt
key client.key


次に、client.conf内に接続先のサーバー情報を追記してください。

remote targetservername 1194

targetservernameには、VPN接続対象のサーバー名あるいはIPアドレスを指定してください。

VPNサービス開始・確認

クライアント側のVPNサービスを起動します。

sudo service openvpn start


サービス起動後に次のようにコマンドを実行し、以下のように表示されたらVPN接続完了です。

# ifconfig tun0
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.6  P-t-P:10.8.0.5  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1

参考情報