Page 1 of 1

接続が数秒ですぐに切れる

Posted: Fri Dec 02, 2016 12:47 pm
by knjoz
サーバ
Windows7
Softether VPN Server (32bit) for Windows Version 4.20
NATあり・443ポート開放
SecureNAT 無効
UDP高速化 無効

クライアント
atmark-dist-20130704/linux-3.x
Softether VPN Client Version 4.20

VPN接続して、通信もできるのですが、数秒で切断されて、再接続処理が発生しています。
通信を行うと、再接続されて、正常に通信できますが、通信していない間に、大量の認証失敗が発生しています。
再接続要求(か、認証要求)は、200msec程度の短い間隔で発生しています。

クライアントからの要求で、TLSプロトコルの認証エラーがサーバから返っています。
クライアントの設定を変更して、TLS ではなく、SSL での認証に設定してみましたが、現象は同じでした。

常時接続させて、安定した通信を行い、通信量も適正に保ちたいのですが、
方法が判らず困っています。

よろしく回答お願いいたします。

Re: 接続が数秒ですぐに切れる

Posted: Sat Dec 03, 2016 8:00 am
by cedar
正常であれば、Linux 版の VPN Client は認証失敗時にリトライしません。

VPN サーバー側のログを見せていただくことは可能でしょうか。

Re: 接続が数秒ですぐに切れる

Posted: Mon Dec 05, 2016 3:07 am
by knjoz
早速の回答ありがとうございます。

ログファイルをお送りします。

packet_log は、
2016-12-05,00:00:00.769,SID-LOCALBRIDGE-6,-,8851FB28FD51,01005E0000FC,0x0800,75,この VPN Server はオープンソース版または無償版であるため、パケットログの保存に対応していません。そのため、IP アドレスや TCP/UDP などのデータは保存されません。,-,-,-,-,-,-,-,-,-,-,-
とのことなので、割愛いたします。

特に有用な内容は無かったかと思いますが、サーバでパケットキャプチャした内容では、認証エラーが発生しております。
(パケットキャプチャ.csv)
3G/LTEの携帯電話回線を利用しており、回線使用量でも、キャプチャした内容どおりの通信量になっています。

何か判りましたら、よろしくお教え願います。

※_zip.txt を.zip と書換えお願いします。

Re: 接続が数秒ですぐに切れる

Posted: Mon Dec 05, 2016 7:00 am
by cedar
vpn_20161205.log がサーバのログと思われますが、認証エラー(エラーコード9)は記録されていないようです。
どの部分が認証エラーとなっていると判断されたのでしょうか。

Re: 接続が数秒ですぐに切れる

Posted: Mon Dec 05, 2016 7:16 am
by cedar
クライアント側でサーバー証明書の検証エラー(エラーコード85)が記録されているのを見つけました。
以前に貼られていた接続設定ではサーバー証明書を検証するオプションは設定されていないようでしたが、設定を変更されていないでしょうか。

Re: 接続が数秒ですぐに切れる

Posted: Tue Dec 06, 2016 4:58 am
by knjoz
もうしわけありません、先日のログには、テストのため一時的に、サーバ証明書の設定を変更して送受信したログが含まれていました。

前日の設定ファイルで出力し直したログを改めて、送付いたします。

>どの部分が認証エラーとなっていると判断
との質問について、pktlog.csv がパケットキャプチャの結果ですが、TLSv1のリクエストが発生しているのが確認できるかと思います。
デコードしてみますと、添付の、「SSLサーバ証明書により403エラー_html.txt」のような内容がやり取りされています。
「You don't have permission to access / on this server.」
との記述が認められましたので、認証プロセスのエラーかと考えています。

softetherクライアントを停止しますと、上記のTLSv1のリクエストも無くなりますので、softetherクライアントからキックが掛かっていると考えています。

よろしくお願いいたします。


ちなみに、テストのため一時的に、サーバ証明書の設定を変更して送受信を行い、サーバ証明書エラー(エラーコード85)を発生させてみたりしましたが、パケットキャプチャ上のTLSv1リクエストについては、変化がありませんでした。

Re: 接続が数秒ですぐに切れる

Posted: Tue Dec 06, 2016 9:18 am
by cedar
SSL 証明書のエラーという表記は見つかりませんでした。
もし、不正なサーバー証明書がサーバー側から送られていることが原因で、クライアントが認証エラーを起こしている状態であれば、サーバーが403を返しているのは辻褄が合いません。
そもそも正常な VPN クライアントは GET リクエストを送信しません。
POST /vpnsvc/vpn.cgi HTTP/1.1 以降が正規の VPN クライアントからの通信のように見えます。

GET リクエスト部分は、VPN クライアントからの接続に反応して、サーバー証明書を検証するファイアウオールが送信しているクエリではないかと思われます。
一部のファイアウオールは SSL の通信を検出すると、同じホストに接続を掛けて不正な SSL 証明書を検出すると接続を遮断するような動作を行うようです。
そういったファイアウオールが設置されていないか確認してみてください。

Re: 接続が数秒ですぐに切れる

Posted: Tue Dec 06, 2016 10:53 am
by knjoz
回答ありがとうございます。
現在のところ、接続を遮断するようなファイアウォールは見つかっていません。

キャプチャの結果から、証明書のエラーが出ているので、接続が切られているのだろうと考えていましたが、お教えいただいたことを考慮すると、切断されていたわけではないということが判りました。表題に誤りがありまして、申し訳ありません。

通信内容を見直しておりまして、問題になっているVPN上の出所不明のGETリクエストが、サーバの参加しているネットワーク上のブロードキャストパケットが送られるタイミングと同時に発生しているようです。
お聞きしたいのですが、VPNサーバの参加しているネットワーク上の異なるネットワークアドレスのブロードキャストパケットが、VPNネットワーク側に流れることはありますでしょうか?
(サーバの参加しているネットワークとVPNネットワークのネットワークアドレスは、異なっています)

Re: 接続が数秒ですぐに切れる

Posted: Wed Dec 07, 2016 8:37 am
by cedar
仮想 HUB は、ルーターではなくスイッチングハブとして機能するものなので、ローカルブリッジなどで接続されたセグメントがあれば、IPアドレスとは無関係にブロードキャストパケットは無条件で転送します。

Re: 接続が数秒ですぐに切れる

Posted: Thu Dec 08, 2016 1:31 am
by knjoz
やっと現象が理解できました。
多大なお手間をおかけしました。ありがとうございました。

ブロードキャストパケットを遮断して、確認いたします。

Re: 接続が数秒ですぐに切れる

Posted: Mon Dec 12, 2016 1:58 am
by knjoz
サーバの外からのブロードキャストパケットを遮断して、数日確認しています。

一台のクライアントを接続して、1日の通信量が20M程度になるのですが、
実際にやりとりしている電文よりもはるかに多い通信量です。

この通信量は、SoftetherVPNのオーバヘッドとして正常なのでしょうか?
まだ、外部からサーバにブロードキャストが流れ込んで、それが転送されているのでしょうか?

Re: 接続が数秒ですぐに切れる

Posted: Mon Dec 12, 2016 9:27 am
by cedar
パケットサイズや通信のタイミングによってオーバーヘッドは変わってきますが、ユーザーごとの通信量は
ユーザー情報から確認できますので、オーバーヘッドは計算できると思います。
仮想 LAN カードでキャプチャしてみて通信内容を確認してみるのも良いかもしれません。

Re: 接続が数秒ですぐに切れる

Posted: Wed Dec 14, 2016 6:56 am
by knjoz
アドバイスありがとうございます。
通信量を確認しました。

VPN上の通信量は、想定通りの量なのですが、USBドングルの3Gインターネット通信を利用しており、
PPP接続のネットワークデバイスが、想定以上の通信を行っていました。

クライアントのPPP接続ポートを iptable で塞ぎたいのですが、
softetherクライアントは、何番ポートを開けておけば問題無いでしょうか?

Re: 接続が数秒ですぐに切れる

Posted: Fri Dec 16, 2016 9:16 am
by cedar
TCPでの接続モードの場合には、インバウンドのポートは全て閉じて問題ありません。

UDP 高速化機能を使用する場合は、インバウンドのUDPの不定ポートを使用します。

Re: 接続が数秒ですぐに切れる

Posted: Mon Jun 12, 2017 12:10 pm
by knjoz
確認が遅くなりましたが、
・UDPアクセラレーションを無効にする
・セキュアNATを無効にする
・サーバのARPポーリングを無効にする
などの設定をしたところ、通信量が低減しました。(まだ多い気はしますが。。。)

ありがとうございました。