IPoE接続のリモートアクセスで下りの通信がタイムアウトしてしまう

SoftEther VPN に関するご質問はこのフォーラムにお気軽にご投稿ください。
Post Reply
takowasa84
Posts: 2
Joined: Thu Feb 06, 2020 9:30 am

IPoE接続のリモートアクセスで下りの通信がタイムアウトしてしまう

Post by takowasa84 » Fri Feb 07, 2020 2:44 am

お世話になります。

PPPoE接続環境にあるSoftether VPN Serverに対して、IPoE接続環境にあるクライアントから
リモートアクセスをした際に、下りの通信がタイムアウトしてしまい、困っております。
何か考えられる原因がありましたらご教示いただければと思います。


◆症状
サーバーのある拠点にリモートアクセスした際に、ファイルの送信は問題なく出来ているのですが
ファイルを受信しようとすると、タイムアウトしてしまいます。

ただ、下りの全ての通信がタイムアウトするわけではなく、pingはサーバとクライアント間で
相互に届いております。また、300KB程度までの容量のファイルであれば、遅いながらも受信できるのですが、
1Mを超えるような容量のファイルを受信しようとするとタイムアウトします。

一方で、上りの通信ではタイムアウトは発生せず、
容量に関係なくファイルの送信ができています。

ファイルのやりとりをする対象は拠点内に設置したNASです。

また、リモート接続後に、拠点内のルーターの管理画面などを開いた際も
画面が表示されるまで、異様に時間が掛かります。

環境は以下のとおりです。


◆環境
●サーバー側(PPPoE接続)
・Ubuntu 18.04 デスクトップ版 x64
・Softether VPN Server Version 4.29 Build 9680
・SecureNAT は無効状態
・専用に追加したNICに対してローカルブリッジを設定。管理マネージャにて「動作中」を確認。
 (IPは0.0.0.0を手動設定。v6のアドレスも::に手動設定)
・ルーターの内側にサーバー設置しているため、ルーターにおいて以下の内容を設定。
  ・パケットフィルタにてクライアントのIPからのINを許可
  ・パケットフィルタにてクライアントのIP宛のOUTを許可
  ・パケットフィルタにてポート5555宛のINを許可(TCP/UDP共に)
  ・パケットフィルタにてポート5555が発信元のOUTを許可(TCP/UDP共に)
  ・ポート5555をサーバーのIPアドレスにポートマッピング(TCP/UDP共に)
  ・静的ルーティングにて、接続してきたクライアントのIPアドレス宛のゲートウェイをサーバーのIPアドレスに指定。
・サーバーマシンのファイアウォールにて以下の内容を設定。
  ・パケットフィルタにてクライアントのIPからのINを許可
  ・パケットフィルタにてクライアントのIP宛のOUTを許可
  ・パケットフィルタにてクライアントのリモート接続後のIPからのINを許可
  ・パケットフィルタにてクライアントのリモート接続後のIP宛のOUTを許可
  ・パケットフィルタにてポート5555宛のINを許可(TCP/UDP共に)
  ・パケットフィルタにてポート5555が発信元のOUTを許可(TCP/UDP共に)


●クライアント側(v6プラスとv4グローバルIPを使用したIPIPトンネルによるIPoE接続)
・Windows10 home x64
・Softether VPN Client Version 4.29 Build 9680
・NATトラバーサルは無効を選択
・UDP高速化機能は無効を選択
・ルーターにおいて以下の内容を設定。
  ・パケットフィルタにてサーバーのIPからのINを許可
  ・パケットフィルタにてサーバーのIP宛のOUTを許可
  ・パケットフィルタにてポート5555が発信元のINを許可(TCP/UDP共に)
  ・パケットフィルタにてポート5555宛のOUTを許可(TCP/UDP共に)
・Windows標準のセキュリティ機能を使用。サードパーティのセキュリティソフトは不使用。


何かしら、ファイアウォールの設定にミスがある可能性を考え、
VPN Azureを使用してアクセスしてみましたが同じ症状のままでした。


現在、原因として疑っているのは、IPoE通信におけるMTUの上限値の影響です。
NTTの資料によると、フレッツのIPoE通信におけるMTUの上限値は1500byteであり、
それを超えるパケットを受信した場合は破棄する、という記載がありました。

・東日本電信電話株式会社 IP通信網サービスのインタフェース -フレッツシリーズ-
https://flets.com/pdf/ip-int-flets-3.pdf
※ 2.4.1.2 最大転送単位(MTU)の項目に記載がありました

サーバー側でifconfigを実行したところ、ローカルブリッジに指定しているNICのMTUが
1986になっているのを確認しました。
これらのことから、以下のように推測しております。

送信する際は、クライアント側の仮想NICのMTUが1500であるため、
IPoE通信におけるMTUの上限を超えず、問題なく通信できている。
逆に受信する際は、サーバー側のローカルブリッジのNICのMTUが1986と
IPoE通信におけるMTUの上限を超えているため、それを超えるパケットがクライアント宛に送信された際に
破棄されてタイムアウトする、という状態なのではないかと考えております。
(pingや容量の小さいファイルは1500以下のパケットであるためタイムアウトしない)


過去のトピックにて、以下のものを読みました。

・ブリッジするとインターフェースのMTUが変更される。
https://forum.vpngate.net/viewtopic.php?t=61326

このトピックにおいて、「仮想HUBから送られてきたパケットに対して、ローカルブリッジしている
インターフェイスのMTUが小さい場合には自動的に拡張する機能があります。」とありますが、
この機能を無効化し、ローカルブリッジしたNICのMTUを固定することはできないでしょうか。


また、この推測が見当違いで、何か別の要因が考えられましたらご教示ください。

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

cedar
Site Admin
Posts: 2070
Joined: Sat Mar 09, 2013 5:37 am

Re: IPoE接続のリモートアクセスで下りの通信がタイムアウトしてしまう

Post by cedar » Fri Feb 07, 2020 10:32 am

UDP高速化機能もNATトラバーサル機能も無効にされているということなので、VPN 通信は TCP で行われていると思います。
そのばあい、VPN 内のパケットはすべて連結されて TCP ストリームとして処理されるため、VPN 内の MTU の違いによってパケットが破棄されることはありません。
(もちろん、ONU 側のインターフェイスのMTUの設定が間違っていれば、その限りではありませんが。)

ファイルのやり取りを行っている対象は何でしょうか?(ファイルサーバー?OSは?プロトコルは?)
VPN の接続には IPv4 と IPv6 のどちらを使用されているでしょうか?

takowasa84
Posts: 2
Joined: Thu Feb 06, 2020 9:30 am

Re: IPoE接続のリモートアクセスで下りの通信がタイムアウトしてしまう

Post by takowasa84 » Mon Feb 10, 2020 6:31 am

ご回答いただき、ありがとうございます。
現状の設定ではTCPで通信が行われていて、その場合はMTUの違いによってパケットが破棄されることがない旨、承知しました。

ファイルのやりとりを行っている対象は拠点内に設置してあるファイルサーバーです。
QNAP製のNAS TS-431Pという機種で、OSはメーカーによると「QTS」というLinuxベースのNAS専用OSとのことです。
ファイル共有のプロトコルはsambaです。設定を確認したところ、samba1~3までが有効になっていました。
クライアント側のwin10で有効になっているsambaのバージョンは2でした。

VPN接続にはIPv4を使用しています。
VPNクライアントの「状態の表示」で「物理通信に使用中のプロトコル」が「Standard TCP/IP(IPv4)」になっているのを確認しました。
また、サーバーにおいて、通常の通信に使用しているNICのIPv6のアドレスには「::」を指定し、IPv6は無効化してあります。


送信に問題がなく、受信に問題がある、という状態から、
ルーティングやパケットフィルタの設定に問題がある可能性も考えております。

以下、サーバーのマシンで ip r show table all を実行した結果です。

<固有設定部分の説明>
enp2s0f0 通常の通信に使用しているNIC
ens7 ローカルブリッジに使用しているNIC
192.168.0.0/24 拠点のネットワークアドレス
192.168.0.10 VPNサーバーのIPアドレス

---
default via 192.168.0.1 dev enp2s0f0 proto static metric 100
169.254.0.0/16 dev enp2s0f0 scope link metric 1000
192.168.0.0/24 dev enp2s0f0 proto kernel scope link src 192.168.0.10 metric 100
broadcast 127.0.0.0 dev lo table local proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo table local proto kernel scope link src 127.0.0.1
broadcast 192.168.0.0 dev enp2s0f0 table local proto kernel scope link src 192.168.0.10
local 192.168.0.255 dev enp2s0f0 table local proto kernel scope link src 192.168.0.10
broadcast 192.168.0.255 dev enp2s0f0 table local proto kernel scope link src 192.168.0.10
::1 dev lo proto kernel metric 256 pref medium
::/64 dev enp2s0f0 proto kernel metric 100 pref medium
::/64 dev ens7 proto kernel metric 101 pref medium
local ::1 dev lo table local proto kernel metric 0 pref medium
ff00::/8 dev enp2s0f0 table local metric 256 pref medium
ff00::/8 dev ens7 table local metric 256 pref medium
---

この結果を見て、IPv4のルーティング設定の中に、ローカルブリッジに使用しているens7を
使用したものが無いことが気になりました。その点は問題ないでしょうか。

cedar
Site Admin
Posts: 2070
Joined: Sat Mar 09, 2013 5:37 am

Re: IPoE接続のリモートアクセスで下りの通信がタイムアウトしてしまう

Post by cedar » Mon Feb 10, 2020 7:46 am

ローカルブリッジにIPアドレスを設定されていないということなので、
そのネットワーク接続は OS によって IP 通信に使用されないため、
ルーティング経路が存在しない状態は正常だと思われます。

VPN 側に原因があるのか、ローカルブリッジ側に原因があるのかを
切り分けるために VPN Server の LAN 内から(できれば Windows の)
VPN Client で接続して、リモートとの通信速度を測ってみることを
お勧めします。

VPN Client に内蔵のスループット測定ツールを使用することで、
アプリケーションに依存しない性能を確認できます。

https://ja.softether.org/1-features/4._ ... C.E3.83.AB

Post Reply