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



# お知らせ
こんにちは、愛知工業大学システム工学研究会です。
この記事は、2018-10-16に書かれた記事です。
間違った内容や古い内容が紛れていますが、過去の記事を残す一環として記事を書きます。
よろしくおねがいします。

* * *

こんにちは。ブログ初投稿のまんようしゅうです。

さて、今回はグローバルIPアドレスのない自宅にレンタルサーバーからSoftEther VPNを通してグローバルIPを引っ張ってくる話をします。

## 対象読者 {#toc_1}

・SoftEther VPNを使ってVPNサーバーを建てたい

・契約してるネットワークプロバイダがグローバルIPアドレスをくれないので色々困ってる

・マンションにある上位ルーターのセキュリティが厳しいのですり抜けたい

## 目次 {#toc_2}

1. [必要なもの](#%E5%BF%85%E8%A6%81%E3%81%AA%E3%82%82%E3%81%AE)

2. [セットアップ](#%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97)

## 1.必要なもの {#toc_3}

・Raspberry pi

　(VPNブリッジ用。OSはRaspbian Jessieを使いました。)

・VPSサーバー

　自分はさくらのサーバーを借りてます。自分の構成は以下の通り

* CentOS 7.5 x86_64
* メモリ 2GB
* ssd 50GB

・SoftEther VPNの各種ソフトウェア  

* VPN Server Manager
* VPN Bridge
* VPN Client

・PC

　（各種ソフトウェアのダウンロードとVPN Sever Managerを使用するために使います。GUIが動けばMac、Windows、Linuxどれでも可。）

## 2.セットアップ {#toc_4}

### ・VPS側の設定 {#toc_5}

#### SoftEther VPN Serverのインストール {#toc_6}

（ここはGUIでの操作です）

[SoftEther ダウンロードセンター](http://www.softether-download.com/ja.aspx?product=softether "Download")から、ソフトウェアをダウンロードします。

コンポーネントは「SoftEther VPN Server」、プラットフォーム、CPUはVPSの構成に合わせたものを選択してください。

ここまで選択するとダウンロードリンクが出てくるので、ダウンロードリンクを控えておいてください。

##### 例 {#toc_7}

![](https://set1.ie.aitech.ac.jp/blog/wp-content/uploads/2018/10/SoftEtherDownload-300x190.png)

（ここからまたVPSでの作業に戻ります）

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

<div>

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

</div>

ファイルを解凍、インストールしていきます

<div>

```
$ tar -zxf softether-vpnserver-v4.28-9669-beta-2018.09.11-linux-x64-64bit.tar.gz $ cd vpnserver $ make
```

</div>

ライセンス同意に関するメッセージが出てくるので、全て「１」を選択して進みます。（3回ほど入力を求められます。）

その後コンパイルが始まり、動作環境のチェックが始まります。

全て「合格」と出ればOKです。

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

<div>

```
$ sudo mv ~/vpnserver /usr/local/
```

</div>

権限を修正します。

<div>

```
# cd /usr/local/vpnserver/ # chmod 600 * # chmod 700 vpncmd vpnserver
```

</div>

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

<div>

```
# /usr/local/vpnserver/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 を選択:
```

</div>

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

<div>

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

</div>

「check」と入力します。

<div>

```
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>
```

</div>

動作確認ができました。とりあえずVPSでのVPNは正常に動作するようになりました。

このままだと再起動時に自動でアプリケーションが立ち上がらないので、自動起動できるように設定します。

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

<div>

```
# sudo vim /etc/init.d/vpnserver
```

</div>

（以下を入力）

<div>

```
#!/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
```

</div>

作成したファイルに権限を付与し、自動起動するように登録します。

<div>

```
# chmod a+x /etc/init.d/vpnserver # chkconfig --add vpnserver
```

</div>

VPSを再起動後、きちんと動いてるかどうか確認します。

<div>

```
# reboot
```

</div>

<div>

```
$ systemctl status softethervpn
```

</div>

<div>

```
● softethervpn.service - SoftEther VPN Server Loaded: loaded (/etc/systemd/system/softethervpn.service; enabled; vendor preset: disabled) Active: active (running) since 月 2018-10-15 15:03:57 JST; 20h ago Process: 943 ExecStart=/usr/local/vpnserver/vpnserver start (code=exited, status=0/SUCCESS) Main PID: 963 (vpnserver) CGroup: /system.slice/softethervpn.service ├─963 /usr/local/vpnserver/vpnserver execsvc └─964 /usr/local/vpnserver/vpnserver execsvc 10月 15 15:03:56 tk2-407-44969.vs.sakura.ne.jp systemd[1]: Starting SoftEther VPN Server... 10月 15 15:03:57 tk2-407-44969.vs.sakura.ne.jp vpnserver[943]: The SoftEther VPN Server service has been started. 10月 15 15:03:57 tk2-407-44969.vs.sakura.ne.jp systemd[1]: Started SoftEther VPN Server.
```

</div>

こんな感じのメッセージが出たらオッケーです。

(成功していれば、3行目に緑字で 「<font color="Green">active (running)</font>」と表示されているはずです。)

# 次回
https://qiita.com/ait-sysken/items/9499c659c099b22e1bb8