scribble warehouse

MacユーザがRaspberry Pi2をセットアップする-3


k_raspi-install-14

前回の記事ではRaspberry PiのOS「Raspbian」の設定を済ませました。

この記事の最終目標は「家の中にSoftEther VPNサーバーを設置し、自宅外のMacBookから、自宅内のMacのデータを取り出す・ゲームを遊ぶ用の仮想プライベートネットワークを作る」です。
この記事の1回目で触れましたが、Raspberry Piのシステムが壊れてしまったので、復旧させるところまでが目標なのです。

そもそもSoftEther VPNとは?
VPNを作成するソフトウェアの一つです。
VPNは、会社のネットワークに外部から接続する、離れた場所のLANを互いに接続する、仮想プライベートネットワークを作成する、といった用途に使用します。
私は家の外でMacを使用している時に自宅のMacをVNCで操作・データを取り出したり、自前でサーバを立てるタイプのゲームを友人と遊ぶ事に使用しています。海外在住の方が日本国外で使えないネットのサービスを日本国内のVPNを経由する事でアクセスする、実家と現在の住まいのLANを繋いで実家のブルーレイレコーダーで録画したものを視聴する、という人もいるようですね。
最初、使い方は思いつかないのですが、機能を理解できてくると、あれもこれもできるようになってくるものです。
VPNの通信内容は基本的に全て暗号化されるため、通信の通り道で盗み見されることがありません。その特徴を生かして公衆無線LANから自宅のVPNに全て通信を流してインターネットアクセスを行うことで、公衆無線LANでのプライバシーを高めている人もいるそう。
SoftEther VPNは日本発の技術。仮想ハブと仮想LANカードを繋げてVPNを構築することが特徴で、同種のソフトウェアの中でも高い柔軟性と速い通信速度を誇るとか。
その柔軟性ゆえに、会社員がネットワークの管理者に内緒で、自宅のPCを会社のネットワークに繋げる事ができてしまう為、ネットワーク管理者を震え上がらせているとかいないとか。
サポートありの有償版(PacketiX VPN)とサポートなしの無償版(SoftEther VPN)があります。


SoftEther VPNのインストールと基本設定

さて本題、今回は下記の流れになります。
・SoftEther VPN サーバーをインストール
・SoftEther VPNサーバの自動起動設定
SoftEther VPNを実際に使えるように設定するのは次回の予定です。

前回構築したRaspbianで進めていきます。

rootでログインして作業を進めます。(公式が推奨するインストール方法なので。)
MacからSSHでログインする時にユーザをrootでログインしてくださいね。

ssh root@raspberrypi.local

avahi-daemonを入れなかった方は、raspberrypi.localの部分をIPアドレスに読み替えてください。
もちろん実機で作業しても構いません。

・SoftEther VPN サーバーをインストール

1.ソースコードのダウンロード

公式サイトから、
http://www.softether-download.com/ja.aspx
ダウンロードするソフトウェアを選択:SoftEther VPN(Freeware)
プラットフォームを選択:Linux
CPUを選択:ARM EABI(32bit)
を選択してでてくる最新のソースコードを使ってください。

下記は2015年4月5日のビルドをダウンロード、解凍する例です。

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

2.アーカイブの解凍

tar zxvf softether-vpnserver-v4.15-9546-beta-2015.04.05-linux-arm_eabi-32bit.tar.gz

3.ソースコードのコンパイル準備

cd vpnserver

4.コンパイル本番

make

ここでいくつか質問をされるので、1番と答えていくと、コンパイルが終了します。

5.SoftEther VPNの設置&動作確認

コンパイルしたSoftEther VPNを適切な場所にコピーして、アクセス権を設定、動作確認を行っていきます。
下記を1行ずつ、コピペしていってください。

cd ../
mv vpnserver /usr/local/
cd /usr/local/vpnserver/
chmod 600 *
chmod 700 vpncmd
chmod 700 vpnserver
./vpncmd

すると下記のようなメッセージが出てきます。

SoftEther VPN コマンドライン管理ユーティリティ (vpncmd コマンド)
Version 4.15 Build 9546   (Japanese)
Compiled 2015/04/05 03:13:47 by yagi at pc30
Copyright (c) SoftEther VPN Project. All Rights Reserved.

vpncmd プログラムを使って以下のことができます。

1. VPN Server または VPN Bridge の管理
2. VPN Client の管理
3. VPN Tools コマンドの使用 (証明書作成や通信速度測定)

1 - 3 を選択:

とでるので

3

と回答してEnter。

VPN Tools >

とでるので

VPN Tools > check

と入力して、Enter。

Check コマンド - SoftEther VPN の動作が可能かどうかチェックする
---------------------------------------------------
SoftEther VPN 動作環境チェックツール

Copyright (c) SoftEther VPN Project.
All Rights Reserved.

この動作環境チェックツールを実行したシステムがテストに合格した場合は、SoftEther VPN ソフトウェアが動作する可能性が高いです。チェックにはしばらく時間がかかる場合があります。そのままお待ちください...

'カーネル系' のチェック中...
[合格] ○
'メモリ操作系' のチェック中...
[合格] ○
'ANSI / Unicode 文字列処理系' のチェック中...
[合格] ○
'ファイルシステム' のチェック中...
[合格] ○
'スレッド処理システム' のチェック中...
[合格] ○
'ネットワークシステム' のチェック中...
[合格] ○

すべてのチェックに合格しました。このシステム上で SoftEther VPN Server / Bridge が正しく動作する可能性が高いと思われます。

コマンドは正常に終了しました。

このように、診断が出れば問題ありません。

VPN Tools > exit

と入力してSoftEther VPN 動作環境チェックツールを終了。

ここまで一気にきましたが、すでにSoftEther VPNのインストールは完了しています。


 ・SoftEther VPNサーバの自動起動設定

SoftEther VPNサーバーインストールは完了していても、起動していないと意味がありません。
この工程は自動でSoftEther VPNサーバーを起動する設定を行います。

下記のコマンドを打ち込みます。

nano /etc/init.d/vpnserver

空白のテキストエディタが起動するので、下記をコピペしてください。

#!/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 1.0 RC2
# Description:                  Start vpnserver daemon SoftEther VPN 1.0 Server
### END INIT INFO

DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/vpnserver

. /lib/lsb/init-functions

test -x $DAEMON || exit 0

case "$1" in
start)
sleep 3
log_daemon_msg "Starting SoftEther VPN 1.0 Server" "vpnserver"
$DAEMON start >/dev/null 2>&1
touch $LOCK
log_end_msg 0
sleep 3

;;

stop)
log_daemon_msg "Stopping SoftEther VPN 1.0 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

;;

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

こちらを引用させていただきました
ペーストしたら、Control+O、Enter、Control+Xで、上書きとテキストエディタを終了します。

その後下記のコマンドを上から1行ずつコピペしてください。

chmod 755 /etc/init.d/vpnserver
update-rc.d vpnserver defaults

ここまで打ち込むとSoftEtherのサーバ(vpnserver)が自動で立ち上がってくれます。

shutdown -r now

して再起動。一度SSH接続が切断されます。
※ご存知かと思いますが、再起動や、システムの終了にはシステム管理権限(root作業か、sudo)が必要です。

1〜2分待つと再度SSHで接続できるようになりますので、普段使い用のアカウントでログインします。
ログイン後、下記のコマンドを実行します。

top

ずらずら出てくるリストに「vpnserver」があれば、SoftEtherのインストールと自動起動の成功です。
k_raspi-install-11
topコマンドはMacの「アクティビティモニタ」のように、動いているソフトウェアのCPU使用率やメモリ使用量、実行者の名前などを確認できるコマンドです。
終了するには「Control+C」を押します。

 


 

これでSoftEther VPN サーバーのインストールは完了です。

次回は
SoftEtherへの接続させるためのポート開放設定
どのようなネットワークを設定するのか
を行っていく予定です。

なお、Macで、なんてタイトルに書いてあるのですが、SoftEther VPNのサーバー設定にはWindowsを使います。スビバセンガヨロシクオネガイシマス…。
コマンドラインでも操作できるのですが、設定項目が多くて、私は諦めました。

MacユーザがRaspberry Pi2をセットアップする-4(SoftEther VPNサーバー設定編)

<Raspberry Piの設定を行った記事>
MacユーザがRaspberry Pi2をセットアップする-1(Raspberry PiにOSをインストール)
MacユーザがRaspberry Pi2をセットアップする-2(Raspbianを設定)
MacユーザがRaspberry Pi2をセットアップする-3(今回の記事/SoftEther VPNサーバーをインストール)
MacユーザがRaspberry Pi2をセットアップする-4(SoftEther VPNサーバー設定編)
MacユーザがRaspberry Pi2をセットアップする-5(WinでVPNに接続する)
MacユーザがRaspberry Pi2をセットアップする-6(MacでVPNに接続する)
MacユーザがRaspberry Pi2をセットアップする-7(ゲーム用VPNを作成する)