クライアントがリモートで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が遅いのはわかっていますが、これは間違いです。
OpenVPNトンネルがTCPではなくUDPを使用していることを確認してください。さらに、両端のOpenVPN構成ファイルで「comp-lzo」ディレクティブを使用して、トンネルが圧縮を使用していることを確認します。
最後に、トンネルのMTUおよびMSSクランプ値を設定することは価値があるかもしれませんが、これは使用しているインターネット接続のタイプに依存し、正しく設定されていない場合、通常、転送が遅くなるのではなく、タイムアウトが発生します。
tun-mtu 1500
mssfix 1212
PPP接続自体のために、MSSクランプはOpenVPNよりも1レベル低い1300のようなものに設定する必要があります。しかし、すでに述べたように、どのタイプの接続性があるのかわかりませんあなたが使用している-MSSクランプは、ADSLなどの非イーサネットネットワークでのみ役立ちます。
私の場合(OpenMediaVault NAS、debianベース)、同じ問題がありました。 PPTP Synology NASのVPNも使用します。
MTU設定以外の私の解決策は、DNSサーバーのアドレスをDHCP経由で送信するようにVPNサーバーを構成する必要があるということでした。
この後、全帯域幅を使用できました。
これがあなたと他の人を助けることを願っています!
これはやや遅い回答だと思いますが、明らかなトランスポートの問題(UDPとTCP)の他に、暗号、MSS、MTU、およびフラグメンテーション方式も役割を果たします。
OpenVPN wikiの非常に優れた記事 は、ギガビットネットワークからほとんどのパフォーマンスを引き出す方法についてです。そこに見られる事実は、ギガビット速度以下でもかなり洞察に富んでいます。
私はすでにvpn(openvpn)接続でsambaを使用していて、Windowsマシンで作業するユニークな方法は、ファイルをコピーして作業し、元に戻すことでした... sshマウントドライブまたはsamba共有のLinuxマシン同じVPN接続で「正常」に機能していましたが、接続速度はあなたの10分の1でした。
TCPを使用するようにopenvpnを設定していますか?それはあなたが見ている問題を引き起こす可能性があります。 UDPを使用する必要があります。
ErikAが言ったように、比較のために(インターネットとVPNを介して)SCP(またはftp)転送を行う必要があります。