Page 1 of 1

L2TP+IPsec接続のローカルIP重複での切断について

Posted: Wed Oct 18, 2017 6:29 am
by chi-chan
お世話になっております。

現在、AWS上にてSoftEther VPN(Ver 4.20, Build 9608)を
使用してVPNサーバを新規構築してテストを行っています。

AWSの仕様上ローカルブリッジを使用出来ないので
SecureNATを使用しています。

クライアントPCはWindows7のOS標準機能の
L2TP+IPsecにてVPN接続を行っています。

既存の環境は物理ルータを使ってVPN接続を行っています。
iPhoneにてテザリングすると仕様上割り振るIPを
変更出来ないので、結果として複数のPCのローカルIPが重複します。

IPが重複した複数のPCが同じルータにVPN接続を行うと
片方のVPN接続が切断されます。

ルータのメーカサポートに問い合わせた所

この事象はWindows Vista 以上の L2TP + IPsecVPN 接続の実装仕様に
より発生します。このため、リモート接続を行う機器が Windows端末で、
Windows標準の IPsecVPN を利用する場合は、弊社製品に限らず他社製品
でも同様の事象が発生する恐れがあるのではないかと考えております。

と回答を貰っています。

VPN接続先以外同じ設定で、SoftEther VPNに接続すると
切断されませんでした。もしテザリングの問題が解決するので
あればSoftEther VPN環境に全面的な移行も検討しています。

何度もテストを実施していますが、Windows標準VPNの仕様であるなら
物理ルータでは切断されて、SoftEther VPNでは切断されないのかの
説明が付きません。

今回はたまたま切断させずに、場合によっては切断されるのか、
将来SoftEther VPNのバージョンアップ行われた時も変わらないか

色々とドキュメントを探してみましたが、
なぜ切断されないかの技術的な根拠となるものを
発見出来る事が出来ませんでした。

技術的に説明出来る根拠等がありましたら
ご教授頂けますでしょうか。

以上、よろしくお願いします。

Re: L2TP+IPsec接続のローカルIP重複での切断について

Posted: Wed Oct 18, 2017 9:10 am
by cedar
その問題はローカル IP アドレスの重複とはあまり関係ありません。
IPsec パススルー機能を持たないルーター(この場合はテザリングを行っているiPhone)で NAT を行っている場合、VPN サーバーは同じ NAT 内の複数の IPsec VPN クライアントを識別できないため、どちらかのクライアントとしか通信できません。
これは IPsec の仕様上の問題なので SoftEther VPN を使用している場合でも、基本的には同じ問題が起きるはずです。

Re: L2TP+IPsec接続のローカルIP重複での切断について

Posted: Thu Oct 19, 2017 2:44 am
by chi-chan
お世話になっております。
ご回答ありがとうございます。

説明不足で申し訳ございません。
同じルータ(iPhone)配下でなく異なる複数のルータ(iPhone)に
PC1台ずつ接続する場合にルータ(iPhone)のDHCPの設定が
変更できないのでそれぞれのPCに割り振られるIPが重複します。

Windows Vista 以上の Windows端末ではIPsecVPNの
RemoteIDとして、端末が持つ IPアドレスを使用しているので
RemoteIDが重複するため片方のVPN接続が切断されてしまう認識です。

SoftEther VPN環境では、現状何故かこの問題が発生していません。
仮想環境では物理環境とは何か違う処理を行っていて回避出来ているのでしょうか。
この問題もSoftEther VPN環境でも発生しますでしょうか。

以上、よろしくお願いします。

Re: L2TP+IPsec接続のローカルIP重複での切断について

Posted: Thu Oct 19, 2017 3:09 am
by cedar
SoftEther VPN では、L2TP クライアントの IP アドレスの割当には DHCP を利用しており、クライアントの提供するヒント情報を利用していません。
このため、(通常は)IP アドレスの重複が起きることはありません。

しかし、逆にクライアントに割り当てられる IP アドレスを固定する方法がないという問題もあります。

Re: L2TP+IPsec接続のローカルIP重複での切断について

Posted: Thu Oct 19, 2017 4:33 am
by chi-chan
ご回答ありがとうございます。

SoftEther VPNのDHCP機能ではなく
ISAKMPフェーズ1の部分でL2TPクライアントの提供する
RemoteIDを使用せずに認証を行っていて
結果としてDHCPでIPが割り振られるという事でしょうか。

IPsecのRFCにおいてRemoteIDは接続端末を識別するための
情報として規定されているので、どの環境でもRemoteIDが
重複がすると切断される思っていたのですが、
SoftEther VPNではRemoteIDを使用せずに認証が
出来ているとの認識でよろしかったのでしょうか。

以上、よろしくお願いします。

Re: L2TP+IPsec接続のローカルIP重複での切断について

Posted: Thu Oct 19, 2017 5:06 am
by cedar
SoftEther VPN の L2TP/IPsec 実装では、ユーザーの認証はPPP(L2TP)のレイヤーで行っていて、IPsec のレイヤーでは PSK 以外の認証を行っていません。
また、ユーザーの認証と IP アドレスの割り当ても異なる機構で行っているため関連性はありません。

Re: L2TP+IPsec接続のローカルIP重複での切断について

Posted: Thu Oct 19, 2017 6:56 am
by chi-chan
ご回答ありがとうございます。

申し訳ありません、認証でなく識別でした。

ISAKMPでL2TPクライアントの提供する
RemoteIDを使用せずに接続端末を識別を行って
PSK認証を行っているという事でしょうか。

Re: L2TP+IPsec接続のローカルIP重複での切断について

Posted: Thu Oct 19, 2017 7:49 am
by cedar
IKEセッションの識別はクライアントのIPアドレス、ポート番号、InitiatorCookie、ResponderCookie の組み合わせで行っています。
https://github.com/SoftEtherVPN/SoftEth ... KE.c#L4388

PSK は全てのクライアントで共有しているため、RemoteID で識別する必要はありません。

Re: L2TP+IPsec接続のローカルIP重複での切断について

Posted: Thu Oct 19, 2017 8:41 am
by chi-chan
ご回答ありがとうございます。
お手数をお掛けしまして申し訳ございません。

>IKEセッションの識別はクライアントのIPアドレス

こちらのIPアドレスが他のVPN接続の識別で使用されている
IPアドレスと重複するとVPN接続は切断されますでしょうか。

Re: L2TP+IPsec接続のローカルIP重複での切断について

Posted: Thu Oct 19, 2017 8:50 am
by cedar
以前の回答のように、NATトラバーサルの IPsec では、仕様上、同じグローバルIPアドレスで複数のクライアントから同一のサーバーに接続することはできません。

Re: L2TP+IPsec接続のローカルIP重複での切断について

Posted: Thu Oct 19, 2017 11:21 am
by chi-chan
ご回答ありがとうございます。

>IKEセッションの識別はクライアントのIPアドレス
こちらのクライアントのIPアドレスとは
グローバルIPの事でしょうか。

グローバルIPが異なっていてVPNクライアントの
物理インターフェースのIPアドレスが重複している場合は
どうなりますでしょうか。

物理ルータですとVPN接続自体は出来ますが、
同じローカルIPを持つ別のVPNユーザが通信を
行うとVPN接続が勝手に切断されてしまいます。

以上、よろしくお願いします。

Re: L2TP+IPsec接続のローカルIP重複での切断について

Posted: Thu Oct 19, 2017 6:09 pm
by cedar
はい、そうです。
一般的にはクライアントのプライベートIPアドレスを知る方法はありませんので、識別には使用できません。
もちろん、重複していても問題ありません。

Re: L2TP+IPsec接続のローカルIP重複での切断について

Posted: Fri Oct 20, 2017 11:49 am
by chi-chan
ご回答ありがとうございます。
大変助かりました。

ルータのメーカが言っているIPSECのRFCに準拠した方法
(クライアント側が設定したRemoteID(Windowsの場合はブライベートIP))
ではなくグローバルIPやポート等で識別を行う独自な方法を実装しているので、
SoftEther VPNではプレイベートIPが重複していても問題ないと言う
認識でよろしかったでしょうか>

この実装は今後バージョンアップが行われても
基本的には変わらないという事でしょうか。

以上、よろしくお願いします。

Re: L2TP+IPsec接続のローカルIP重複での切断について

Posted: Mon Oct 23, 2017 9:45 am
by cedar
オープンソースのアプリケーションは、利用者同士で協力して改良されていくものなので、今後のアップデートがどうなるかは一般的に分からないと考えたほうが良いと思います。
ソースコードは公開されているので、必要であればご自身でカスタマイズされることをお勧めいたします。