ローカルブリッジ タグVLAN 通信不具合(解決済み)

SoftEther VPN に関するご質問はこのフォーラムにお気軽にご投稿ください。
Post Reply
uratani
Posts: 1
Joined: Tue Mar 31, 2026 6:13 am

ローカルブリッジ タグVLAN 通信不具合(解決済み)

Post by uratani » Wed Apr 01, 2026 1:49 am

2台のSoftEther VPN Serverを使って拠点間VPNを構築した際に発生した問題について、共有させて頂きます。

【使用機材】
・ファイルサーバー(Windows Server 2019)
・VLANスイッチ
・SoftEther VPN Server x64 ver4.44(Ubuntu Server 24.04 LTS)
・PC(Windows 11 Pro)


【簡易配線図】
拠点A <-- --> 拠点B
[ファイルサーバー] - [VLANスイッチ] - [VPN Server] --VPNトンネル(WAN)-- [VPN Server] - [VLANスイッチ] - [PC]

・拠点A側で元々、VPN Serverを運用しており、新たに拠点BにVPN Server(役割としてはBridge)を設置して、拠点間VPNを構築しました。
・各VPN Serverには物理NICが2つあり、片方がWAN通信用、もう片方が仮想HUBのローカルブリッジ用としています。


【症状】
拠点間VPNを経由して、PCからファイルサーバーに約1MB以上のファイルをアップロードしようとすると必ず失敗しました。
その他には、
・ファイルサーバー内のディレクトリの閲覧 → 成功
・ファイルのダウンロード → 成功
・1KBのテキストファイルのアップロード → 成功
という状況でした。

また、症状発生時、拠点B側のVPN Serverのsecurity_logに以下のようなログが大量に出力されていました。

==========================================================================
The physical Ethernet interface "enp2s0.vlan100" has an MTU value set to 1514.
It is necessary to send and receive an Ethernet packet which has 2000 bytes.
However, changing the MTU to 2000 failed.
This physical Ethernet interface or device driver might be unable to process an Ethernet packet which has more 1,514 bytes (payload size: 1,500 bytes).
In such case, the larger tagged-VLAN packets than 1,514 bytes cannot be transmitted.
You should replace the current physical Ethernet adapter to another which supports Jumbo Frames.
You can also try to update the device driver.
Another possible method is to enable Jumbo Frames on the operating system or device driver settings.
==========================================================================


【原因】
ローカルブリッジに指定したNICのGRO(Generic Receive Offload)が無効化できていなかったことが原因でした。

Linux版SoftEtherには、ローカルブリッジに指定したNICのGROを自動的に無効化する仕様があります。
しかし今回、新たに設置したVPN Serverでは、ローカルブリッジにタグVLANインターフェース(enp2s0.vlan100)を指定していました。

そのため、

enp2s0.vlan100のGRO → 無効化される
enp2s0のGRO → 有効のまま

という状態になっていました。
Linuxでは、GROは物理NIC側(enp2s0)の設定値を反映するため、この状態では実際にはGROは動作するようになっていました。

その結果、当該物理NICが大量のパケット受信が発生した時にGROが働いてしまい、ローカルブリッジ(raw socket)にMTUを超えるパケットが送られることで、パケットロスが発生していたと考えられます。


【対応】
netplanにて、当該物理NICのGROを明示的に無効化することで改善しました。

=========================================
network:
ethernets:
enp2s0:
generic-receive-offload: false
=========================================


【補足・考察】
・タグVLANインターフェースではなく、物理NIC(enp2s0)をローカルブリッジにしたときは正常に動作しましたので、SoftEtherが正しくGROを無効化できていたと考えられます。
・同じ構成で、Windows Server 2019の代わりに2012にファイルをアップロードした時には、症状が発生しませんでした。SMBの挙動差によりGROが働きにくかった可能性がありますが、詳細は不明です。


【まとめ】
Linux版SoftEtherで、タグVLANインターフェースのみをローカルブリッジに指定する場合は、物理NIC側のGROを無効化する必要があります。


同様の構成で問題が発生した方の参考になれば幸いです。

Post Reply