SoftEther VPN ServerによるVPNの構築

SoftEther VPN Server(以下、SoftEtherと表記)を使ってVPNを構築してみます。

SoftEtherのインストールについてはこちらの記事をご覧ください。

関連記事

「外出先から自宅のLAN内にあるNASのデータを取り出したい」と思ったことはありませんか。 VPNを構築することでそれが可能になります。 構築にあたってはいくつかクリアしなくてはならない条件がありますが、意外と簡単に構築できますので挑戦[…]

この記事ではインストールしたSoftEtherの設定を行って実際に繋げられるようにする手順を説明します。

前提条件

  • SoftEtherを動かしているマシンの下記ポートが開放済みでインターネット側から到達可能であること
    500/UDP
    4500/UDP
    5555/TCP
  • SoftEtherが起動済みであること
  • Windows機が用意できること(管理ツールを動かすため)

管理ツールでの設定手順

Windows機での作業になります。

  1. SoftEtherダウンロードセンター」にアクセスし、最新の管理ツールをダウンロードします。
  2. コンポーネントは「SoftEther VPN Server Manager for Windows」を選択、プラットフォームは「Windows」を選択、CPUは「Intel (x86 and x64)」を選択します。
    選択

    一番最初に表示される最新版のパッケージをダウンロードします。

  3. ダウンロードしたファイルを実行します。
    「次へ」をクリックして「インストールするソフトウェアの選択」で「SoftEther VPNサーバー管理マネージャ(管理ツールのみ)」を選択し、「次へ」を数回クリックしてインストールを進めます。

    インストールするソフトウェアの選択
  4. インストールされた「SoftEther VPNサーバー管理マネージャ」を起動します。
    「新しい接続設定」をクリックします。
  5. 「接続設定名」にはSoftEtherを識別するための名前、「ホスト名」にはSoftEtherをインストールしたマシンのIPアドレスもしくはホスト名、ポート番号は「5555 (SE-VPN ポート)」を選択して「OK」をクリックします。
    新しい接続設定の作成
  6. 作成した接続設定を選択して「接続」をクリックします。
    接続
  7. 「管理者パスワード」を設定して「OK」をクリックします。
    尚、ここで設定する「管理者パスワード」は当該管理ツールからSoftEtherに接続するためのパスワードです。
    VPN接続する際に使うパスワードではない点、ご注意ください。

    管理者パスワードの設定
  8. 「SoftEther VPN Server/Bridge簡易セットアップ」が表示されますが、「閉じる」をクリックして手動で設定していきます。
    簡易セットアップ
  9. IPsecの設定に関するダイアログが表示されます。
    「いいえ」をクリックします。

    IPsecの設定
  10. 「リスナーの管理」で「TCP 5555」以外を全て停止します。
    リスナーの管理
  11. 「IPsec/L2TP設定」をクリックします。
    IPsec/L2TP設定
  12. 「L2TPサーバー機能を有効にする (L2TP over IPsec)」にチェックを入れ、「IPsec事前共有鍵」に8文字程度で文字列を設定し、「OK」をクリックします。
    IPsec/L2TP詳細
  13. 仮想HUB(今回の例ではDEFAULTという名前)を選択し、「仮想HUBの管理」をクリックします。
    仮想HUBの管理
  14. 「ユーザーの管理」をクリックします。
    ユーザーの管理
  15. 「新規作成」をクリックして、「ユーザー名」と「パスワード」を入力して「OK」をクリックします。
    これがVPN接続の際に指定するユーザー名及びパスワードになります。

    ユーザーの新規作成
  16. 「閉じる」をクリックして管理ツールを終了します。

各種デバイスでの設定

各種デバイスによって設定項目などに違いはあるかと思いますが、基本的には下記の設定でVPNに接続することが可能です。

  • タイプ
    「L2TP/IPsec PSK」や「L2TP/IPsec事前共有鍵」など
  • サーバーアドレス
    SoftEtherを動かしているマシンのグローバルIPアドレスもしくはホスト名
  • ユーザー名/パスワード/事前共有鍵
    上記手順15.で設定したユーザー名とパスワード及び上記手順12.で設定した事前共有鍵

ダイナミックDNS機能の無効化

グローバルIPが付与されていない環境でも使えるように「ダイナミックDNS機能」というものが実装されています。
当記事においてはブローバルIPが付与されていることを前提にしていますので当該機能は不要です。

管理ツールからも無効化することはできるのですが、若干手間がかかりますのでSoftEtherをインストールしたマシン上で直接無効化します。

SoftEtherをインストールしたディレクトリにある「vpn_server.config」というファイルを編集します。

sudo systemctl stop vpnserver
sudo vim vpn_server.config

ファイルの最初の方に「declare DDnsClient」という項目があるのですが、その部分を下記のように書き換えます。

declare DDnsClient
{
    bool Disabled true
}

修正したらSoftEtherを起動します。

sudo systemctl start vpnserver

尚、有効化したい場合は「Disabled true」を「Disabled false」にします。


まとめ

以上でVPNの構築は完了です。

問題なく接続できればSoftEtherを動かしているマシンが繋がっているLAN内のNASなどにアクセスすることができるようになります。
場合によってはIPアドレスがうまく割り当てられない可能性もありますが、その場合はSoftEtherのSecure NAT機能を使うことで改善すると思います。

この記事がVPNを構築してみたいと考えている方の参考になれば幸いです。

物件に大元のルーターがあって、そこから各戸にプライベートIPアドレスが割り振られる、いわゆる「マンションタイプ」の場合はグローバルIPが大元のルーターに割り当てられています。
その場合、各戸のLAN内でSoftEtherを動かしたとしても、大元のルーターによってアクセスが制限されるのでVPNを構築することはできません。
これを回避する方法もありますので機会があれば記事にしたいと思います。(ご要望があればすぐにでも…)