Raspberry Pi2にOpenVPNをインストールしてみた(クライアント側のOpenVPN設定と接続確認編)
Raspberry Pi2にOpenVPNをインストールしてみた(OpenVPNインストール編)に続いて、クライアント側の設定を行います。
クライアントはMAC OSXで、OpenVPN接続ツールは「Tunnelblick」を使ってみます。
クライアント用OVPNファイル作成
クライアント側の設定はOVPNファイルがあると便利なので、サーバー側でOVPNファイルを作成するスクリプトを実行します。
まずOVPNファイルを作成する上で必要な設定ファイルを用意します。
# vi /etc/openvpn/easy-rsa/keys/make_ovpn_conf.txt
以下を入力。
client
dev tun
proto udp # 自身の環境に合わせて、tcp/udpを設定
remote hoge.jp 443 # 自身の環境に合わせて、外部からアクセスするドメインかIPアドレス、ポート番号を設定
resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ns-cert-type server
key-direction 1
cipher AES-128-CBC
comp-lzo
verb 1
mute 20
続いてOVPNファイル作成用のスクリプトを準備します。
# vi /etc/openvpn/easy-rsa/keys/make_ovpn.sh
#!/bin/bash
DEFAULT="make_ovpn_conf.txt"
OVPNFILE=".ovpn"
CRT=".crt"
KEY=".3des.key"
CA="ca.crt"
TA="ta.key"
echo "クライアント名を入力:"
read NAME
if [ ! -f $NAME$CRT ]; then
echo "CRTファイルが見つかりません: $NAME$CRT"
exit
fi
if [ ! -f $NAME$KEY ]; then
echo "3desキーファイルが見つかりません: $NAME$KEY"
exit
fi
if [ ! -f $CA ]; then
echo "CAファイルが見つかりません: $CA"
exit
fi
if [ ! -f $TA ]; then
echo "TAファイルが見つかりません:$TA"
exit
fi
cat $DEFAULT > $NAME$OVPNFILE
echo "<ca>" >> $NAME$FILEEXT
cat $CA >> $NAME$FILEEXT
echo "</ca>" >> $NAME$FILEEXT
echo "<cert>" >> $NAME$FILEEXT
cat $NAME$CRT | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >> $NAME$FILEEXT
echo "</cert>" >> $NAME$FILEEXT
echo "<key>" >> $NAME$FILEEXT
cat $NAME$KEY >> $NAME$FILEEXT
echo "</key>" >> $NAME$FILEEXT
echo "<tls-auth>" >> $NAME$FILEEXT
cat $TA >> $NAME$FILEEXT
echo "</tls-auth>" >> $NAME$FILEEXT
echo "OVPNファイル作成完了"
ファイルに実行権限を与えて実行します。
# chmod 700 make_ovpn.sh
# ./make_ovpn.sh
作成したOVPNファイルをローカルのPCに保存しておきます。
併せて、サーバー上でOpenVPNサーバーを起動しておきます。まずはフォアグラウンドで動作しておきます。
# openvpn /etc/openvpn/server.conf
Tunnelblickのインストール
Tunnelblickのダウンロードページから、環境にあったファイルをダウンロードしてインストールします。
ダウンロードしたOVPNファイルをダブルクリックすると、以下のダイアログで表示されるので個人用をクリック。
問題なくインストールが完了したら、上部ツールバー上にあるTunnelblickのアイコンをクリックし、該当のユーザーで接続してみます。
パスワードを聞かれるので事前に設定していたパスワードを入力します。
接続を開始すると以下のメッセージが表示されます。
正常に接続が完了すると以下のメッセージが表示されます。
問題なく動作したら、サーバー上でOpenVPNをサービス化しておきます。
# systemctl enable openvpn
# systemctl start openvpn
スピードテストサイトで速度を測ってみる。
OpenVPNを使うことでどこまで速度が落ちるのかを確認してみました。確認に使ったサイトは「Speedtest」を使ってみます。
今回の環境では、OpenVPNを使った場合、自宅にあるRaspberry Piを経由してからスピード測定サイトにアクセスするため、純粋な比較にはならないためあくまでも参考程度に見ていただければ。ただし自宅のアクセス回線は100Mbpsなのでアクセス回線の帯域の影響は少ないと考えます。
OpenVPNを使用しない場合
上りも下りも40Mbps以上でています。
OpenVPNを使用した場合
上り、下りともに1Mbps程度にまで落ち込んでいます。
結構落ちてますね。OpenVPNの設定をチューニングすることで、パフォーマンスを改善出来るという情報をあるので、別途試してみたいと思います。