[VPN]グローバルIPが振られてない自宅のネットワークにVPNを引っ張る(2/4)

未分類

2018-10-10

前回の続きです。
ここでは、自宅のLANとVPSに建てたVPNサーバーをつなぐVPNブリッジをRaspberry Pi上に建てていきます。

VPNのセットアップ自体はVPN Serverを建てたときとほとんど同じです。

セットアップ

Raspberry Piに必要なパッケージのインストール

まずはVPNを導入する上で必要なパッケージをインストールします。
最初はaptリポジトリの更新とパッケージのアップグレードです

$ sudo apt-get update && sudo apt-get -y upgrade

VPNを導入する上で必要なパッケージはいくつかありますが、そのほとんどをまとめてインストールできるパッケージがあるので、それを使っていきます。

$ sudo apt-get install build-essential

あとは任意のテキストエディタをインストールしてください。

SoftEtherVPN Bridgeのインストール

SoftEther VPNのインストール方法は大きく2通りの方法があります。

  • 公式サイトのインストーラを使った方法
  • GitHubからソースコードをダウンロードして直接ビルドする方法

今回は公式サイトのダウンロードセンターからインストーラをダウンロードしていきます。

ソフトウェアのダウンロード

(ここはPCでの操作です)

SoftEther ダウンロードセンターから、ソフトウェアをダウンロードします。
構成は以下のように選択してください。

  • ダウンロードするソフトウェアを選択…「SoftEther VPN(freeware)」
  • コンポーネントを選択…「SoftEther VPN Bridge」
  • プラットフォームを選択…「Linux」
  • CPUを選択…「ARM EABI(32bit)」

ここまで選択するとダウンロードリンクが出てくるので、URLを控えておいてください。
GitHubのリリースノートから最新版のバージョンを確認することができるので、気になった方は確認してください。)

先ほどのファイルをRaspberry Pi上にダウンロードしていきます。

※Raspberry PiとSSH接続できる環境でインストールする事をお勧めします。
(なくてもインストールはできますが、URLを直接打ち込む必要があるため面倒な作業が増えます。)

ダウンロード方法をいくつか挙げておくので、お好みの方法でダウンロードしてください。

Raspberry Piにデータ転送する方法(SSH必須)

$ scp [USERNAME]@xxx.xxx.xxx.xxx:/home/pi ~/Downloads/softether-vpnbridge-v4.28-9669-beta-2018.09.11-linux-x64-64bit.tar.gz

USERNAME、ipアドレスは自身の環境ごとに変えてください。

Raspberry Piをリモート操作してダウンロードする方法(SSH必須)

SSH接続した状態のターミナルで以下のコマンドを入力します。


$ wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.28-9669-beta/softether-vpnbridge-v4.28-9669-beta-2018.09.11-linux-x64-64bit.tar.gz

SSH環境がない場合の方法

Raspberry Pi上のターミナルで以下のコマンドを入力します。


$ wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.28-9669-beta/softether-vpnbridge-v4.28-9669-beta-2018.09.11-linux-x64-64bit.tar.gz

インストール

ダウンロードしたファイルを解凍して、インストールします。

$ tar -zxvf softether-vpnbridge-v4.28-9669-beta-2018.09.11-linux-x64-64bit.tar.gz
$ cd vpnbridge
$ make

ライセンス同意に関するメッセージが出てくるので、全て「1」を選択して進みます。(3回ほど入力を求められます。)
その後コンパイルが始まり、動作環境のチェックが始まります。
全て「合格」と出ればOKです。

先ほどできた「vpnbridge」フォルダを /usr/local/ フォルダに移動させます。

$ sudo mv ~/vpnbridge /usr/local/

権限を修正します。

$ cd /usr/local/vpnbridge/
$ sudo chmod 600 *
$ sudo chmod 700 vpncmd vpnbridge

確認

きちんと動くかどうかを確認します。

$ sudo /usr/local/vpnbridge/vpncmd
vpncmd コマンド - SoftEther VPN コマンドライン管理ユーティリティ
SoftEther VPN コマンドライン管理ユーティリティ (vpncmd コマンド)
Version 4.27 Build 9668   (Japanese)
Compiled 2018/05/29 21:51:20 by yagi at pc33
Copyright (c) SoftEther VPN Project. All Rights Reserved.
vpncmd プログラムを使って以下のことができます。
1. VPN Server または VPN Bridge の管理
2. VPN Client の管理
3. VPN Tools コマンドの使用 (証明書作成や通信速度測定)
1 - 3 を選択:

ここで「3」を選択します。

1 - 3 を選択: 3
VPN Tools を起動しました。HELP と入力すると、使用できるコマンド一覧が表示できます。
VPN Tools>

「check」と入力します。

VPN Tools> check
Check コマンド - SoftEther VPN の動作が可能かどうかチェックする
---------------------------------------------------
SoftEther VPN 動作環境チェックツール
Copyright (c) SoftEther VPN Project.
All Rights Reserved.
この動作環境チェックツールを実行したシステムがテストに合格した場合は、SoftEther VPN ソフトウェアが動作する可能性が高いです。チェックにはしばらく時間がかかる場合があります。そのままお待ちください...
'カーネル系' のチェック中...
              [合格] ○
'メモリ操作系' のチェック中...
              [合格] ○
'ANSI / Unicode 文字列処理系' のチェック中...
              [合格] ○
'ファイルシステム' のチェック中...
              [合格] ○
'スレッド処理システム' のチェック中...
              [合格] ○
'ネットワークシステム' のチェック中...
              [合格] ○
すべてのチェックに合格しました。このシステム上で SoftEther VPN Server / Bridge が正しく動作する可能性が高いと思われます。
コマンドは正常に終了しました。
VPN Tools>

動作確認ができたので。起動します。

$ sudo /usr/local/vpnbridge/vpnbridge start
SoftEther VPN Bridge service has been started.

ブリッジサーバーが立ち上がりました。

自動起動の設定

再起動時にも自動でアプリケーションが立ち上がるように設定をします。

お好みのテキストエディタで /etc/init.d/vpnbridge を新規作成し、以下のテキストを入力します。

  $ sudo nano /etc/init.d/vpnbridge
  :/etc/init.d/vpnbridge
  #!/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
  # Description:    SoftEther VPN Server
  ### END INIT INFO
  DAEMON=/usr/local/vpnserver/vpnserver
  LOCK=/var/lock/vpnserver
  vpn_start() {
  ${DAEMON} start
  }
  vpn_stop() {
  ${DAEMON} stop
  }
  test -x ${DAEMON} || exit 0
  case "$1" in
  start)
  vpn_start
  touch ${LOCK}
  ;;
  stop)
  vpn_stop
  rm ${LOCK}
  ;;
  restart)
  vpn_stop
  sleep 3
  vpn_start
  ;;
  *)
  echo "Usage: $0 {start|stop|restart}"
  exit 1
  esac
  exit 0

作成したファイルに権限を付与します。

$ sudo chmod a+x /etc/init.d/vpnbridge

自動起動するように設定します。(RaspbianはCentOSのchkconfigが使えません。なのでここは前回の記事とコマンドが異なります。)

$ sudo update-rc.d vpnbridge defaults

Raspberry Piを再起動します

$ sudo reboot

次回からここまで建てたサーバーとブリッジを接続して、自宅内のLANに接続できるようにしていきます。

未分類

Posted by まんようしゅう