防火墙的根本原理包含两点。
对ip进行双向封锁。1本地电脑不能对目的服务器发出请求。2即使接到请求,目标服务器发起的回应也会遭到拦截。
对流量进行检测并封锁。当然,通信中的流量都是进行过加密的,无法对流量的具体内容进行检测。但是往往会根据流量的异常行为进行重点审查,这些异常行为包括:1超长的使用时长。2超大的流量。3夸张的加密手段。等各种角度进行检测。
所以要进行魔法上网,就需要克服以上两点。
魔法上网的可行性。
绕过ip封锁。要知道,在物理层面,网络是通过一根根光缆或卫星信号进行信息传输的。这就形成了一个网络关系,参考六度人脉理论。如果两个节点之间的通信被切断,那么你大概率可以找到一个中间节点可以同时接连接2个被截断的节点。这就是魔法上网的根本原理。
大家的光缆是一块拉的。所以大家的网络天然是连在一起的,你只能决定剪断哪些特定的连接。只要你剪断的连接没有我寻找的新连接快,那么理论上就永远不可能被封锁。所以防火墙只是听起来可怕,它并不是是墙,而是去剪断一根线。魔法上网并不是找漏洞去绕过一些什么,而是去建立一些新的关系。
现实中,我们往往不会去特意寻找这些中间节点。所以更进一步,只要你找到中间节点的数量足够多,那么理论上你可以无视这种连接上的封锁。
中间节点。要实现魔法上网,首先就应该找到这些中间节点,然后连接上它们。这些中间节点往往会被叫做vps主机。(vps主机就是把一台电脑分成配置更低的几台虚拟电脑,其作用等价于一台电脑。)vps主机会提供给你连接服务,这样你就可以实现魔法上网。
为什么这些vps厂商的ip地址不会被封呢?一般的网站地址往往固定不动,所以更加容易进行ip封锁。而vps厂商服务器往往在国外,还会自己开发新的ip地址,这些地址本身就是无限的,动态的,被封了就去找一个新的,总有一个ip地址是能够连接国内没有被封锁的。所以如果抹平了这层信息差,那么防火墙就永远不能起作用。防火墙是以有限的力量,对抗无限的可能性,这项技术本身就建立在大众的信息差之上,是站不住脚的。
由此可见,防火墙只在不侵犯公民通信自由的情况下是符合法理的。防火墙可以用来防治网络攻击,保护机构敏感数据。但是如果通过防火墙去限制公民获取信息,侵犯到公民通信自由的权利,监视公民使用vps的ip地址,侵犯公民通信秘密的权利,则是违反宪法法规的行为。
当然,暴力可以无视一切法律。
传输层协议:作用是对数据进行封装打包。包括数据的分割,校对,传输速率等。
数据传输协议包括:1TCP,2UDP,等。
应用层协议:作用是对于数据本身进行加密。分为两种,vpn协议,和安全代理协议。
vpn协议包括:1openVPN,2wireGuard,3PPTP,4L2TP,等。
安全代理协议包括:1socks,2shadowsocks(ss),3shadowsocks(ssr),等。
安全协议:作用是让两台计算机互相交换私钥,产生通信许可,只有满足私钥加密过的信息才能被接收。
通信许可协议:1SSH,2SSL,等。
网络层协议:不需要。
数据链路协议:不需要。
物理层协议:不需要。
(你需要知道每个协议在哪个层面上起作用)
1购买vps服务器。
2用通信许可协议,构建通信许可,确保vps的信息是经过允许的,无害的。比如说通过SSH软件(xshell)对vps主机进行连接。会产生一个私钥,只要有私钥,任何电脑都能接受vps主机的信息。
3通过软件连接vps服务器,使用vps主机对目标服务器进行正常访问,获取到数据。
4用vpn协议,或安全代理协议对得到的数据进行加密,预先防止检测到数据传输等异常行为。
使用安全代理协议的叫做机场。
使用vpn协议的叫做vpn,它在本地和中间节点之间多做了一层加密,更安全。
5使用数据传输协议把数据传回到本地。因为预先做了加密,不会被检测到。至此已经实现了魔法上网。
原理如图所示。
tor叫做洋葱网络,使用中间三个中间节点作为匿名保护。符合魔法上网的原理,所以仅仅利用tor网络也可进行魔法上网。
tor
I2P
freenet
GNUnet