搭建vpn需要外网吗
很多人遇到无法连接外网的时候,都会去寻找各种加速器、翻墙、VPN;像什么旋风加速器、蓝灯VPN、以及Express VPN、还有开源的筑波大学的VPN等等,数不尽的VPN服务提供商。这里我们先不去说各个VPN服务商的稳定性、网速和费率、跑路等问题。实际上,在我们每个人的的手机中,都有自带的VPN,但大部分人并不知道,知道了也不知如何使用;但是,你有没有发现,当你每次利用第三方的加速器连接外网成功后,手机的通知栏上都会出现一个新的用圆角矩形框住的VPN图标;由于大部分人没有搭建VPN服务器的能力,搭建VPN服务器一般也是由专业的运维人员来做,如果是涉及到境外网络访问的并需要公司向有关部门申报审批通过,才能搭建此类服务器。所以大部分情况下,国内用户都是去找这个第三方或者免费的VPN服务提供商。当大家等我讲完VPN的原理后,应该很多人都不敢随便连接这些第三方VPN了!你是否在连接这些第三方VPN和翻墙软件后,经常出现apple id被盗和网站账号异常问题?哈哈哈
VPN全称(Virtual Private Network,虚拟专用网络)重点要理解虚拟这个词,从传统企业的远程访问说起,传统企业的远程访问是建设专线,一般是物理专线,所谓专线是指只有特定人和组织才能使用这条物理网络线缆,公网和任何特定组织外的人员都无法连接这条线缆,类似军用光缆;所谓虚拟专用网络,就是在公共网络上通过加密技术模拟出一个数据通讯通道,来达到外网与内网通讯的目的。至于在 OSI 七层网络协议的那一层进行加密,每一种协议的加密都不一样,加密处于越底层,理论上更安全。再过一会儿我们来看看OSI七层网络协议模型,以及对应不同VPN协议所处的层级,以及为什么是加密处于越底层越安全。VPN可以帮助内网与外网隔离状态下的用户顺利在外网获取内网资源;相对与建设物理专线而言,成本极低。
方滨兴,1960年7月17日出生于黑龙江省哈尔滨市,中共党员,网络空间安全专家,中国工程院院士,国家计算机网络与信息安全管理中心名誉主任,广州大学网络空间先进技术研究院名誉院长,被誉为“中国网络防火墙之父”。已经是院士了,享受国务院特殊津贴!!!北邮的前校长。
看完“伟人”,让我们继续聊聊VPN的架构设计。VPN分为客户端和服务端,属于C/S类型软件,也就是客户端/服务端设计模式;服务端主要用于给客户端提供接入接口,服务端会根据客户端发起的请求内容,执行相应的逻辑获取指定的资源并返回给客户端。这里的服务器,相当于所有使用VPN的客户端用户的网络总代理,所有的网络请求和响应都是被VPN的服务端进行代理转发请求和返回响应!也就是你所有与外部交互用到的数据都会被VPN服务器获取到,想象一下可怕不?这就是为什么你用了第三方VPN服务商的服务后,你经常会出现apple ID提醒被盗和修改密码,以及账号提示风险和密码被盗、信用卡被盗刷等问题。
我们来看看IOS上一直存在的VPN客户端,Mac OS、PC还有iPadOS以及安卓手机上都有,就在系统设置中;这里我们看到MacOS中支持的VPN协议包含以下三种:IPsec、IKEv2、L2TP;MacOS只列出了这三种协议,此外PPTP与SSL等也属于VPN协议;PPTP、L2TP协议工作在OSI模型的第二层,二层隧道协议;我们来看OSI七层网络模型;IPSec为第三层隧道协议;SSL属于应用层协议。从七层网络协议模型中,我们可以看出,协议处于越底层越基础;而越往上层协议走,就是对自己下一层协议内容的封装;我们来看看为什么之前说,越处于协议最底层,越不容易被GFW识别和屏蔽;这里我们看网络层,这里有一个IP协议,这个ip就是我们常用的ip地址,包括IPv4、IPv6,它用于标记网络中一个主机(node节点),全网唯一,用于确定我们的网络数据发往具体哪一台主机;如果我们的加密协议处于这一层以下,是不是连我们的额 IP地址都会加密,也就是说gfw在拿到我们网络报文时,是不是连IP协议段的ip地址都是密文,根本无法识别。但有可能如果加密后的ip内容是一致的,也有可能被标识和识别;如果处于IP协议层上层,只要GFW认为你这个IP有问题,他就可以标识你的这个IP不允许通过。再说说之前我们说过物理专线,他其实属于七层网络协议的最底层,如果我们真的建立一条与国际互联网的链接专线,那么我们的流量根本不会通过GFW,GFW根本拿不到我们的网络报文和数据包,也就不需要VPN这个工具了。
疫情期间,很多公司自建VPN服务器,让员工能够在家中访问公司的局域网,方便居家办公。用的比较多的是Open VPN,他有个特有的客户端,需要在VPN服务端生成每个客户端特定的配置文件,在客户端进行倒入,才能使用。OPEN VPN,属于开源软件,建立在TCP/UDP协议之上;需要倒入证书才能启动客户端,配置起来比系统设置中自带的VPN客户端要复杂很多;Open VPN的官网以及社区版本的链接地址,放在视频下方的介绍中;第二个是IKEv2/IPsec,包含身份认证与加密,这里的身份认证指的是用户名、密码,加密是对数据报文加密的密钥,可以避免网络数据明文传输;说到IPsec,需要说到一个开源的IPsec服务器实现strongswan(翻译成中文叫强鹅吧),是一个基于IPsec协议的开源VPN服务端软件,现在GitHub上的一键搭建VPN的shell脚本很多都是基于它来实现;
接下来我们来说说有关VPN有关的法律;尽管我们知道了如何搭建VPN服务器,但是在搭建VPN服务器前,我们先看看VPN有关法律;到底是谁规定了中国大陆人就不能访问外网?制定了这项法律?《中华人民共和国计算机信息网络国际联网管理暂行规定》这部暂行规定,发布于1996年2月1日,中华人民共和国国务院令第195号;之后,根据1997年5月20日《国务院关于修改〈中华人民共和国计算机信息网络国际联网管理暂行规定〉的决定》修正;数据来源于 司法部官网;规定的第六条 计算机信息网络直接进行国际联网,必须使用邮电部国家公用电信网提供的国际出入口信道。任何单位和个人不得自行建立或者使用其他信道进行国际联网。规定的第七条 已经建立的互联网络,根据国务院有关规定调整后,分别由邮电部、电子工业部、国家教育委员会和中国科学院管理。新建互联网络,必须报经国务院批准。规定的第八条 接入网络必须通过互联网络进行国际联网。接入单位拟从事国际联网经营活动的,应当向有权受理从事国际联网经营活动申请的互联单位主管部门或者主管单位申请领取国际联网经营许可证;未取得国际联网经营许可证的,不得从事国际联网经营业务。规定的第十条 个人、法人和其他组织(以下统称用户)使用的计算机或者计算机信息网络,需要进行国际联网的,必须通过接入网络进行国际联网。
我们在前面已经提到了GFW这个名词,接下来我们就来详细讲讲这个GFW;GFW全称(Grreat Fire Wall,长城防火墙);我们每个人的PC中都有防火墙,其实这是一个ip地址table表,类似黑名单的功能,处于该名单中的ip可以设置为不允许访问该ip,或者该ip不允许访问本主机;GFW相当于在中华人民共和国的局域网与国际外网的关口处,设置这样一堵防火墙;这堵防火墙就这样存在于我们国家局域网与国际外网连接的链路之上;只要你的网络请求和响应需要由中华人民共和国建立的网络基础设施(海底线缆等)传输,就必须经过GFW的过滤和筛查;GFW像一个网络数据筛子如果将网络必须为连通的水管的话,那GFW防火墙就是蒙在管道端口的筛子。对所有经过的流量进行过滤,网络流量看起来就像水流一样,在管道中流动直到到达目的地,网络中传输的每一份流量都要经过这个筛子。
刚才我们说到防火墙有一张记录IP地址的黑名单表;接下来我们来讲讲GFW与VPN的关系;常见VPN无法使用的原因:ip被记录;加密流量的特征被识别和标识;刚刚我们说的防火墙的那张黑名单,涉及到的是权限控制策略中的ACL策略模型;这里讲一下权限控制中常见的3种策略:ACL(access control list),是一个列表,只有存在于该列表中的用户才能做什么或者不能做什么;RBAC,基于角色的权限控制,将用户绑定在特定的角色上,然后对角色授予权限,拥有该角色的用户即拥有该角色的所有权限;ABAC,基于属性的权限控制,大部分用户都具备相同属性名的不同特征,只有该属性下具有制定特征的用户,才拥有权限,该属性不具备指定特征的用户不具有对某资源的操作权限;防火墙一般的权限控制是acl,白名单与黑名单;但现如今的GFW,很有可能已经混入了网络报文、数据包的特征模型与ABAC权限控制模型;
再来讲讲VPN穿越GFW防火墙的过程;GFW是中国这个国家局域网与国际互联网连接处的一个筛子,可以对所有出入国内外的流量进行分析过滤、分析、记录;因为GFW最可能是基于acl做了白名单、黑名单策略,当GFW识别标记了VPN服务器的IP地址为黑名单地址后,当VPN客户端流量再次尝试连接服务端时,先经过GFW,GFW直接返回连接错误报文,提示VPN客户端无法连接;但是当我们使用了一个处于白名单的ip地址或域名时,这种问题就能解决,或者你的ip地址不在白名单也不在黑名单,这时你的请求多半也是能经过GFW,因为GFW不可能记录世界上所有的ip地址于域名。VPN就是基于VPN服务器IP不在GFW的黑名单列表中,实现国内与国际的网络流量正常出入境。
实际上VPN服务商提供的服务,相当于是提供了境外不存在于GFW黑名单的ip资源;我们知道IPv4的总数是2的32次方个,已于2019年11月耗尽, IPv6的总个数是2的128次方个;理论上GFW不可能记录所有的网络IP地址;而且国外有很多ip地址;前面我们提到过一个日本筑波大学的开源VPN;这个项目是一个开源共建项目;除了代码开源外,他的VPN服务器的提供方也不是单独的服务器厂商提供,而是世界各国的筑波大学VPN使用者,他们共享了自己的ip地址和富余带宽搭建vpn需要外网吗,为其他使用者的客户端作为VPN服务器;有没有一个想法,如果越来越多人加入到这个项目;GFW的现有策略肯定是无法实现对人民外网访问的限制;IP资源数量上是无限的;筑波大学如果可以完全实现P2P(点对点)网络通讯,不需要中心化的注册中心,GFW就无法做到永久封禁。这算是web3.0 去中心化的经典实现了。
尽管GFW目前已经做到了,屏蔽目前大部分的VPN穿墙和国外网站;但是随着AI大模型和特定场景模型的兴起;GFW很有可能也会引入AI大模型或网络包专用分析模型来识别穿墙流量;这时候的VPN与GFW对抗就更加激烈了。好比机器学习的对抗训练。
中间我们提到了实现MacOS系统中的三个VPN协议的一键部署脚本,那究竟应该如何使用GitHub开源项目来部署我们的VPN?又如何挑选合适的VPS与服务器?以及如何避免使用VPN时全局代理所有流量?欲知VPN的详细搭建技术,请听下集揭晓。 “VPN的部署与实现”