OutWall科普
原帖地址:OutWall科普 · Issue #7 · fengyehong123/fengyehong123.github.io · GitHub
1.1VPS
虚拟专用服务器
(英语:Virtual private server,缩写为VPS),是将一台服务器分割成多个虚拟专享服务器的服务。实现VPS的技术分为容器技术和虚拟机技术。在容器或虚拟机中,每个VPS都可分配独立公网IP地址、独立操作系统、实现不同VPS间磁盘空间、内存、CPU资源、进程和系统配置的隔离,为用户和应用程序模拟出“独占”使用计算资源的体验。VPS可以像独立服务器一样,重装操作系统,安装程序,单独重启服务器。VPS为用户提供了管理配置的自由,可用于企业虚拟化,也可以用于IDC资源租用。
IDC就是卖服务器的商家。
IDC资源租用由VPS提供商提供。不同VPS提供商所使用的硬件VPS软件的差异,及销售策略的不同,VPS的使用体验也有较大差异。尤其是VPS提供商超卖,导致实体服务器超负荷时,VPS性能将受到极大影响。相对来说,容器技术比虚拟机技术硬件使用效率更高,更易于超卖,所以一般来说容器VPS的价格都高于虚拟机VPS的价格。
这些VPS主机以最大化的效率共享硬件、软件许可证以及管理资源。每个VPS主机都可分配独立公网IP地址、独立操作系统、独立超大空间、独立内存、独立CPU资源、独立执行程序和独立系统配置等。VPS主机用户可在服务器上自行安装程序,单独重启主机。
- 简单理解VPS就是一台拥有公网IP的服务器 (24小时不会关机的电脑)
缺陷:
- 由于VPS是在一台独立的服务器上通过VM等虚拟软件虚拟出多个虚拟主机,所以当其中的一台VPS受到攻击或占用大量宽带资源时,其余的VPS也会受到影响。如果因为一台VPS被黑客入侵造成服务器瘫痪,那么其它的VPS也不能工作了。
1.2GFW
Great Firewall简称 GFW, 中文也称中国国家防火墙
1.3Proxy
代理分为正向代理和反向代理.目前所用到的翻墙都是正向代理.
例如用户想访问谷歌,直接访问谷歌服务器肯定是不行的.我们需要通过在一台在海外的服务器来替我们访问谷歌,然后海外的服务器把谷歌返回的内容转送给我们的浏览器显示,在这个过程中,我们访问的海外服务器代替我们访问了谷歌,我们访问的海外服务器也被称为代理服务器.
1.4VPN
Vpn,全称“虚拟私人网络(Virtual Private Network)”,是一种加密通讯技术。vpn是一个统称,它有很多的具体实现,比如PPTP、L2TP、IPSec和openvpn。Vpn出现远早于GFW(中国国家防火墙),所以它不是为了翻墙而生的。vpn是一种加密通讯技术,它被设计出来的目的是数据传输安全和网络匿名。
而既然不是为翻墙而生,那从翻墙的角度上讲,vpn协议就存在诸多问题。最严重的一个就是流量特征过于明显。墙目前已经能够精确识别绝大部分vpn协议的流量特征并给予封锁,所以,vpn这种翻墙方式基本已经废了。
1 | 假如你在一家跨国大企业工作,你每天在公司里通过互联网干活,你公司电脑里的的资料可能都是价值连城的商业秘密,如果一旦泄露,公司可能会受到巨大损失。怎么解决这个问题呢?在大公司内部,员工使用的互联网其实是“专用网络”,或者叫“专线”,这个网络和公司外面的公共网络并不直接连接(或者有严密的关卡),所以公司外面的黑客无法进入这个网络,这样,公司的数据就是安全的。 |
那么问题来了:假如公司员工到外地出差,必须用酒店的WIF远程工作,不可能用公司的专线,那怎样保证网络传输中的数据安全呢?这种情况下,公司会建议员工使用VPN。VPN虽然不是“专线网络”,却是“虚拟专线网络”,也就是说连了VPN以后,员工即使不在公司内部,上网时也可以相当于在公司内部上网。那么VPN是如何实现这种效果的呢?
1.2.1工作原理
1 | 对于出差的员工,公司的IT部门会在他们的电脑上装上VPN软件。这个VPN软件可以连接到一台由公司内部控制的电脑服务器上,叫“VPN服务器”(VPN Server)。出差员工连上VPN以后,他上网时就不再直接访问公共互联网,而是通过VPN服务器间接访问。 |
1 | 举例来说,这个人想要打开Google,如果不用VPN,他的电脑就直接去连Google的网站。而开启VPN以后,如果他想打开Google,他的电脑就不再直接连接Google网站,而是去连接VPN服务器,并给VPN服务器发一条指令——“我要访问Google”。VPN服务器接到指令后,自己去访问Google,收到Google网页的内容,再把内容回传给员工,这样使用VPN的员工最终就能看到Google网站的内容了。也就是说,使用VPN时,这个员工的所有网上访问都通过VPN服务器代理完成的。 |
此外,VPN还有一个重要特点:VPN用户和VPN服务器之间的通讯是加密的,这样就不会被黑客盗取内容。这就好比两个人打电话,是有可能被第三方监听的,但是如果打电话的两个人使用的是别人都听不懂的特殊语言(这就是加密),那么即使有人监听,打电话的内容也不会被泄露。
有了这些特点,我们就可以理解为什么使用VPN能保证用户的网络安全:用户所有的网络访问都不直接完成,而是通过VPN服务器作为中间人传递内容,而用户和VPN服务器之间的所有连接都是加密的。这样黑客就无法拦截破解VPN用户的网络访问内容。
1.2.2用途
VPN可以提高上网的安全性
1 | 因为使用VPN时所用的网络访问都是加密进行的,所以使用VPN上网,安全性就更高,黑客很难截取用户的重要信息。如果你使用公共WIFI上网(例如在咖啡馆上网)时,需要做安全性强的操作(比如使用网上银行或网上投资账户),那么建议你连上VPN,因为这样会大大提高安全性。 |
VPN可以隐藏上网者的身份
1 | 因为VPN用户访问任何网站都是通过VPN服务器间接访问的,所以被访问的网站看到的访问者是VPN服务器,而不是VPN用户本人的电脑,这样VPN用户就能对要访问的网站隐藏自己的真正身份。 |
VPN可以突破网站的地域限制
很多网站都有地域限制,比如视频网站Netflix在不同国家提供不同的内容,美国用户访问Netflix时看到的是美国版的内容,香港用户看到的是香港版的内容。网站的这种功能是通过查看访问者的IP地址属于哪个国家来实现的。而VPN可以用来突破这种IP限制。比如:香港的用户想要看到美国版Netflix的内容,可以先连接到一台位于美国的VPN服务器。这样Netflix网站就会以为访问着来自美国,而提供美国版的内容。基于同样的道理,海外华人可以通过VPN翻墙回国,观看仅限国内用户观看的视频内容。另外,VPN还可以用来在网上购物时省钱,因为一些酒店和机票网站对不同国家有不同的价格,通过VPN换成不同国家的IP往往可以省钱。
突破网络封锁(翻墙)
VPN部署在VPS上,而VPS的地址在海外.GFW目的只是让中国网民不能访问特定的国外服务器(例如谷歌和推特等),而不是禁止访问所有的国外服务器.所以我们连接上VPN之后通过加密的方式访问海外的VPN,进而通过海外的VPN访问到海外被禁的服务器上的内容.由于整个访问过程的信息都是被加密的,所以GFW并不清楚访问的内容是什么,因此就翻墙成功了.虽然通讯是加密的,但是通讯过程中的流量特征很明显,我个人的理解是:虽然GFW并不能明确的知道访问的内容,但是能从流量特征去分析出来,访问的网站应该是被墙的网站,然后用户和VPN代理服务器之间的连接就被和谐了
以下基本所有内容都摘自 逗比根据地,本人对网站的教程和站长的回复做了整理
2.1下载地址
shadowsocks
https://github.com/shadowsocks
https://shadowsocks.org/en/index.html
shadowsocksR
https://github.com/shadowsocksr-backup
https://github.com/shadowsocksrr/shadowsocksr-csharp/releases (建议使用这个下载)
下载之后解压压缩文件(一定要解锁全部的压缩文件,不要只解压.exe文件)
然后打开 ShadowsocksR-dotnet4.0.exe
文件
2.2影梭使用详解
1.从机场主(因为SSR的图标是一个纸飞机,所以SSR账号提供者被称为机场主)获取SSR的配置信息
一般为二维码或者ssr://MTE4LjI3LjI5LjE......
格式的字符串
2.进行简单的配置
复制机场主提供的配置字符串,鼠标右键单击纸飞机图标
系统代理模式选择PAC模式
代理规则选择绕过局域网和大陆 或者 全局
配置好就可翻墙了
2.2.1系统代理模式
2.1.1.1直连模式
1 | 所有网络请求不经过SSR客户端,由浏览器直接访问目标服务器 |
直连模式不会修改本机的代理配置
浏览器中的拓展配置
SwitchyOmega插件的作用是接管浏览器的系统代理设置,只对安装插件的浏览器内有影响,并不会影响“其他所有浏览器”和软件的使用
2.1.1.2PAC模式
PAC 用于控制什么流量数据进入SSR客户端,而代理规则用于控制进入SSR客户端的流量数据是走代理还是直连,代理规则选择全局代表所有进入SSR客户端的流量数据都走代理。
1 | PAC模式控制的是系统层面的代理,所有浏览器发出去的请求(包括软件内置的浏览器页面)都会走根据PAC文件来进行过滤. |
PAC模式修改了本机的代理设置
1 | pac是系统代理判断是否走shadowsocks,是第一层判断 |
全局模式
全局模式修改了本机的代理设置
1 | 此时PAC文件失去作用,所有由浏览器发出的请求都会经过SSR客户端,然后根据代理规则中的设置来决定本次请求走代理还是直接连接. |
PAC模式和全局模式的区别
1 | 简单的说,你选择PAC模式的话,只有访问被墙的网站才会走代理,访问国内的网站不走代理,当然一些网站被墙了 没人提交的话,就需要你自己添加PAC网址规则了。 |
2.2.2PAC
1 | 英语:Proxy auto-config,简称PAC.中文叫做:代理自动配置.是一种网页浏览器技术,用于定义浏览器该如何自动选择适当的代理服务器来访问一个网址。 |
PAC的使用过程
1 | 访问XXX网站,浏览器会读取系统代理设置,如果设置的有代理(比如PAC),那么浏览器就会读取PAC里面的规则和代理服务器(127.0.0.1 1080),然后去根据PAC规则匹配XXX网站域名,如果匹配存在,那么根据规则设置来判断是走代理还是不走代理. |
PAC更新为…?
1 | 不需要选择,也无法选择,因为SSR停止更新删除项目后,更新PAC为XXX 的所有选项都已失效。 |
2.2.3代理规则
系统代理模式
和代理规则
这两种判断方式是相互配合使用的,先用系统代理模式来判断是否让数据进入SSR客户端,再用代理规则来判断进入SSR客户端的数据是直连还是走代理。
代理规则 是根据IP判断 , 用于判断 进入SSR客户端的数据流量是走代理还是直连。
绕过局域网,局域网内IP 直连,不走代理.局域网外IP 都走代理。
绕过局域网和大陆,访问的网站的是大陆IP则直接连接,访问 非大陆IP 的网站都走代理。
绕过局域网和非大陆,访问网站的是大陆IP都走代理,访问 非大陆IP 的网站都不走代理,这个一般是海外访问国内网站用的。
**用户自定义,**用户自己根据一定的规则来设定哪些IP走代理,哪些IP直连
举个栗子:
假设系统代理模式为 PAC,那么访问 www.google.com ,浏览器在PAC文件中匹配这个域名,并发现这个域名按PAC规则规则应走代理,所以 浏览器就会发送 访问网页数据到 PAC中的代理服务器(默认如127.0.0.1:1080),于是SSR客户端就收到了 访问谷歌的数据,而这时候就该用 代理规则 判断了。
若代理规则为:绕过局域网,则判断 www.google.com 域名的IP是否是局域网IP,然而不是局域网IP,于是走代理。
若代理规则为:绕过局域网和大陆,则判断 www.google.com 域名的IP是否是局域网IP 或 大陆IP,然而不是局域网IP或大陆IP,于是走代理。
代理规则为:绕过局域网和非大陆,则判断 www.google.com 域名的IP是否是局域网IP 或 非大陆IP,然而是非大陆IP,于是不走代理,直连。
代理规则为:全局,不判断 www.google.com 域名的IP,直接走代理。
2.2.4用户添加自定义规则
2.2.5Shadowsocks的负载均衡模式
1 | Shadowsocks和ShadowsocksR都有个负载均衡功能,官方的解释是: |
2.2.6ShadowsocksR中的本地代理
1 | 本地代理主要是给自己的本机软件和局域网内其他设备用的。 |
2.2.7ShadowsocksR中的二级(前置)代理
1 | 二级(前置)代理指的是:当你链接Shadowsocks服务器的时候,并不会直接连接Shadowsocks服务器,而是先链接 二级(前置)代理服务器,然后二级(前置)代理服务器再去链接Shadowsocks服务器,可以达到 隐藏自己的IP 或 通过国内中转(国内服务器搭建代理服务器)来加速Shadowsocks。 |
2.3问答
1.为什么shadowsocks
不容易被封杀,而openvpn
容易,它们不都是在和国外的IP进行交互吗?
1 | VPN是专门为了安全传输数据而开发的技术,更注重数据安全,并没有考虑是否隐蔽是否容易被发现。而SS/SSR等代理则是专门为了穿透防火墙,也就是专门为了翻墙而开发的技术,SS/SSR等更注重隐秘性,增加防火墙的封锁成本(时间成本、技术成本),就是更难封锁的意思。 |
2.GFWList是什么?
1 | GFWList其实就是一个黑白名单,里面包含了被墙的域名+国内常见域名,被墙的域名走代理,国内常见域名不走代理,其他域名不走代理。 pac文件就是以GFWList为基础制作出的 |
3.系统代理和代理规则的相关问题
1 | 系统代理模式是判断数据是否进入SSR客户端,代理规则是判断进入客户端的流量是否走代理。 |
4.访问谷歌时显示流量异常
1 | PAC列表只负责判断访问某个域名的时候,是否走代理.这个域名走代理后就和PAC没关系了,和SSR有关系了,谷歌显示流量异常,是指的谷歌觉得你的IP可能是机器人,一般是你访问谷歌太多,或者同IP段的其他IP访问谷歌太多,这种情况下谷歌会拉黑整个IP段,导致整个IP段访问谷歌都会出现验证码。 |
5.user-rule.txt 自定义失效怎么办
1 | 因为SSR项目删除,导致SSR客户端里的 更新PAC为GFWList等选项全部失效,同时也导致 user-rule.txt 自定义PAC规则失效(因为这个规则文件修改后,必须点一下 [更新PAC为GFWList] 这个选项才能应用)。 |
6.浏览器拓展代理插件和SSR客户端的问题
1 | 如果你的浏览器使用了扩展,那么SSR客户端就无需选择全局模式了,使用直连模式即可。 |
7.使用SSR客户端后,浏览器无法上网
1 | 如果你用了浏览器扩展管理代理,那么没有打开SSR客户端时,需要切换扩展代理设置。此时浏览器的请求会走拓展代理插件配置的127.0.0.1:1080地址,这个时候是访问不到数据的.打开SSR客户端即可. |
8.断开当前所有连接
功能的作用
1 | 断开当前所有连接的意思是:当你SSR客户端有多个节点时,例如:服务器A服务器B,你当前使用服务器A. |
9.SS和SSR使用协议的安全性问题
1 | SS/SSR等不需要给任何人做保证,SS/SSR用的数据加密都是目前主流的加密方式,除非你选择不加密或者最弱的例如RC4之类的加密方式,否则想要破解这些加密获取传输的数据内容,就算用超级计算机也需要大量时间,而时间就是金钱,全国同一时间多少SS/SSR流量,墙不可能也没必要一个个破解看看你们在干什么,有这功夫他们还不如去研究一下怎么更快更有效更准确的检测SS/SSR流量特征。 |
10.拨号上网无法保存系统代理设置
1 | 1.通过浏览器扩展来管理代理 |
11.SSR的版本问题
1 | ShadowsocksR的PC客户端最后版本为 4.7.0,而其他的版本比如 4.8.0 皆为第三方修改版,只是拿着开源的披着SSR的外衣罢了。 |
12.GFWLIST问题
1 | 问 |
13.自定义规则存在的必要性
1 | 问 |
14.Shadowsocks 软件权限问题
1 | Shadowsocks 启动系统代理后,就会去修改注册表来设置 系统代理设置。 |
15.浏览器问题
1 | 大多数浏览器都是默认使用系统代理的,比如:Chrome、Opera等浏览器。 |