SoftEther on Ubuntu 24 on ProxmoxVE 8.2 の VPN 通信が不安定な場合の一対策

まとめ

SoftEther を動かしている UbuntuNIC の segmentation offload が悪さをしている可能性があるので segmentation offload を無効化してみよう。

環境
  • SoftEther 4.43beta
  • Ubuntu 24.04 LTS VMNIC 2本はそれぞれ Intel E1000 を指定。 ens19 がローカルブリッジ用 NIC
  • ProxmoxVE 8.2.2
不具合

L2TP/IPSecVPN 接続した端末で、VPN 側から端末側に大きなデータ(ファイル)をコピーしようとすると速度が出ない(数KB/s) & 失敗する。(SoftEther ネイティブ接続は未検証なので、ネイティブ接続だと影響がない可能性あり)
MTU 周りを疑い、仮想 HUB の拡張オプション AdjustTcpMssValue を下げたりしてみたが効果なし。
Proxmox ホスト側の NIC offload の無効化も効果なし。

対策

VM のローカルブリッジ用 NIC の offloading 具合を確認すると以下の通りで TSO, GSO, GRO が有効になっているのが分かる。

$ sudo ethtool -k ens19 | grep -v fixed
(snip)
tcp-segmentation-offload: on
        tx-tcp-segmentation: on
        tx-tcp-mangleid-segmentation: on
generic-segmentation-offload: on
generic-receive-offload: on

これらの offloading が悪さをしている場合があるとのことなので、NIC offloading を無効化する。

$ sudo ethtool -K ens19 tso off gso off gro off
$ sudo ethtool -k ens19 | grep -v fixed
(snip)
tcp-segmentation-offload: off
        tx-tcp-segmentation: off
        tx-tcp-mangleid-segmentation: off
generic-segmentation-offload: off
generic-receive-offload: off

この状態でテストしたところ、ファイルのコピーの不安定さがなくなったので永続化設定をする。
netplan 環境なので永続化設定は次トピの通り。
Ubuntu netplan で NIC offloading を無効にする設定の書き方 - ..たれろぐ..


参考
  • NIC offload の無効化の示唆

forum.softether.org

  • ProxmoxVE 上で SoftEther サーバを立てるときの注意点(仮想NICの種別)

zenn.dev

ac-as.net

  • 仮想 NIC での offload の挙動について

zenn.dev