如何建立隧道

时间:2015-04-04 10:50:39

标签: ssh tunneling

为了绕过我国家的过滤,我租了一台256 MB RAM的国外服务器(CentOS 5)。客户端是Ubuntu 12.04。我在客户端运行此命令来设置隧道:

ssh -CNfD 1080 <user>@<server-ip>

在Firefox设置中,我定义了一个socks代理服务器:

localhost:1080

通过使用此方法,一切正常,我可以绕过限制。但是,速度合理地降低了。我不知道为什么。我想有些原因,我想和你分享,并征求你的意见:

  1. 如果我使用直接连接,大多数网站都使用http,但是当我使用代理时,所有网站都必须使用ssh准备的安全连接。我的提供商可能降低了安全连接的速度。 (我认为这可能是问题,但似乎不使用代理的https网站仍然打开得更快。)

  2. 这种隧道效应实际上会导致互联网速度下降。可能是因为适用于安全数据包的开销或其他原因。如果是这样,我可以替换什么?我有一个工作专用服务器。

  3. PS。服务器的Internet连接速度远远高于客户端和服务器之间的速度(带宽)。

    PPS。我可以建立一个http隧道吗?或者使用某些软件代替ssh更快,更少开销或不使用https?

    请帮我弄清楚究竟发生了什么,因为我对这些概念并不熟悉。

1 个答案:

答案 0 :(得分:1)

恐怕没什么可以做的......

实际上,当您通过加密隧道传输有效负载数据时,可以预期速度,延迟和吞吐量会降低。原因主要是加密的开销,并且还取决于手头的连接,修改(更长)的路由。您必须考虑到大多数加密必须由您的隧道端点完成,因此在这种情况下您的服务器。如果该系统缺乏计算能力,那么结果显然会降低吞吐量。像CDN这样的东西也不会再一样了。

很可能是您的服务提供商限制了不同类型的连接。特别是在对通信内容具有高度控制和审查的区域中,当局更倾向于不使用加密的有效载荷,因此可以控制和过滤有效载荷。阻止人们使用加密的一切都符合他们的利益。因此,从他们的角度来看,限制加密通信才有意义。悲伤,但仍然是真实的。

唯一可能产生影响的是关于隧道端点的一些细节,所以在这种情况下你的服务器。增加的计算能力可以减少瓶颈如果该系统由于加密而显示高负载。

此外,它的网络连接也很有意义,就像您的本地连接一样:与未加密的流量相比,加密隧道在上载端需要更多的控制数据。由于上传带宽通常远低于下载,因此可能也是一个问题。