今回はRaspberry PI 2にSoftEtherを入れてVPNサーバーにしてみようと思います。
VPNをご存知ない方は以下のホームページが参考になります。
5分で絶対に分かるVPN
http://www.atmarkit.co.jp/ait/articles/0204/27/news003.html
VPNサーバーがあると、外出先から自宅のPCにアクセスして、NASに格納した動画を見たりすることなども可能。他にも街中のフリーWiFiを安全に使うためにVPNを使う人なども少なくありません。しかし、私自身、こういった用途にあまり必要性は感じておらず、せっかく、ラズパイを買ったので何かサーバーを立ち上げてみたかったのが第一の理由(^^;
また、以前、出張で中国に行った際などに、検閲が厳しくてまともにネットサーフィンができなかったのですが、自宅にVPNサーバーがあれば、これが回避できるので、いつになるか分かりませんが、次の出張のために用意しておくというのが第二の理由です。
それでは前置きが長くなりましたが、設定に入ります。以降の作業は全てWindowsPCからRaspberry PI 2にSSHでログインして行いました。
bridge-utilsのインストール
apt-getでインストールするだけ。
[bash]
$ sudo apt-get install bridge-utils
[/bash]
ネットワーク設定の変更
仮想ブリッジbr0にネットワークアダプタeth0をブリッジさせるよう、/etc/nework/interfacesを以下のように修正しました。
[bash]
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet manual
# SoftEther VPN
auto br0
iface br0 inet static
address 192.168.0.xx (ラズパイの固定IP)
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.1
# eh0 bridge setting
bridge_port eth0
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
auto wlan1
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
[/bash]
SoftEther VPN Serverのインストール
SoftEther公式サイト内の「SoftEther ダウンロードセンター」に行き、SoftEther VPN Serverをダウンロードしますが、以下のように、プラットフォームやCPUを設定して、最新ビルドのURLを確認します。
私が落とした時の最新版はVer.4.15, build 9546, betaでした。
[bash]
$ cd
$ wget http://jp.softether-download.com/files/softether/v4.15-9546-beta-2015.04.05-tree/Linux/SoftEther_VPN_Server/32bit_-_ARM_EABI/softether-vpnserver-v4.15-9546-beta-2015.04.05-linux-arm_eabi-32bit.tar.gz
$ tar zxvf softether-vpnserver-v4.15-9546-beta-2015.04.05-linux-arm_eabi-32bit.tar.gz
$ cd vpnserver
$ make
[/bash]
makeをしようとすると、ライセンス許諾書についての質問が何度か行われますので、それぞれ1を選んで先に進めます。
「The preparation of SoftEther VPN Server is completed !」と出ていればOKです。
続いて、makeしたvpnserverディレクトリを丸ごと、/usr/local/に移動後、ファイルの属性を変更します。
[bash]
$ cd..
$ sudo mv vpnserver /usr/local/
$ cd /usr/local/vpnserver
$ chmod 600 *
$ chmod 700 vpncmd
$ chmod 700 vpnserver
[/bash]
インストールは完了ですが、今後、Raspberry PI 2を起動した際に、自動的にSoftEther VPNが起動するようにスクリプトを作成します。
/etc/init.d/vpserverというファイルをエディタを使って作成し、以下の内容を書きます。
[bash]
$ sudo vi /etc/init.d/vpnserver
[/bash]
[bash]
#!/bin/sh
### BEGIN INIT INFO
# Provides: vpnserver
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: SoftEther VPN RTM
# Description: Start vpnserver daemon SoftEther VPN Server
### END INIT INFO
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/vpnserver
# tun/tapモジュールのロード
sudo modprobe tun
. /lib/lsb/init-functions
test -x $DAEMON || exit 0
case "$1" in
start)
sleep 3
log_daemon_msg "Starting SoftEther VPN Server" "vpnserver"
$DAEMON start >/dev/null 2>&1
touch $LOCK
log_end_msg 0
sleep 3
# SoftEther VPNで追加した仮想tapデバイス名を調べる
tap=`/sbin/ifconfig -a| awk '$1 ~ /^tap/ {print $1}'`
/sbin/brctl addif br0 $tap
;;
stop)
log_daemon_msg "Stopping SoftEther VPN Server" "vpnserver"
$DAEMON stop >/dev/null 2>&1
rm $LOCK
log_end_msg 0
sleep 2
;;
restart)
$DAEMON stop
sleep 2
$DAEMON start
sleep 5
# SoftEther VPNで追加した仮想tapデバイス名を調べる
tap=`/sbin/ifconfig -a| awk '$1 ~ /^tap/ {print $1}'`
/sbin/brctl addif br0 $tap
;;
status)
if [ -e $LOCK ]
then
echo "vpnserver is running."
else
echo "vpnserver is not running."
fi
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0
[/bash]
最後に、このスクリプトに実行権限を与えて登録。 その後、ラズベリーパイを再起動します。
[bash]
sudo chmod +x /etc/init.d/vpnserver
sudo update-rc.d vpnserver defaults
insserv vpnserver
service vpnserver start
sudo reboot
[/bash]
一応、vpnserverが動作しているかを確認しておきます。
[bash]
$ service vpnserver status
vpnserver is running.
[/bash]
VPNサーバーのセットアップ
ここではWindows用ソフトのSoftEther VPN Server Managerを使って、サーバーの設定を行います。
まずは先ほどと同様、公式ページからソフトをダウンロードします。
ダウンロードしソフトを実行すると、まずはセットアップウィザードのウィンドウが表示されるので、次へをクリック。
インストールするソフトウェアの選択画面になりますが、ここではSoftEther VPN サーバー管理マネージャだけを選んで次へをクリック。
その後、使用許諾契約書の確認やインストール先の確認などがありますので、問題ないことを確認して先に進めばインストールが完了します。
続いて、管理マネージャーを起動し、「新しい接続設定」をクリック。
接続設定名に適当な名称、ホスト名にはRaspberry PiのIPアドレスを指定して、「OK」をクリック。
「接続」ボタンを押すと、「管理者パスワードの設定」ウィンドウが出るので、パスワードを入力して「OK」をクリック。
「Bridge管理セットアップ」のウィンドウが表示されるので、リモートアクセスVPNサーバーにチェックを入れて「次へ」をクリック。
「簡易セットアップ」のウィンドウが表示されるので、適当な名称を入れて、「OK」をクリック。
「ダイナミックDNS機能」のウインドウが表示されるので、好きなサーバーの名前を記入し、「上記のDNSホスト名に変更する」をクリックし、その後、「閉じる」をクリック。デフォルトのホスト名でも構わない方は特に入力しなくても構いませんが、個人的には覚えやすいホスト名を付けたほうが良いと思います。
「IPsec/L2TP/EtherIP/L2TPv3設定」ウィンドウが開きますので、一番下のIPsec共通設定の欄に好きな文字列を記入して「OK」をクリック。
そろそろ疲れてきました、、「VPN Azure」ウィンドウが開きますが、無料とはいえ、今回は使いませんので、無効にするにチェックを入れて「OK」をクリック。
「簡易セットアップの実行」ウィンドウが表示されますので、「ユーザーを作成する」をクリック。
「ユーザーの新規作成」ウィンドウが表示されますので、ユーザー名とパスワードを設定して「OK」をクリック。
「ユーザーの管理」ウィンドウが表示され、今登録したユーザー情報がリストに入ってればOKです。「閉じる」をクリック。
以下のウィンドウが表示されたら、左下にある「ローカルブリッジ設定」をクリック。
「ローカルブリッジ設定」ウィンドウが表示されるので、新しいtapデバイスとのブリッジ接続にチェックを入れて、新しいtapデバイス名として、vlanと記入したら「ローカルブリッジを追加」をクリック。
すると、以下のようにリストに登録します。これで設定完了です。「閉じる」をクリック。
ルーター設定
今度はルーターのポート解放の設定です。我が家はADSLなので、今回はADSLモデムの設定を変更しました。
機種により設定方法が異なるので、詳細は割愛しますが、以下の4つのポートを開放してください。
TCPポート: 443 TCPポート: 992 UDPポート: 500 UDPポート: 4500
LAN側IPアドレスにはRapberry PiのIPアドレスを指定します。
以上で設定は全て完了です。
android端末のVPN設定
続いて、外出先のスマホから自宅のVPNサーバーに接続できるよう、スマホ側の設定を行います。
やり方は以下のページに詳しく書かれているので、割愛します(^^;
あとは外出先からスマホ側のVPN設定を有効にすればVPN経由でのネットサーフィンが可能になります。
他にも自宅のローカルネットにあるPCにアクセスしたりすることも可能になりますので、色々試してみましょう。
参考にさせていただいたページ
■VPNでiPhoneからラズパイに接続する
http://usicolog.nomaki.jp/engineering/raspberryPi/raspberryPi_VPN.html