来自:http://www.zhihujingxuan.com/19311.html

【scotttony的回答(41票)】:

VPN和ssh哪个比较好,

要看你怎么定义是“好”。

ssh作为一个创建在应用层和传输层基础上的安全协议,位于网络协议的较高层(相对于VPN来说)。我使用ssh一般作为socks5代理(有人说是位于会话层,未经证实)。将http的报文封装在ssh的数据包里,在客户端和服务器之间传输。

ssh代理用起来很方便,搭配火狐的autoproxy扩展之类,可以很容易做到哪些网站通过ssh访问,哪些不使用ssh,非常灵活,轻量级。

VPN好的地方在于,他更全能。实际大规模使用的VPN至少有四种:PPTP,L2TP,OpenVPN,IPSec。其中L2TP和PPTP作为最老牌的vpn,是工作在OSI七层模型的数据链路层,从下往上第二层,是一个非常底层的网络通信协议,作为底层的隧道技术有什么好处呢,它们 完全不需要上层客户端做任何修改,不需要客户端支持设置代理,不需要客户端做什么设置,不需要客户端任何改变,之前你怎么使用的网络,还是怎么使用。它从底层模拟了vpn服务器的网络环境,给使用网络的上层应用造成了一种假象,让它们以为自己就是在VPN服务器所在的局域网中,没有wall,没有reset,一切都那么美好。

vpn的全能也是有代价的,那就是相对于ssh来说,VPN不够灵活,默认情况下,你连上某个vpn,系统所有的网络流量都会从那个VPN连接走,很多时候是不必要的,例如上国内网站的时候,你总不希望你看到的视频内容是从youku连到国外vpn服务器,再从vpn服务器走回到国内你的客户端吧,绕了一圈,丢包率和延时直接上了一个台阶。

当然你也可以手动改路由表,选择哪些流量走vpn,哪些直连,但是这个要比ssh应用规则相对复杂

openvpn和Ipsec不大了解,有人说ipsec位于网络层,本人未证实。我在这里抛砖引玉。

为什么VPN比SSH繁荣?

我想vpn比ssh繁荣由上面的分析来说,已经是显而易见,因为ssh做不了的事情,VPN都可以做;而ssh能做的,VPN也统统能做。

举个例子,国内是上不了推特的,你用ssh代理当然可以通过浏览器上推特,但是我更喜欢像qq那样的客户端上推特,你装上这样的推特客户端,输入用户名,密码,然后就。。。。Oops

你点开客户端的设置选项,大多数情况下,你是找不到代理设置选项的,这时候怎么办?ssh君表示无能为力啊。

这时候我们的VPN上场了,交给我,连上VPN,一切都是那么美好,不仅仅是浏览器,客户端程序也可以连上推特啦啦啦。

还有很多场景,比如某些游戏只能美国ip才能进去玩,那么也只有VPN可以

补充一点:

其实ssh只是代理的一种,代理有很多种,例如http代理反向代理等,这些之所以在国内的网络环境里不堪,主要是因为他们内容传输都是使用明文,不加密的内容很容易被第三方嗅探,然后截断连接,一般情况下,你猜谁会干这个事情???

ssh和vpn都是加密传输,相对安全,在国内恶劣的网络环境下,总算能够生存。

【lookwatchsee的回答(19票)】:

首先,我猜你是想比较VPN和SSL. ssh是一个remote shell 是基于SSL的一种应用,尽管很多人用ssh的转发功能 但是本质上,并没有使用shell, 只是利用了sshd这个软件的SSL proxy的功能。

其次,SSL本身就是VPN的一种,称之为SSL VPN, VPN是外延更广的概念,也不能放在一起比较。

所以我猜你所说的vpn是非SSL VPN,很可能是IPsec,L2TP和PPTP这种基于GRE tunnel的VPN(也有基于其他类型的tunnel 比如ip-ip 或者根本就在tunnel里的,但典型的,是基于GRE tunnel的)。

那么接下来比较一下tunnel-based VPN和SSL VPN。

SSL VPN 的最大好处就是天生可以穿越NAT。因为SSL工作在TCP/UDP之上,有端口号,可以被NAT复用。SSL非常适合远程登陆,也就是client-gateway模式。要知道你在家里面上VPN一般来说肯定是要经过你们家路由器的NAT的,在这方面SSL有先天的优势。缺点也很明显,SSL/TCP VPN本身有TCP melt down的问题(简单的说就是性能太差),web SSL只适合与访问网站。DTLS即SSL/UDP倒是一个方向。

而tunnel-based VPN 穿越NAT需要有专门的feature,比如IPsec有NAT-T。即把数据报文包裹在UDP:4500包里面而不是简单的GRE tunnel,当然如果这么做,其实和DTLS就有点像了。tunnel VPN因为在处理包的时候只看到IP的头(顶多再看看UDP的8字节头部),而且数据通道是无状态的,因此速度特别快。我这么说并没有考虑加解密的开销,因为无论是SSL VPN还是tunnel VPN,加解密现在一般都是专门的硬件来做了。

至于面向远程用户的易用性,SSL VPN除非是client-less模式(应用并不是很多),还是要安装客户端,反而tunnel VPN在主流的操作系统上native支持。比如MAC支持IPsec,LT2P,PPTP,Andorid支持PPTP和L2TP,等等。

因此对于远程登录用户来说,现在SSL相比较Tunnel VPN并无明显优势。

但是有一个优势SSL VPN的一个分支也就是sshd proxy这种技术门槛比较低,一般的用户很容易就可以学会用sshd来搭一个转发服务器。

至于企业用户,tunnel VPN的优势就太大了。像IPSEC的企业网技术远远不是SSL VPN所能达到。比如DMVPN,GETVPN。而且企业网更注重性能。

运营商级别的就不谈了。

所以SSL的应用,现在还不能和tunnel-based VPN相比。

【知乎用户的回答(0票)】:

最令人头痛的问题是SSH不支持”多重链路协议“的并发,链接太多的时候某个链接出问题就卡壳了。需要重新登陆服务器才能恢复正常。

【知乎用户的回答(0票)】:

我猜题主大概是想问跳墙的效果哪个好?是的话继续往下看,不是就不用管我了。

涉及到具体的协议方面的东西我不是太懂,我紧紧从应用上来说。

速度来说,主要看你的网速。因为一般来说买的收费的服务网速都是没问题的。

实用性来说,我觉得ssh更好,局部代理方便。毕竟大多数时候我们只是需要访问那些国外网站才会用到,挂个vpn的话有点划不来,致使国内的网站访问受影响。但是很多软件是不支持设置socks5代理的,这个时候你就需要vpn了。代表场景就是软件要内部连接国外某些服务,还有打游戏。

综合来说,还是买ssh+vpn一号通的服务吧。搜ssh代理,很多服务商都是提供这种一号通服务的。既可以用ssh,也可以用vpn,根据自己的实际使用情况来使用。

我自己现在用的就是这种。

---------------------------------------------------------------------------------------------

以上说的都是普通用户的情况,不考虑自己动手弄ssh然后搞个全局代理或者弄vpn搞个路由表。

毕竟普通用户大概是不想这么折腾的。

【逸山的回答(0票)】:

就FQ而言,vpn适合全局FQ,ssh适合智能FQ。

【知乎用户的回答(0票)】:

另一个原因ssh用户登录的权限比较大 对系统危害大,系统要是有个权限漏洞就悲剧了

【张峥的回答(0票)】:

ssh似乎只能建立一个连接,看图片多的网站,加载很慢,一个图片卡住,后边的都要排队等着超时。

原文地址:知乎

【网络】VPN和代理服务器的区别的更多相关文章

  1. DevOps之虚拟专用网络VPN

    唠叨话 关于德语噢屁事的知识点,仅提供专业性的精华汇总,具体知识点细节,参考教程网址,如需帮助,请留言. <虚拟专用网络VPN(Virtual Private Network)> 关于虚拟 ...

  2. Web服务器、Web容器、Application服务器、反向代理服务器的区别与联系

    在Web开发中,经常会听到Web服务器(Web Server).Web容器(Web Container).应用服务器(Application Server).反向代理服务器(Reverse Proxy ...

  3. 虚拟专用网络VPN

    寒假回到家里需要下载论文,怎样才能访问学校图书馆的数据库呢?解决方法是学校图书馆在内网中架设一台VPN服务器,VPN服务器有两块网卡,一块连接内网,一块连接公网.然后就可以通过互联网找到VPN服务器, ...

  4. 网络知识===TCP/UDP的区别

    TCP(传输控制协议,Transmission Control Protocol): 1)提供IP环境下的数据可靠传输(一台计算机发出的字节流会无差错的发往网络上的其他计算机,而且计算机A接收数据包的 ...

  5. [网络编程] TCP、UDP区别以及TCP传输原理、拥塞避免、连接建立、连接释放总结

    TCP.UDP都是属于运输层的协议,提供端到端的进程之间的逻辑通信,而IP协议(网络层)是提供主机间的逻辑通信,应用层规定应用进程在通信时所遵循的协议.一.UDP主要特点:传输的是用户数据报协议.1. ...

  6. 一个CentOS7的开发环境部署,包括防火墙|VPN|多IP多网关|HTTP代理服务器设置等

    http://www.lenggirl.com/code/centos7.html layout: post title: "一个CentOS7的开发环境部署,包括防火墙|VPN|HTTP代 ...

  7. VPN+NAT实现代理服务器功能

    前话 用VPN+NAT再结合路由可以实现很方便的代理功能,适用于有一台能方便连接Internet的电脑,其他不在同一子网内的电脑能够连接到这台机器但不能完全访问Internet.比如好些学校的校园网, ...

  8. vpn速度太慢?先从本地网络着手

    使用VPN,用户们抱怨的最多的是速度太慢这个问题,导致网页打不开或者打开缓慢,游戏延迟变高或者根本无法游戏,甚至无法连接等.那么我们今天就来全面解析下VPN的速度是由什么因素引起的. vpn速度过慢 ...

  9. 网络通信协议tcp,udp区别

    1 网络通信协议 Tcp udp的区别 重点(*****) Tcp三次握手四次挥手(******) udp客户端多人聊天 import socket udp_client = socket.socke ...

随机推荐

  1. OFFICE文档(DOC,XLS,PPT)打开报错的解决办法!

    一般情况下,打开OFFICE文档报错都是因为模板文件出错!! 至于为什么会出错这个问题不好说,可能是不正确关闭文档等等,重装OFFICE也不一定能解决问题! 出现这种情况一般是所有的Word文档或者E ...

  2. 湖南国庆模拟赛day1 分组

    题目大意:给你一个n个数的数列s,要对这些数进行分组,当有任意两个数在一种方案在一起而在另一种方案中不在一起算是两种不同的方案,一个组的"不和谐程度"为组内数的极差,如果只有一个人 ...

  3. 【解决】同一url的http请求所获取的结果总是相同

    曾经在WP7写过一个通过HTTP获取网页内容的小程序,当时一直没能够解决: 有一个网址,在每次点击刷新之后页面所呈现的内容都是不同的.但是进行HTTP请求时,结果将会一直重复. 从网上查资料得知,在请 ...

  4. C#3.0 特性

    C#3.0特性 隐式类型的本地变量和数组 对象初始值设定项 集合初始值设定项 扩展方法 匿名类型 lambda表达式 查询关键字 自动实现的属性 分布方法定义 lambda表达式与表达式树 https ...

  5. java练手 韩信点兵

    Problem C 韩信点兵 时间限制:3000 ms  |  内存限制:65535 KB   描述 相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排.五人一排.七人一排地变换队 ...

  6. findByExample(Object exampleEntity)方法得到的List判断是否为空,不可用(lis != null)

    用findByExample(Object exampleEntity)方法可以应用在用户登录上面,获得有登陆名和密码的user对象进行查询. 返回两者都符合的对象列表,为空则登陆失败. 错误的方法: ...

  7. xcode7 The operation couldn't be completed.

    问题描述:当运行Xcode6时,编译代码成功,但是登陆模拟器失败,显示错误:The Operation couldn't be completed.(LaunchServicesError error ...

  8. qt 的简介与使用

    1.图形类的构造,都是通过类的构造函数以及界面初始化这两部分 2.在qtcreator的界面编辑器通过“提升类”的方法,要确定头文件的路径是否正确 3.点击窗口关闭时,销毁窗口内容时,设置属性-> ...

  9. C++之通用队列模版

    功能:在qtcreator上用模版的方式实现队列数据格式存储多样化. 模版实现的两种方式: 1.模版的实现直接在头文件里声明并定义,别的类通过#include"*.h"进行包含,则 ...

  10. ubuntu下修改apache2.4的rewrite

    sudo a2enmod rewrite 修改/etc/apache2/apache2.conf中 AllowOverride None 为 AllowOverride ALL 重启 service ...