読者です 読者をやめる 読者になる 読者になる

orz.conf

技術メモ✍

SoftEther VPNの不具合??

SoftEther VPN linux

さてSoftEtherVPNの設定が終わりました。

あれ、なんだかパソコンが熱いな・・・・?
このパソコンではvpnsambaくらいしか動かしてないはずだけどな。
夏だからかな?

ちょっとプロセス使用率確認

$ top
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 2600 root       0 -20 1166588 170944   5220 S 119.1  8.8   5:34.77 vpnserver

信じられないCPUの使用率!
SoftEtherVPNってこんな使用率になるの???
しょうがないのでCPU使用率下げるよう小細工しましょう(後々この判断が間違いだったと気付きます)

以下はその小細工です。

CPU使用率を制限する為にcgroupを導入しました。
これを使うとCPUリソースやらメモリやらに制限をかけることができます。

$ apt-get -y install cgroup-bin

続いてcgroupのコンフィグを作成。
このファイルはうちの環境では存在しなかったので、新規作成しました。

$ vi /etc/cgconfig.conf

group limit {
    cpu {
        cpu.cfs_quota_us = 200000;
        cpu.cfs_period_us = 1000000;
    }
    cpuacct {
    }
}

1000000マイクロ秒(つまり1秒)あたり200000μ秒(0.2秒)単一のCPUにアクセス
出来るようになります。20%までこのプロセスにCPUを割いてくれるらしいです。

続いて何やらおまじない

$ cgconfigparser -l /etc/cgconfig.conf

これをやらないと

cgroup change of group failed

って出てきます。

そしてcgroupを使ってvpnserverを起動します。

$ cgexec -g cpu:limit /usr/local/vpnserver/vpnserver start

これで完了なんですが、そうです。
起動スクリプトも修正してやらないといけません。

最終的にこのような形になりました。

再起動後にスマホからVPNアクセス出来て、topも20%に収まりました。

とここでまた問題が発生しました。
スマホOpenVPN ConnectのConnection statsに表示される
Bytes inが異常に増えるという現象が発生しました。

みた感じ200kByte/sくらいのスピードでどんどん通信量が増えていきます。
あれこれ設定を見直しましたが、結局SoftEtherVPNのサーバのバージョンを変更すると状況が改善しました。
うちの環境ではBuild 9546でこの事象が発生しました。
以前試していたBuild 9529に戻して確認していますが今のところこの事象は発生していません。

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 6294 root       0 -20 1036472  21984   5032 S   0.7  1.1   0:50.98 vpnserver

クライアントがガンガンアクセスするような環境なら当然負荷は高いでしょうが、個人でたててるサーバだとこんなもんなでしょう。(core2duoでもね)

結局cgroupの設定なんて必要なかったですね・・・・
まあお勉強ということで。