通过VPN的低带宽互联网


10

我刚刚用新购买的未超频的Raspberry Pi Model-B完成了VPN的NAS的安装,遇到了其他地方找不到答案的问题。

互联网带宽,使用

wget --output-document = / dev / null http://speedtest.wdc01.softlayer.com/downloads/test500.zip

比我预期的要慢得多。当以太网直接插入笔记本电脑时,我通过Pi在Pi上获得的速度约为1.34 MBps。

问题出在OpenVPN,但我不知道它到底是什么。这就是我所知道的。

我比较了打开和关闭VPN时Pi的下载速率-分别为5.03 MBPS和1.34 MBPS。

然后,我在笔记本电脑(有线)上进行了尝试-完美速度为6.9 MBPS,而完美时为6.7 MBPS。

因此,问题并不完全出在我的VPN服务(PrivateInternetAccess)上,该服务使笔记本电脑的带宽减少了3%,但是与OpenVPN在Pi上运行的方式(使带宽减少了74%)有关。

关于为什么Raspbian上的OpenVPN如此可怕的任何想法?

更新:从没有VPN的笔记本电脑上的6.9MBPS减少到没有VPN的Pi上的5.03 MBPS的大部分减少似乎是由于SD卡的写入速度,我确定约为4.9MBPS。从没有VPN的Pi上的5.03 MPBS到具有VPN的1.3MBPS的巨大减少需要说明。

更新2:来自评论建议的更多线索:1)OpenVPN在运行时使用70%的CPU,wget处于后台2)在Pi上,我从美国VPN服务器上获得1.34 MBPS,大约500-来自所有欧洲VPN服务器的600 KBPS,但在我的笔记本电脑上,我从美国VPN服务器获得6.7MBPS,从某些欧洲服务器(如荷兰的服务器)获得非常相似的6.6MBPS。我的意思是,与服务器的距离似乎对Pi的影响不成比例,对我的笔记本电脑的影响不成比例。


这可能是不良的写入速度和VPN开销的组合。我从不喜欢使用VPN,因为它们在Internet上速度很慢,而SSH隧道始终是最快的。是否有用于在OpenVPN上启用压缩的选项?可能与此有关,也许在运行中加密会导致问题。这是一个好问题。我也对有关Pi
Piotr Kula

top测试时查看CPU负载,这应该说明加密开销。
Frepa 2013年

@Frepa极好的建议!启用VPN后,OpenVPN会占用70%的CPU。您认为这是造成传输速率巨大差异的原因吗?
dbrane

@dbrane,听起来好像CPU是限制因素。剩余30%的CPU时间在哪里?闲?从更新2开始,听起来网络延迟(即不仅吞吐量)对于性能很重要。VPN中可能正在进行一些握手。
Frepa 2013年

@Frepa剩余的大部分CPU时间由wget本身使用,这是我用来测试传输速率的命令。列表中的所有其他内容均使用少于1%的内容。如果该信息有帮助,我正在通过VPN使用CA证书。也许我应该尝试超频,看看是否有帮助?
dbrane 2013年

Answers:


4

在低功耗设备上,至少在使用SSH时,我在使用RC4密码提高性能方面具有丰富的经验,因为它的计算速度更快,因此使用更少的CPU占用带宽/在相同的CPU使用率下允许更高的带宽。本指南说明了如何将密码更改为OpenSSL支持的任何密码-例如RC4:

http://openvpn.net/index.php/open-source/documentation/howto.html#security

请注意,RC4不是可用的最安全的算法,但是SSL仍以安全的方式使用它(存在,如此处所述:http : //en.wikipedia.org/wiki/RC4)。更新:现在已经不像过去那样正确了。随着破解RC4的技术的发展,对RC4安全性的信任正在进一步降低,2013年使我们在破解RC4以及对NSA已成功进行管理的猜测方面取得了各种进展。引用维基百科:

截至2013年,人们猜测即使在TLS协议中使用某些州加密机构,也可能具有破坏RC4的能力。[3] Microsoft建议在可能的情况下禁用RC4。[4] [5]

所以,我还能推荐RC4吗?不太一般。当然,您需要在安全性和性能之间进行权衡,也许您实际上并不需要太多的安全性-任何加密技术,甚至是RC4,仍然会像美国国家安全局(NSA)那样拖延对Dragnet的监视工作。但是我会非常小心实际敏感的数据,如果可能的话,将算法更改为其他方法(我已经开始对Raspberry进行基准测试以寻找快速的替代方法)。

更新2:在我的(超频)Raspberry上,如果您有足够的CPU可用,AES不会那么慢。下表显示RC4可以加密〜57MB / s,而AES-128-CBC可以加密〜21.4MB / s。当然,这并不能解释为什么您会得到如此差的性能-但默认情况下您可能使用的是较慢的密码,或者可能还有其他一些效率低下的地方可以改善。

$ openssl speed rc4 aes
[...]
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
rc4              45281.36k    54782.67k    57196.80k    57391.48k    57570.77k
aes-128 cbc      17904.15k    20469.38k    21133.95k    21449.62k    21403.72k

来自的超频设置/boot/config.txt

arm_freq=950

# for more options see http://elinux.org/RPi_config.txt
core_freq=250
sdram_freq=450
over_voltage=6

1
任何类型的加密(ssh / vpn)都会导致额外的CPU使用率,这可能是您的瓶颈。
EarthmeL13年

1
我的观点是RC4使用的CPU比其他密码少,因此在这种情况下可能会更好。但是我不确定您是否同意我的回答。
Blaisorblade 2013年

@earthmeLon:我更新了我的答案以明确指出我的观点,因为无论如何它还是不清楚的。不确定是否能解决您的评论。
Blaisorblade

绝对。我非常感激RC4是一种成本最低的好解决方案,因为它是SSH2的实现。感谢您提供的信息:D。太可惜了,您看不到我给您投票了,是吗?
EarthmeL13年

确实-我只是后来才注意到,您的评论与否决意见的时机吻合。谢谢!
Blaisorblade
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.