web-dev-qa-db-ja.com

OpenVPN上のSamba-ひどく遅い

クライアントがリモートでSamba共有にアクセスすることを目的として、OpenVPNを実行するサーバーを設定しました。

サーバーはCentOS 5.6、まともなクアッドコアXeon CPU、十分なRAMを実行しています。私がテストしたクライアントはWindows 7 x64マシンで、これも非常に高いスペックです。

その結果、クライアントへのアップロードとダウンロードは約60KB/sで実行されます。 Sambaは何度もトリップを繰り返すという点で非常に非効率的ですが、それでもクライアントの帯域幅は50Mbpsダウンストリームと4Mbpsアップストリームです。クライアントのアップロード速度がボトルネックだったとしても、それはそれよりも約9倍遅いです。

転送中のサーバーとクライアントのCPU使用率はごくわずかであるため、暗号化速度を除外する必要があります。

サーバーとクライアントの両方で適切なOpenVPNポートが開いています。 OpenVPN暗号は、160ビットのSHA1 HMACを備えたAES-128-CBCです。 TLSキーとcomp-lzo圧縮も使用されています。

これが何であるか考えていますか? Sambaが遅いのはわかっていますが、これは間違いです。

7
melkamo

OpenVPNトンネルがTCPではなくUDPを使用していることを確認してください。さらに、両端のOpenVPN構成ファイルで「comp-lzo」ディレクティブを使用して、トンネルが圧縮を使用していることを確認します。

最後に、トンネルのMTUおよびMSSクランプ値を設定することは価値があるかもしれませんが、これは使用しているインターネット接続のタイプに依存し、正しく設定されていない場合、通常、転送が遅くなるのではなく、タイムアウトが発生します。

tun-mtu 1500
mssfix 1212

PPP接続自体のために、MSSクランプはOpenVPNよりも1レベル低い1300のようなものに設定する必要があります。しかし、すでに述べたように、どのタイプの接続性があるのか​​わかりませんあなたが使用している-MSSクランプは、ADSLなどの非イーサネットネットワークでのみ役立ちます。

3
Richard Keller

私の場合(OpenMediaVault NAS、debianベース)、同じ問題がありました。 PPTP Synology NASのVPNも使用します。

MTU設定以外の私の解決策は、DNSサーバーのアドレスをDHCP経由で送信するようにVPNサーバーを構成する必要があるということでした

この後、全帯域幅を使用できました。

これがあなたと他の人を助けることを願っています!

1
FreeStyle

これはやや遅い回答だと思いますが、明らかなトランスポートの問題(UDPとTCP)の他に、暗号、MSS、MTU、およびフラグメンテーション方式も役割を果たします。

OpenVPN wikiの非常に優れた記事 は、ギガビットネットワークからほとんどのパフォーマンスを引き出す方法についてです。そこに見られる事実は、ギガビット速度以下でもかなり洞察に富んでいます。

主な調査結果

  • Blowfish暗号は、全体として最高の速度を可能にします。ギガビットネットワークでの最適な[〜#〜] mtu [〜#〜]48000
  • AES-256暗号を使用しても、MTU 24000デフォルトの代わりに。
0
0xC0000022L

私はすでにvpn(openvpn)接続でsambaを使用していて、Windowsマシンで作業するユニークな方法は、ファイルをコピーして作業し、元に戻すことでした... sshマウントドライブまたはsamba共有のLinuxマシン同じVPN接続で「正常」に機能していましたが、接続速度はあなたの10分の1でした。

0
laurent

TCPを使用するようにopenvpnを設定していますか?それはあなたが見ている問題を引き起こす可能性があります。 UDPを使用する必要があります。

ErikAが言ったように、比較のために(インターネットとVPNを介して)SCP(またはftp)転送を行う必要があります。

0
Steven