SoftEther VPN で自宅に VPN サーバーを立てる

外出先から自宅のネットワークにアクセスできるように、SoftEther VPNを使ってVPNサーバーを構築しました。

一度設定してしまえばそれほど触ることはありませんが、再設定するときに忘れそうなので手順をまとめておきます。

今回は、VPN Azureを使ってルータのポートを開放せずに接続する構成にしています。


今回の構成

構成は次のようにしました。

  • Server側(自宅):SoftEther VPN Serverをインストールして仮想HUBを作り、自宅LANにブリッジ
  • Client側(外部):SoftEther VPN ClientからServerに接続
  • 接続方法:VPN Azureを利用

VPN Azureを使うことで、自宅ルータにVPN用のポートを開放せずに外部から接続できます。


Server側を設定する

SoftEther VPN Serverをインストールする

まず、自宅側のPCにSoftEther VPN Serverをインストールします。

インストール後、SoftEther VPN Server Managerからサーバーに接続して設定を進めます。

仮想HUBを作成する

VPN接続で使用する仮想HUBを作成します。

後ほどClient側から接続するときに仮想HUB名を指定するので、分かる名前にしておきます。

ローカルブリッジを設定する

ここは少し注意が必要でした。

仮想HUBと自宅LANを接続するため、ローカルブリッジを設定します。

ブリッジ先には、自宅LANにつながっている有線LANのネットワークアダプタを指定しました。

Wi-Fi側を指定した場合はLAN内への接続がうまく動作しなかったため、有線LANを使うようにしています。

必要な機能だけ有効にする

今回は次の設定にしました。

  • VPN Azure:有効
  • OpenVPN:無効
  • MS-SSTP VPNサーバー機能:無効

VPN Azureだけを使うので、今回使わない機能は無効にしています。

接続用ユーザーを作成する

仮想HUBの管理画面から接続用ユーザーを作成します。

「ユーザー管理」から新規ユーザーを追加し、認証方式にはパスワード認証を選びます。

ここで設定した

  • ユーザー名
  • パスワード

はClient側の設定でも使用します。


Client側を設定する

SoftEther VPN Clientをインストールする

外部から接続するPCにはSoftEther VPN Clientをインストールします。

仮想LANカードを作成する

SoftEther VPN Client Managerから「仮想LANカード作成」を選びます。

名前はVPNなど、分かりやすいもので問題ありません。

新しい接続設定を作成する

次に「新しい接続設定」を作ります。

接続設定名は自由です。

接続先を設定する

接続先には、Server側で確認できるVPN Azureのホスト名を指定します。

そのほか、次の情報を入力します。

  • ホスト名:VPN Azureのホスト名
  • 仮想HUB名:Server側で作成した仮想HUB名
  • ユーザー名:Server側で作成したもの
  • パスワード:Server側で設定したもの

ここまで設定できれば、VPNに接続できるようになります。


接続できない場合に確認するところ

設定項目がいくつかあるので、接続できないときは順番に確認した方が分かりやすいです。

まず接続情報を確認する

最初に確認したいのは次の項目です。

  • ホスト名がVPN Azureのホスト名になっているか
  • 仮想HUB名がServer側と一致しているか
  • ユーザー名とパスワードが正しいか

特にパスワードは、大文字・小文字の違いやコピー時に余計な空白が入っていないかも確認します。

Server側を確認する

Server側では次の項目を確認します。

  • VPN Azureが有効になっているか
  • ローカルブリッジ先が正しいLANアダプタになっているか
  • 接続用ユーザーが有効になっているか

複数のネットワークアダプタがあるPCでは、ローカルブリッジ先を間違えやすいので注意が必要です。

Client側を確認する

Client側では、

  • 仮想LANカードが作成されているか
  • 接続設定で正しい仮想LANカードを使用しているか

を確認します。

設定に問題がなさそうであれば、一度VPNを切断して再接続します。それでもだめな場合は、Client側のPCを再起動して確認します。


VPNには接続できるがLAN内の機器に届かない場合

VPNそのものには接続できても、自宅LAN内のPCなどにアクセスできないことがあります。

その場合は、次のあたりを確認します。

  • ローカルブリッジ先のネットワークアダプタが正しいか
  • 接続先の機器が同じネットワークにいるか
  • 接続先PCのファイアウォールで通信が遮断されていないか

特にネットワークアダプタが複数あるPCでは、別の有線ポートや仮想ネットワークアダプタを選んでいないか確認します。


自宅側PCのスリープに注意する

VPN Serverを動かしているPCがスリープや休止状態になると、VPN Serverも利用できなくなります。

そのため、自宅側のPCはスリープしない設定にしておきます。

ノートPCを使う場合は、フタを閉じたときにスリープしないかどうかも確認しておいた方がよさそうです。


VPN Azureならポート開放は基本的に不要

VPN Azureを利用する場合、自宅側のVPN ServerからVPN Azureへ接続し、その中継を経由してClientから接続します。

そのため、この構成では自宅ルータにVPN用のポートを開放する必要は基本的にありません。

接続できないと「ルータ側の設定が必要なのでは」と考えたくなりますが、まずはVPN Azureが有効になっているか、Client側でVPN Azureのホスト名を指定しているかを確認する方が切り分けしやすいです。

ただし、接続元のネットワークによっては外向きの通信が制限されていることがあります。

その場合は自宅側のルータではなく、接続しているネットワーク側の制限が原因になっている可能性があります。


VPN接続時のIPアドレス

SoftEther VPNでは、ローカルブリッジを使う場合とSecureNATを使う場合で、VPN Clientに割り当てられるIPアドレスが変わります。

ローカルブリッジの場合

ローカルブリッジを使うと、VPN Clientが自宅LANに直接つながっているような構成になります。

そのため、自宅ルータのDHCPから、自宅LAN内のPCと同じIPアドレス帯が割り当てられます。

SecureNATの場合

ローカルブリッジを使わずSecureNATを使う場合は、SoftEther側の仮想DHCPサーバーからIPアドレスが割り当てられます。

標準設定では、例えば次のような構成になります。

  • ネットワーク:192.168.30.0/24
  • DHCP:192.168.30.10192.168.30.200
  • Gateway:192.168.30.1
  • DNS:192.168.30.1

VPN接続後のIPアドレスが想定と違う場合は、ローカルブリッジとSecureNATのどちらを使っているか確認すると分かりやすいです。


セキュリティ面で気を付けること

VPNは外部から自宅LANへ入るための経路になるので、接続用アカウントの管理には注意が必要です。

少なくとも、

  • 十分に長いパスワードを設定する
  • 不要なユーザーを作らない
  • 使っていないVPN機能は無効にする

といったことはしておいた方がよさそうです。

一度設定すると普段はあまり触らないので、次に設定するときのためにこの手順を残しておきます。

コメント

タイトルとURLをコピーしました