什么是“梯子”?大学生应该如何“科学”上网?

免责声明

本篇文章仅作为技术分享,无不良引导。作为一个遵纪守法的公民,理应知道“网络不是法外之地”,不应该在网络空间发表任何不正当言论。

什么是 VPN?

VPN(Virtual Private Network 虚拟专用隧道),通过专有网络或则其他网络,为企业和企业,以及企业和个人搭建一条具有加密保护措施的虚拟隧道,从而实现互通互联。

现代社会,我们的日常办公已经离不开电脑和手机。新冠疫情刚刚过去,很多人们也渐渐从居家办公走了出来。但是日常生活还是离不开居家办公。就比如我们大学生,寒暑假放假也希望能访问学校内的网上资源,可是在学校外如何访问校内的内网资源呢?VPN就能很好地解决这个问题。

是的,其实VPN的出现,一开始是为了办公。可是现在,一说到VPN,我想大家一定会联想到“魔法”、“梯子”、“翻墙”……懂的都懂。

上世纪90年代的时候,大多数的企业一般使用HTTP协议,而HTTP协议最大的缺点就是明文传输,很不安全。因此,VPN出现了。VPN使得数据以加密的状态在公网中传输,大大提高了数据的安全性、完整性和一致性。

VPN类型

一般分为站点到站点、客户端到站点两种:

  • 站点到站点

    这种VPN一般应用于同一企业但在不同地点的内部网,也可以应用在不同企业的外部网。
    站点到站点,这种端到端的模式,一般认为双方的位置相对固定,链接不间断。
    双方的通信需要通过集线器,一端的集线器通过ISP将数据发送到公网中,通过公网数据到达另一端的集线器,最后到达目的地址。能在一定程度上防止中间人的攻击,在“中间人”看来,就是两个集线器之间在进行通信,而且数据已被加密。

  • 客户端到站点

    这种VPN比较适合应用于居家办公,灵活性更好。因为每个员工的办公地址是比较灵活多变的,因此适合这种不需要长时间链接的方式。而且这种类型的VPN可以使用浏览器直接通信,也可以另外安装客户端软件进行VPN通信。

    这种VPN还分为全隧道和半隧道模式:

    1. 选择全隧道模式:将所有的数据都通过公司
    2. 选择半隧道模式:办公少不了摸鱼,所以一般都会选择半隧道模式

VPN职责

  • 保密(对应数据的机密性)

    一般采用AES或3-DES进行加密,感兴趣的同学可以自行了解,如果后面有时间我专门整理一篇有关加密算法的文章。

  • 完整(对应数据的完整性)

    只有加密肯定是不够的,因为黑客还有可能直接破环你的数据,自己得不到,也不让你得到。
    那么想要保证数据的完整性,就需要使用到Hash算法。这是一种信息摘要算法,将一串数据变为固定长度且唯一的一串字符。这样接收方可以用过hash值来判断数据是否完整。常见的哈希算法有md5、SHA系列,当然这里面还涉及到哈希碰撞之类的知识,不多展开,感兴趣的同学自行学习。

  • 认证(对应数据的一致性)

    其实就是对数据进行签名认证,来确认数据是否是有合法用户发出的,可以理解为身份认证。常见的算法有RSA和PSK等。

IPSec和SSL/TLS

上面说到的职责的实现除了需要算法的支持,还需要各种协议的支撑。一般会用到IPSec和SSL/TLS这两大框架。
至于一些细节上的问题需要大家自行深入学习,大家只要知道它们的核心就是S(Security)安全即可。

IPSec

IPSec框架可以用在站点到站点,也可以用在客户端到站点,用在站点到站点居多。IPSec主要应用OSI模型中的网络层,在OSI结构下,数据从应用层自上而下到物理层,再从物理层到应用层传输,会经过网络层。简单来说,数据在经过网络层时,IPSec会对数据进行加密,而SSL/TLS是在表示层对数据进行加密。

SSL/TLS

抓过包的同学应该都知道SSL/TLS就是HTTPS里面的S,是一种加密协议。当我们使用浏览器访问某个网址时,离不开HTTPS协议,因此,SSL/TLS框架一般应用于客户端到站点类型的VPN中。

什么是 VPS?

VPS是虚拟专用服务器,借助容器或者虚拟化技术,将一台物理服务器分割成多个虚拟服务器,每个服务器可以拥有独立的操作系统,可以绑定独立的IP地址,实现计算、存储、网络等资源隔离。

VPS和VPN还是有区别的,前者是一种服务器,而后者是一种虚拟网络。也有很多同学会购买VPS去访问外网,一般VPS会和云服务器作比较。云服务器跟VPS差不多,只不过云服务器是在一个服务器集群的基础上,划分出的计算和存储资源,而VPS是在一台服务器的基础上进行资源划分,在数据安全性、扩展性以及稳定性等层面,云服务器更胜一筹。
云服务器不是每个厂商都会有的,因为需要有大量的工作人员进行维护,而且需要根据实际的业务需求自研一套资源分配方案。它不像VPS那样已经有比较成熟的方案,只要抄作业就行。

什么是代理(Proxy)?

代理的工作原理是由代理服务器自己去访问你的目标网站,并加载它的内容,然后再把这些加载过的内容传递到你的窗口上。这样就相当于你在浏览目标网站了,因此代理经常被叫做“梯子”或者“桥”。另外,代理一般针对客户端,与之相对的是反向代理,反向代理一般针对服务端,它们保护的对象不同,而且现在不管是代理也好,还是反向代理也好,一般都有负载均衡的能力。

其实看到现在,大家应该都有感受了,访问外网肯定有那么一个“中间人”来做过渡。

好处

不需要直接链接到目标网站,因此目标网站就无法获取你的IP地址,取而代之获取的是代理服务器的IP地址。这样你就可以隐藏你的位置信息了。 当你访问大多数代理服务的时候,他们通常会要求你选择一个代理服务器所在的国家。你可以通过对应国家的代理服务器访问目标网站,这样目标网站就会认为你是在对应国家进行访问的。 比如,如果你想要访问的网站屏蔽了你所在的国家,那么你可以用代理服务器换上其他国家的IP,只要代理服务器所在的位置不在屏蔽范围之内,你就可以通过代理服务器实现访问了。

可能的误解

很多同学可能会觉得使用了VPN能够隐藏自己的主机,其实并不然。我们知道使用VPN上网,地址被修改后的数据通过ISP的网络发送到VPN服务器,然后VPN服务器再把数据解密发送到真是的服务器,这之间就建立了一个无形的通道,称之为“隧道”技术,它是虚拟的、隐私的。

但是你把你想要访问的网站告诉VPN真的好吗?如果VPN出卖了你怎么办?前不久就有一个用户量挺大的VPN泄露了用户的私人信息,导致服务关停。就算你的VPN不会出卖你,你想要访问的IP地址已经在DNS解析时告诉了ISP,这样ISP也就能知道你访问了什么网站。上网是件非常复杂的事情,远没有我们想的那么简单。说实话,我们的个人信息早就被那些大厂扒得一干二净了。只能说从一定程度上VPN确实隐藏了我们的IP,但不绝对。

对于我们学生来说,使用VPN翻墙到外网学习技术,了解时事,我觉得还好吧。但是不能做出有损国家利益的事情,发表一些不正当言论。使用VPN翻墙本就是违法行为,但如果以学习的态度翻墙,问题可能还不大,总之大家谨言慎行就好啦,什么事情能做,什么不能做,分寸得拿捏。

最后

访问外网的方式也不止上面的这些,需要大家自己不断探索。作为使用者来说,可能感觉都一样,但其中蕴含着很多值得我们学习借鉴的知识。作为程序员的我们就应该有“探索宇宙”的精神鸭~