Raspberry Pi3にVPNサーバーとVNCサーバー立ててiPhoneから艦これするまでメモ（その1）


#流れ
OSインストール
↓
初期設定
↓
VPNサーバー立てる　←この記事ではここまでやる
↓
Chromiumインストール
↓
VNCサーバー立てる
↓
iPhoneから艦これ！



##SDのフォーマット
[SDフォーマッター](https://www.sdcard.org/jp/downloads/formatter_4/)とかでSDをフォーマットしておく。

##NOOBSのダウンロード
[Raspberry Pi公式サイト](https://www.raspberrypi.org/)よりDOWNLOADS -> NOOBSと進みNOOBSをダウンロード（LITEじゃないよ）

![image](https://qiita-image-store.s3.amazonaws.com/0/49727/f4158bc0-f1c4-9b7b-c479-f6cd6ef629ed.png)

ダウンロードしたら解凍して中身を全てSDカードにコピー。


##OSインストール
SDカードをRaspberry PiにさしてOSインストール。（OSはもちろんRasbianを選択）

[Raspberry Pi 3でRaspbian Jessieをセットアップする方法](http://karaage.hatenadiary.jp/entry/2016/04/03/080000)を参考に
**Menu -> Preferences -> Raspberry Pi Configuration**より
Systemタブ内
Password
HostName
を設定。

Localisationタブ内
Locale (Japan/UTF-8)
TimeZone (Asia/Tokyo)
Keyboard (日本語)
Wifi Country (Japan)
を設定。

##初期設定

日本語環境インストール
画面左上のパソコンみたいなマークよりターミナルを起動。
`sudo apt-get update`
`sudo apt-get -y install fonts-vlgothic ibus-mozc`

vimインストール
`sudo apt-get -y install vim`


ここまで終わったら再起動して各種アップデートを行う。

`reboot`
----再起動処理-----

再起動したら再びターミナルを起動して
`sudo apt-get update`
`sudo apt-get upgrade`
`sudo rpi-update`


##VPNサーバーの設定
参考サイト
[Raspberry PiとSoftEtherでVPN接続（Raspbian Jessie）](http://kumaho.info/archives/2995)
[MacユーザがRaspberry Pi2をセットアップする-1](http://cltz.chu.jp/sw/kamome/mac%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%8Craspberry-pi2%E3%82%92%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97%E3%81%99%E3%82%8B-1/)
[Raspberry Pi 2 Model B で L2TP/IPSec VPNサーバを構築してみた（その１）](http://xn--u9j0md1592aqmt715c.net/raspberry-pi2-vpnserver-part1/)

###ブリッジユーティリティをインストール
`sudo apt-get -y install bridge-utils`

Raspberry Piに固定IPを設定している場合は、
`sudo vim /etc/dhcpcd.conf`
を編集し該当箇所をコメントアウトか削除しておく。

`sudo vim /etc/network/interfaces`
でbridgeの設定を以下のように追記。

```console:/etc/network/interfaces
 
auto lo
iface lo inet loopback

iface eth0 inet manual
 
allow-hotplug wlan0
iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
 
allow-hotplug wlan1
iface wlan1 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
 
#以下追記
auto br0
iface br0 inet static #固定IP
address 192.168.3.20 #Raspberry PiのIPアドレス
netmask 255.255.255.0 #サブネットマスク
broadcast 192.168.3.255 #ブロードキャストアドレス
gateway 192.168.3.1 #ゲートウェイ（うちの場合はルータ）
bridge_ports eth0 #bridgeするポート
bridge_maxwait 10
```

###SoftEtherのインストール

[SoftEtherのサイト](http://www.softether-download.com/ja.aspx?product=softether)からVPNサーバーをダウンロード。

![image](https://qiita-image-store.s3.amazonaws.com/0/49727/bb835543-a58c-368c-00dc-376afb7cf8d7.png)

ここからはルートで作業。
`su -`

ダウンロードしたファイルを解凍し、makeを実行。
`cd ダウンロードしたファイルのあるフォルダまでのPath`
`tar zxvf ファイル名`
`cd vpnserver`
`make`

ディレクトリを/usr/local/に移動。
`cd ../`
`mv vpnserver /usr/local/`

パーミッションを変更。
`cd /usr/local/vpnserver`
`chmod 600 *`
`chmod 700 vpn*`

起動スクリプト作成。
`vim /etc/init.d/vpnserver`

```console:/etc/network/interfaces
#!/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 4.18 RTM
# Description:              Start vpnserver daemon SoftEther VPN 4.18 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 4.18 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 4.18 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
```

実行権限を付与し、自動起動登録。
`chmod +x /etc/init.d/vpnserver`
`apt-get -y install chkconfig`
`chkconfig --add vpnserver`

ここまででRaspberry Pi側の設定は一旦終了。

###管理マネージャー設定
Windows（or Mac）から管理マネージャーの設定をする。（参考サイト参照）

###ルータ側でIP固定、ポート開放等
ルータ側でRaspberry Piの固定IPを指定。
また、VPN接続のためにUDP/500とUDP/4500を開放。

###iPhoneから接続確認
設定→一般→VPN→VPN構成を追加→L2TP

説明：適当な名前
サーバ：DDNS（***.softether.net）
アカウント：サーバに登録したユーザ＠ハブ名（例：test@vpn）
RSA SecurID：オフ
パスワード：ユーザに設定したパスワード
シークレット：IPsec事前共有鍵
すべての信号を送信：オン

接続できれば完了。お疲れさまでした。