Windows で VPN サーバーを建てて Android から接続してみよう

街を歩いているとよく Wi-Fi が飛んでますね。
暗号化がかかっていないところに接続しようとしていた友人がいたので彼女のためにも VPN サーバーを建てることにしました。

##用意するもの##
1. IP アドレスが固定の Windows マシン　（ OS は Windows Server 2016 Datacenter で行います）
2. やる気

##使うソフト##
SoftEther VPN Server を使って構築していきます。

##構築する##
###ダウンロード###
http://www.softether-download.com/ja.aspx?product=softether
ここから SoftEther VPN Server をダウンロードします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/9f0385a6-b3f3-5d2e-0108-9fa7464ad59b.png)
・ダウンロードするソフトウェアを選択 : SoftEther VPN (freeware)
・コンポーネントを選択 : SoftEther VPN Server
・プラットフォームを選択 : Windows
・CPU を選択 : Intel (x86 and x64)
※ SoftEther VPN Server and VPN Bridge (Ver x.xx, Build xxxx, rtm) ← beta ではなく rtm 版を選んでください。
執筆時点(2017/10/04 10:41時点) 
![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/50ade46c-7db5-4cef-e825-c237125a879a.png)

###インストール###
![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/d75410d8-79eb-e3de-140a-95829604fd95.png)
次へ(N) >　をクリック

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/d6bb42e8-2127-4262-217a-e08f6e769275.png)
SoftEther VPN Server を選択し、次へ(N) >　をクリック

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/8ca10dae-ede3-499c-11c3-c3a025db83e0.png)
同意する場合はチェックボックスにチェックを入れて 次へ(N) >　をクリック

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/c0115b7d-4a17-90ec-d875-b2d18cf25fe6.png)
説明を読んで納得(?)したら 次へ(N) >　をクリック

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/4426f7fa-3faf-f17a-f165-2e85ca774efd.png)
場所を変更しなければそのまま 次へ(N) >　をクリック
変更する場合は下のラジオボタンをクリックして場所を指定し、 次へ(N) >　をクリック

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/7e31ff0a-bf45-29df-86ad-2c3d906bf39c.png)
インストールを開始しましょう。 次へ(N) >　をクリック

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/d281783f-aa08-ae8b-09ba-f24c3c16105f.png)
インストール中。環境によって多少異なりますが私の環境ですと大体3分程度でインストールが完了しました。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/cd9617e4-6e23-766f-76f4-569a11e67939.png)
完了しました。勝手にサーバー管理マネージャも入るようですね。起動しましょう。 完了 をクリック

###設定###
![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/a60c194a-3546-19ac-61f8-7a2c5ea6f688.png)
サーバー管理マネージャが起動しました。
localhost (このサーバー) を選択して 接続(C) をクリック

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/cc0306b5-8c24-26e2-14ba-4eb34514f6bd.png)
初回のみこのように VPN サーバーの管理者パスワードを設定する必要があります。それなりに強力なパスワードにした方がいいかと思います。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/fbc1c649-ec24-0a4d-d903-b79a8c774c94.png)
設定が完了するとこの画面に遷移されます。用途にあったもののチェックをいれて 次へ(N) >　をクリック
私は拠点間 VPN は必要ないのでリモートアクセス VPN サーバーのみにチェックを入れました。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/3354e4b1-319f-db28-0ada-28aa54077ab1.png)
このメッセージは はい(Y) をクリックして良いと思います。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/73a5b7ca-91ba-2bb1-c1b4-663bf42a12dd.png)
仮想 HUB の名称を設定します。VPN のままではあれなので変更しましょう。ここでは VirtualHub とします。

![キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/204925/2c5ee451-5220-58d6-669a-b2287d1fb75d.png)
SoftEther が提供しているダイナミック DNS を利用したい場合で、アドレスを変更したければここで変更しておきましょう。
設定が終わったら 閉じる(X) をクリック

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/1c4f2ec9-16b3-d29b-66f8-2e737dc6496a.png)
ここで PC やスマートフォン等から VPN 接続したい場合に L2TP や IPsec を利用するように設定できます。
ここでは主にスマートフォンからのアクセスを想定して L2TP over IPsec の L2TP サーバー機能を利用するため一番上にチェックを入れました。
また、IPsec を利用する際に使用する事前共有キーを設定します。わかりづらい文字列にしましょう。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/e7c0402f-36fd-c79c-094f-95a8d036e1d8.png)
事前共有キーが長いとこのような画面が出ますが、よっぽど古い Android 端末でない限り大丈夫そうなので いいえ(N) をクリックして進みましょう。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/5ca56360-f0f6-0831-c676-3828641cecee.png)
これは VPN Azure の使い方 を読んで利用するかどうかを決めてください。
まあ、簡単に言えば Azure のサービスを利用して簡単に接続できるようになるよーというものだと思います。
ここでは使わないので VPN Azure を無効にする(D) のラジオボタンを有効にして OK を押します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/d7b159b4-0b87-1f5b-6be6-4ed5e299f95e.png)
GUI は楽ですね。ここで接続に使うユーザーを作成できます。
なお、冒頭で拠点間 VPN を有効にしなかったのでここでは２番がグレーアウトされています。
ここではローカルブリッジ接続は選択しません。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/c7aa4f59-9b20-cbe0-adf8-c5fa1b8c932f.png)
矢印のところを適宜埋めてください。証明書認証等を行いたい場合はここでいろいろいじってください。
ここではユーザー名を user とします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/a36afcab-b8de-4739-08bb-d20c0cdc83e3.png)
作成に成功するとこのようになります。（ユーザー名は先程設定したものになります。）
確認ができたので 閉じる(X) をクリック

簡易セットアップの画面に戻るので、これも 閉じる(C) をクリック

![キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/204925/0ae592ed-420a-a765-e2aa-714a7407d61c.png)
この画面が出ていると思います。
先程作った仮想 HUB (ここでは VirtualHub) を選択し、仮想 HUB の管理(A) をクリック

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/51459ba4-1eb9-0870-9c0e-b479b6a81fd1.png)
今回は Android 端末から接続することを目標としているので仮想 NAT および仮想 DHCP サーバー機能を利用します。（これをしないと繋げなかった）
仮想 NAT および仮想 DHCP サーバー機能(V) をクリック

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/febffcd6-4b4c-7972-f369-3ceee3cb33db.png)
SecureNAT 起動を有効にする(E) をクリックして有効にしてください。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/a681c8d0-e8d5-c26d-def4-b1eaf87c38d9.png)
この画面が出ますが、今回は必要なため OK を押します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/204925/4d182a93-10d7-a1fb-37f7-cc08ddc262b8.png)
SecureNAT 起動を有効にする(E) がグレーアウトされていれば有効になっています。閉じる(X) をクリック

これでサーバー側の設定は終了です。

ポートの設定を行いましょう。
今回は Android からの接続がメインなので UDP にすることにしました。
UDP : 4500
UDP : 500
を開放しましょう。

これですべての設定が終了しました。
あとは接続テストを行ってうまく繋がれば成功です。
うまく繋げているかを確認するために私が使用しているものは http://kakunin.net というサイトです。
ここではアドレス等を確認できるため表示されたプロバイダー名が VPN サーバーのプロバイダー名になっているかを確認できます。

##おわりに##
こんなに長いものを読んでいただきありがとうございます。
初めての投稿ですが私自身の備忘録としても使う予定なので無駄に長くなってしまいました。
誤字脱字や間違い等がありましたらコメントしていただけるとありがたいです。
これがどこかのどなたかのお役に立ててれば幸いです。