VPN構築メモ(2020年1月版)

宅内のLANに外出先から繋げられるようにと構築したVPNですが、すごく便利でなくてはならない存在となっています。

前に構築メモとして記事にまとめたのですが、改めて設定を見直したら更にいい感じになりましたのでまた記事に残しておこうかと思います。
(以前の記事はこちら)

関連記事

マンションタイプのネット回線であるがために、各戸内に構成したLANにインターネット側からたどり着けない環境において、如何にしてそれを覆すか。 要するに、外出先から自宅のLANにあるNASからファイルを取り出したいけどさぁどうしようって時の[…]

IMG

上記の記事以外にも当ブログ内を「VPN」で検索すればいろいろとヒットしますので機会がありましたら是非!

宅内のネットワーク構成

建物そのもののネット回線はいわゆるマンションタイプの光回線でおそらくLAN配線方式だと思われます。
各戸のWAN側(LANケーブル差し込み口)にはプライベートIPが割り振られています。
宅内にルーターを設置して建物内のLANとは別セグメントのLANを構成しています。(いわゆる二重ルーター状態)

このタイプの特徴

建物にある大元のルーターがファイアウォールとなるため、各戸がインターネット側からの攻撃にあう可能性が低くなります。
しかしその利点がそのまま欠点にもなり、意図したインターネット側からのアクセスを許可するには建物のルーターの設定を変更する必要があります。
(「ポートを開ける」などと言われる操作です)
建物のルーターの設定を弄れる権限を各住人に与えてくれるはずはなく、このタイプのネットワークではインターネット側からのアクセスは諦めるしかないという状況になります。

VPN構築に必要なもの

そういうネットワークであってもVPNを構築すればインターネット側からアクセスすることが可能になります。
(VPNが何かということは調べてください😅)
構築のためには下記のものが必要になります。

  • VPNサーバー

    グローバルIPが割り振られているサーバーマシンが必要です。
    今回は実機を用意せずVPS上のLinux機にSoftEther VPN Serverをインストールして使用します。

  • VPNブリッジ

    宅内のLANと上記VPNサーバーを繋ぐ役割を担います。
    宅内に置いて常時起動しておく必要があるため、静かで発熱の少ないRaspberry PiにSoftEther VPN Bridgeをインストールして使用します。

VPNサーバー側設定

SoftEther VPN Serverの入手方法とかインストール方法や細かい設定は省略します。
このあたりについては素晴らしい記事がインターネット上にたくさんありますのでそちらを参考にしてください。😅
ポイントになる手順は下記です。
尚、設定にあたっては「SoftEther VPN Server Manager」を使っています。
macOS版はCatalinaでは動きません。(32bitソフトのため)

  1. 仮想HUBを作成します。
  2. 「IPsec/L2TP設定」で「L2TPサーバー機能を有効にする(L2TP over IPsec)」を有効にします。
    「IPsec事前共有鍵」も忘れずに設定してください。
  3. 1.で作成した仮想HUBに「VPN接続用のユーザー」と「ブリッジ接続用のユーザー」の2つを作成します。

VPNブリッジ側設定

SoftEther VPN Bridgeの入手方法とかインストール方法や細かい設定は省略します。
ポイントになる手順は下記です。
尚、こちらも設定に当たっては「SoftEther VPN Server Manager」を使っています。

  1. 仮想HUBを作成します。
  2. 1.で作成した仮想HUBをVPSサーバーの仮想HUBにカスケード接続します。
    接続の際に用いるユーザーはVPSサーバーに作成した「ブリッジ接続用のユーザー」を使用します。
  3. 1.で作成した仮想HUBの「SecureNAT機能」を有効にします。

VPNに接続

これで準備は完了です。
接続する各端末にて「L2TP/IPsec」によるVPN接続を構成して接続します。
接続の際に用いるユーザーはVPSサーバーに作成した「VPN接続用のユーザー」を使用します。

接続が成功すると宅内のLANに接続した状態になります。
SecureNAT機能を有効にしているので宅内のLANに接続している端末からこちら側(VPN接続した各端末)のIPアドレスを特定することは難しくなります。
そこは要注意ポイントだと思います。


以前はVPNブリッジ側にローカルブリッジを作成していましたが、今回はそれをやめてSecureNAT機能を使うようにしました。
これによって無駄なブロードキャストパケットの送出が抑えられるようになりました。

今回の設定、実はSoftEther VPNの公式ドキュメントにも載っています。
併せて参考にしてください。