この記事の対象者
-
外出先から自宅のネットワークへVPNでアクセスしたい方
-
既存の記事のやり方ではなぜか失敗してしまっている方
作りたいもの
タイトル通り、外出先から自宅のネットワークへアクセスする仕組みを
-
SoftEther
-
AWS(EC2)
-
ラズパイ(Ubuntu18.04)
今回の場合、自宅のネットワークのポート解放は行わなくて良いです
全体の流れ
- EC2にインスタンスを作成
- EC2にSoftEther VPN Serverをインストール
- 自宅のラズパイにSoftEther VPN Bridgeをインストール
- EC2とラズパイをカスケード接続
- 外出先からEC2へVPN接続し、疎通確認
ざっくりこんな流れです
1. EC2にインスタンスを作成
ここの手順はいくらでも記事があるので今回は省略しますが、インスタンスタイプに関しては私の場合無料枠がまだあったのでt2.microを選択しました(ここのスペックで通信速度が変わると思ってます)
##2. EC2にSoftEther VPN Serverをインストール
この部分に関してはこちらの記事を参考に進めました
この時点では仮想HUBやユーザーはまだ作成しないでください
ここで注意点があります
「仮想 NAT および DHCP サーバー機能 (SecureNAT 機能) の有効化」については行わないでください
これは単体のVPNサーバーとして用いるなら有効化して構わないのですが、今回の場合これを有効化してしまうと失敗します(私も詳しくは無いですが、カスケード接続で双方向の通信が必要なのにNATがあるとそれが阻まれてしまうのだろうと解釈しています。。。)
##3. 自宅のラズパイにSoftEther VPN Bridgeをインストール
これも2とほぼ同様の手順(VPN ServerをVPN Bridgeに読み替えて行ってください)
##4. EC2とラズパイをカスケード接続
ここからは自宅のネットワークのMacかWindowsのPC(ラズパイと同じネットワークのPC)でSoftEther VPN Server Managerによって作業を行っていきます
ソフトの使い方自体は他にいくらでも記事があるので省略しますが、流れを示します
###EC2側
- Server Managerでもvpncmdでもどちらでも良いですが、仮想HUBを一つとそれに対するユーザーを2つ作ります(ユーザーを2つ作るのはカスケード接続用と通常のVPNサーバー用で分けるためです)
- L2TPをONにして事前共有キーを控えておきます
- 先程出てきたSecureNATをここで設定します。具体的には、NAT機能は無効にしてDHCPサーバーとしての機能のみ有効にします。これに関するServer Managerによる手順は以下の通りです
「仮想HUBの管理」 → 「仮想NATおよび仮想DHCPサーバー機能」
と進んだ後、SecureNATが無効であることを確認した後に
「SecureNATの設定に進みます」
その後、次のように「仮想NAT機能を使用する」からチェックを外し、
「仮想DHCPサーバー機能を使用する」にチェックを入れてください
これでEC2側の設定は終了です
###ラズパイ側
- まず仮想HUBを1つ作ります
- 次に1で作った仮想HUBの設定化からEC2側の仮想HUBへカスケード接続を行います
- こちらはEC2側とは違ってSecureNATを有効にします(NAT機能とDHCPサーバー機能が両方有効です)
これでラズパイ側の設定は終了です
##5. 外出先からEC2へVPN接続し、疎通確認
ここまでで目的のネットワークは完成しているので、出先からEC2へVPN接続して自宅のNAS等にアクセス出来ることを確認してください
#注意点・ポイント
-
SecureNATの設定が肝になります。ここを間違えないようにしましょう
-
ローカルブリッジを作成するといった記事が多いのですが、私の環境では失敗してしまったので、同様の状態に陥っている方はこちらの記事を試してみてください(ここは完全に私の理解不足なのでローカルブリッジを作成した上でも成功する方法はあるかもしれません)
-
今回のような構成だとEC2へ接続できた時点で自宅のネットワークに即侵入されることになるのでセキュリティーグループの設定等には十分注意しましょう
-
今回の記事ではラズパイを使いましたが、SoftEtherが動けばなんでも良いと思います(未検証)
#参考にさせていただいた記事