SoftEther VPNでL2TP/IPSec

ConoHaのVPSサーバー(CentOS 7.6)にインストールしたSoftEther VPNでL2TP用のサーバー設定した時の作業メモ。

利用目的としては、 外で公共Wifiを使う時のセキュリティ対策と、サイト管理作業時のIPアクセス制限をVPSサーバーに限定するため。後、東京リージョンのサーバーなので、地方や海外でもradikoでJ-Waveが聴けるというメリットもある。

1.管理マネージャーからの設定

https://ja.softether.org/4-docs/2-howto/L2TP_IPsec_Setup_Guide/1

1)不要機能の無効化

管理マネージャーから以下をすべて無効にする。

  • OpenVPN / MS-SSTP
  • ダイナミックDNS ※configファイルの書き換え
  • VPN Azure

2)余分なリスナーを削除

 使わないリスナーは削除する。

3)暗号化と通信関係の設定

「使用する暗号化アルゴリズム」はデフォルトから強いものに変更。

「インターネット接続の維持機能を使用する」のチェックを外す。

4)仮想HUBの設定

「DEFAULT」があれば削除して、新たに適当な名前でデフォルト用Hub(以下、仮にHubDummy)と利用するHub(以下、仮にHubReal)を作成する。

  • 「匿名ユーザーに対してこの仮想HUBを列挙しない」にチェックを入れる。
  • 最大同時セッション数の制限を設定する

5)IPSec / L2TP 設定

「L2TP サーバー機能を有効にする(L2TP Over IPSec)」を有効にする。

「IPSec事前共通鍵」を適当に設定。

「接続時のユーザー名で仮想HUBが省略された場合に接続する仮想HUBの選択」にHubDummyを設定する。

6)仮想NATおよび仮想DHCPサーバー機能

HubRealの 「仮想Hubの管理」から「仮想NATおよび仮想DHCPサーバー機能」を開いて、

「SecureNAT機能を有効」にする。

「SecureNATの設定」で、「仮想NAT機能を使用する」と「仮想DHCPサーバー機能を使用する」にチェックを入れる。

7)ローカルブリッジ設定

新しいローカルブリッジを定義する。

以下にあるようにtapデバイスを使うようにした。

https://ja.softether.org/4-docs/1-manual/3/3.6#3.6.9_tap_.E3.83.87.E3.83.90.E3.82.A4.E3.82.B9.E3.81.AE.E4.BD.BF.E7.94.A8

仮想HUBにHubRealを選択し、「作成する種類」は「新しいtapデバイスとのブリッジ接続」を選択して、「ローカルブリッジ」を追加する。

8)ユーザーの作成

HubRealの「仮想HUBの管理」から、ユーザーを作成する。とりあえずはパスワード認証で。

2.ポート開放

使用するポートは、UDPの500と4500。

https://ja.softether.org/3-spec#SoftEther_VPN_Server_.E3.81.AE.C2.A0L2TP.2FIPsec_.E3.82.B5.E3.83.BC.E3.83.90.E3.83.BC.E6.A9.9F.E8.83.BD.E3.81.AE.E4.BB.95.E6.A7.98

サーバーでIPSecのポートを公開する。

firewall-cmd --permanent --add-service=ipsec
firewall-cmd --reload

3.クライアント接続

SoftEtherのサイトのチュートリアルはここ。

https://ja.softether.org/4-docs/2-howto/L2TP_IPsec_Setup_Guide

3.1 Windows10からの接続

SoftEtherのサイトはWindows7のままなので、以下サイトが参考に。

http://www.seil.jp/doc/index.html#fn/pppac/use/pppac-client/win10_l2tp.html

ユーザー名は、「ユーザー名@HUB名」を入れる。 事前共有キーは、「IPSec事前共通鍵」のこと。

3.2 iPhone/iPadからの接続

iOS12.1.4の場合、「設定」から「VPN」で、「VPN構成を追加」で設定できる。タイプは「L2TP」にし、 アカウントは「ユーザー名@HUB名」、 シークレットに「IPSec事前共通鍵」を設定。

SoftEtherのサイトは 、古いiOSで英語版だけど参考まで。

https://ja.softether.org/4-docs/2-howto/L2TP_IPsec_Setup_Guide/2