RaspberryPi1でSoftEther設定してみた

## 参考

* [Raspberry Pi3にVPNサーバーとVNCサーバー立ててiPhoneから艦これするまでメモ（その1） - Qiita](http://qiita.com/r9ff12/items/01806a338958b48cfa91)
* [SoftEther vpnserver (接続できた) - Qiita](http://qiita.com/tukiyo3/items/3a123db45404d30d7a07)

## IP設定

```
sudo apt-get -y install bridge-utils
```

```bash:/etc/network/interfaces.d
# 以下追記
auto br0
iface br0 inet static
	address 10.0.1.2
	netmask 255.255.255.0
	gateway 10.0.1.1
	bridge_ports eth0
	bridge_maxwait 10
```

* OS再起動し、IPアドレスが変わったことを確認。

## SoftEther download

![rpi.png](https://qiita-image-store.s3.amazonaws.com/0/25728/b408510b-e44b-7459-5d31-4fb03f980456.png)

```
tar xzf softether-vpnserver-*.tar.gz
cd vpnserver
make -f Makefile
# 1 > 1 > 1 と入力し先に進む
```

```bash:check
$ ./vpncmd
vpncmd コマンド - SoftEther VPN コマンドライン管理ユーティリティ
SoftEther VPN コマンドライン管理ユーティリティ (vpncmd コマンド)
Version 4.21 Build 9613   (Japanese)
Compiled 2016/04/24 16:39: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

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

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

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

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

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

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

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

## vpnserver設定

```bash:
# 起動
sudo ./vpnserver start
```

```bash:管理ユーティリティで接続
$ ./vpncmd
# 1 > Enter > Enter
```

```bash:
VPN Server>HubCreate
HubCreate コマンド - 新しい仮想 HUB の作成
作成する仮想 HUB の名前: 

空白を指定することはできません。
作成する仮想 HUB の名前: hub1

パスワードを入力してください。キャンセルするには Ctrl+D キーを押してください。

パスワード: Enter押下
確認入力  : Enter押下
```

```bash:
VPN Server>Hub hub1
Hub コマンド - 管理する仮想 HUB の選択
仮想 HUB "hub1" を選択しました。
コマンドは正常に終了しました。
```

```bash:ユーザーの作成
VPN Server/hub1>UserCreate User1 /GROUP:none /REALNAME:none /NOTE:none
```

```bash:ユーザーのパスワード設定
VPN Server/hub1>UserPasswordSet User1
UserPasswordSet コマンド - ユーザーの認証方法をパスワード認証に設定しパスワードを設定
パスワードを入力してください。キャンセルするには Ctrl+D キーを押してください。

パスワード: ***********
確認入力  : ***********
```

```bash:
VPN Server/hub1>SecureNatEnable
SecureNatEnable コマンド - 仮想 NAT および DHCP サーバー機能 (SecureNAT 機能) の有効化
```

```bash:
VPN Server/hub1>SecureNatEnable
SecureNatEnable コマンド - 仮想 NAT および DHCP サーバー機能 (SecureNAT 機能) の有効化
コマンドは正常に終了しました。

VPN Server/hub1>
VPN Server/hub1>IPsecEnable
IPsecEnable コマンド - IPsec VPN サーバー機能の有効化 / 無効化
L2TP over IPsec サーバー機能を有効 (yes / no): yes

Raw L2TP サーバー機能を有効 (yes / no): no

EtherIP / L2TPv3 over IPsec サーバー機能を有効 (yes / no): no

IPsec 事前共有鍵の文字列 (9 文字以下を推奨): VPNRPi1Bp

VPN 接続時に仮想 HUB 名が省略された場合のデフォルト仮想 H
UB 名: hub1
```


```
# 停止
sudo ./vpnserver stop
```

## iPhoneから接続設定

```
設定→一般→VPN→VPN構成を追加→L2TP

説明：rpi1vpn
サーバ：(グローバルIPなどをセットする)
アカウント：サーバに登録したユーザ＠ハブ名（例：User1@hub1）
RSA SecurID：オフ
パスワード：ユーザに設定したパスワード
シークレット：IPsec事前共有鍵 (例: VPNRPi1Bp)
すべての信号を送信：オン
```

![pass.png](https://qiita-image-store.s3.amazonaws.com/0/25728/433c47d7-4a92-fc2b-bf20-51d8b4618ae2.png)

## ubuntu16.04から接続設定

* [nm-l2tp/network-manager-l2tp](https://github.com/nm-l2tp/network-manager-l2tp)を使う。

```bash:
wget https://github.com/nm-l2tp/network-manager-l2tp/archive/1.2.2.tar.gz
tar xzf 1.2.2.tar.gz
cd network-manager-l2tp-1.2.2
```

```bash:
sudo apt install \
  dh-autoreconf libgtk2.0-dev intltool ppp-dev libgtk-3-dev libnma-dev \
  libsecret-1-dev libnm-gtk-dev libnm-glib-vpn-dev
./autogen.sh
./configure \
  --prefix=/usr --localstatedir=/var --sysconfdir=/etc \
  --libexecdir=/usr/lib/NetworkManager \
  --with-pppd-plugin-dir=/usr/lib/pppd/2.4.7 \
  --enable-absolute-paths
make
sudo make install
```

![l2tp.png](https://qiita-image-store.s3.amazonaws.com/0/25728/e52b2cd1-54b7-8e10-07ca-ce1c646009fc.png)

![setting.png](https://qiita-image-store.s3.amazonaws.com/0/25728/54228d75-f22b-c604-c741-a52e41614aad.png)