如何优雅地科学上网和翻墙?(2020年有效)

原文地址:https://www.mastercaihao.com/804.html#more-804

本文是系列文章中的一部分,目录如下,建议按顺序阅读。三篇文章合起来,彻底解决科学上网的刚需:
如何优雅地科学上网和翻墙?(2020年有效)(本文)
如何让Chrome/Firefox/Edge自动翻墙,提高科学上网效率?
如何让iPhone(iOS)和安卓(Android)手机自动翻墙,提高科学上网效率?(2020年更新)
为什么科学上网不能用了,如何排查?

本文所介绍的科学上网方案是我个人使用且经过长期验证的方案。相比其他方案而言,有如下特点:

  • 速度快:看youtube视频,基本秒开。1080P是小儿科,4K和5K也无压力(使用cn2 GIA的前提下)。
  • 稳定:一会儿能用,一会儿不能用的科学上网方法,那都不是人该忍受的事儿。
  • 适用范围广:可用于Windows和MacOS电脑,还可以用于iPhone和安卓Android手机。一个机(VPS)在手,翻墙不愁。
  • 详细:尽量降低实施难度,操作步骤都是带图的。
  • 内容全面:基本上,本文在手,别无所求。

总之一句话,优雅。

如果一定要找个缺点的话,那就是不免费……其实,免费才是最贵的。

闲话

2017年初写过一篇系统的文章《如何优雅地访问Google, Facebook, YouTube?》,此时,那文章已经过期了。主要原因是有二:

  1. 原文基于shadowsocks的技术已经被攻破。任何基于此技术的代理,用不了几天,IP就会被屏蔽,然后就不能用了。即使更换了IP,在未被再次屏蔽前,用起来也经常出现“断流”现象。一句话,不好用了。
  2. 原文推荐的cn2线路,已经逐渐变得拥挤。2017年还能流畅地看1080P youtube,现在则经常卡住,甚至只能看720P。

回想这些年,科学上网的技术其实是一直在进步和发展:

  • 200x年:全局的VPN,issh
  • 201x年中期:APN
  • 近两三年shadowsocks的流行,再到2019年中,shadowsocks技术被攻破。

回头看,科学上网的发展和进化还是非常明显的。好吧,万事万物都是发展的,客观规律。

适合2020年的科学上网方案

先抛结论。

  1. 技术上,用v2ray,而不是Shadowsocks或Trojan。从 Shadowsocks被攻破的2019年中期开始,v2ray是比较成熟和稳定的方案。具体来说,要用v2ray + tls,或者v2ray + tls + ws。
  2. 线路上,最少用cn2,如果预算允许,最好上cn2 gia。在2017年时,普通的cn2线路就可流畅看1080P youtube,但到2019、2020年,cn2线路则经常卡顿。
  3. 在操作系统上,可加入最新的bbr技术。BBR技术,可以更好地抢占带宽,从而达到同样带宽,速度更快的目的。CentOS, Debian, ubuntu都支持BBR。

个人推荐的方案用大白话说就是:

经济方案:cn2 VPS + v2ray + bbr,可看1080P youtube。
极致方案:cn2 GIA VPS + v2ray + bbr,可看流畅4K和5K youtube。

步骤1:购买带cn2线路的VPS

凡是注明cn2线路的VPS都可以。如上所言,如果要达到“秒开youtube,无压力4K视频”的程度,请购买带cn2 GIA的VPS,一般用户,普通的CN2线路就够了。

个人使用的是bandwagonhost(俗称“搬瓦工”)的VPS。

购买相应的VPS

点击Register,按提示注册在BWG的账号。

有了账号和密码后,点击右上角Client Area,登陆到后台,并在Services > Order New Services订购VPS。

记得,购买带有cn2(或者cn2 GIA)字样的VPS即可,最便宜的即可。

在我发文时,如下产品有货,当然,你也可以挑别的:

  • SPECIAL 20G KVM PROMO V3 – LOS ANGELES – CN2,即cn2线路的vps。
  • SPECIAL 20G KVM PROMO V5 – LOS ANGELES – CN2 GIA ECOMMERCE,即cn2 gia线路的VPS。

步骤2:重装VPS操作系统为Ubuntu

使用KiviVM控制面板,管理VPS

登陆后台,后台菜单Services > My Services。找到购买的VPS,点击KiwiVM Control Panel。

停机,方便重装操作系统

在KiviVM Control Panel中,确定status为stop。如果status为running,点击stop让VPS停机。下一步要重装操作系统,把系统从其他换成Ubuntu 18.04 x86_64。

记录下上面的“Public IP address”,如本文的74.120.xxx.xx。

为什么用Unbuntu,而不是其他Linux操作系统?

答:个人喜好。如果采用Debian或Cent OS,后面涉及的命令有些不同,请自行Google。

重装操作系统的步骤

如上图,Install new OS > ubuntu-18.04-x86_64,勾选“I agree that all existing data on my VPS will be lost”,点击Reload。

记录下root password和SSH port

等一会儿,系统会重装完成。记录下上面的root password和SSH port。

检查一下,此时你应该:

  • 有IP, root password, SSH port
  • 重装成Ubuntu的VPS处于running状态

步骤3:在VPS上安装V2ray

由于我使用的是MacOS,后面登陆VPS的命令等都是在系统终端(terminal)完成的。

大概率的,你使用的是Windows。要继续后面的操作,请先下载并安装PuTTY:https://www.putty.org/。接下来的内容,命令相同,只是界面不同而已。

使用root账号和密码登陆VPS:

ssh -p 276xx root@74.120.xxx.xx
使用命令行,登陆VPS

出现“root@localhost:~#”,表示成功登陆VPS。

tzselect

使用tzselect修改系统时区,按提示,分别选择“4) Asisa > 9) China > 1) Beijing Time > 1) Yes”。就操作而言,你是执行了tzselect后,分别:4、回车、9、回车、1、回车、1回车。

cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

将配置文件复制到系统。

确认VPS时间准确且与电脑一致

date

执行date,系统时间应该与你的电脑时间一模一样。

注意:出于安全考虑,在使用V2ray的过程中,VPS的时间必须与电脑(或你手机)时间一致,才能正常运行。所以这一步一定要做,而且要确认VPS、电脑、手机时间是正确且三者是一致的。

wget https://install.direct/go.sh

下载V2ray的安装脚本到VPS。

bash go.sh

执行安装脚本。

选yes,回车。

中途的提示,选择Yes并回车。

看到绿字,表示成功安装

看到“V2Ray v4.22.1. is installed”的绿字表示成功安装。同时,复制“PORT”和“UUID”的内容备用。

systemctl start v2ray

启动v2ray。

走到这一步,理论上已经可以翻墙了。但在实践中,这样安全水平的v2ray,会经常掉线,即被gfw干扰,我们还得进行进一步的加密操作。

步骤3:为V2ray启用TLS加密

购买一个域名,并将A记录指向你的VPS。

编辑好的DNS,每一家的界面会有点不一样

域名配置好后,大约需要几个小时等新的DNS生效。

如何判断DNS是否生效?

答:ping yourdomain.com,如果返回的IP与你的VPS IP一致,就表示生效了,如下图。

time有数值时,表达通了,即生效。如果timeout,就表示未生效。
apt install socat

安装socat组件,这是下一步acme.sh所需要的一个组件。

curl  https://get.acme.sh | sh

下载并安装acme.sh。

acme.sh是一套自动化脚本,它是从Let’s Encrypt自动申请和更新域名证书的程序。直观地说就是,将你的域名从http协议,转化成https。

域名证书分付费和免费的。这里,我们使用的Let’s Encrypt免费的证书。因安全需要,证书需要定期更新,于是我们使用acme.sh这个脚本,完成从申请,到定期更新这一套动作。

~/.acme.sh/acme.sh --issue -d yourdomain.com --standalone -k ec-256
为域名生成证书

请将上面命令里的yourdomain.com替换成自己的域名。完成后,应该看到上图类似的提示。

~/.acme.sh/acme.sh --installcert -d yourdomain.com --fullchainpath /etc/v2ray/v2ray.crt --keypath /etc/v2ray/v2ray.key --ecc

将刚申请的ecc证书安装到v2ray目录,执行完后,应该如下图:

nano /etc/v2ray/config.json

nano是linux里的一种文本编辑器,相当于windows里的记事本。后面是告诉nano打开某个目录的某个文件。

配置文件示例

打开的文件应该是有内容的,如果是空白(黑黑的一片),那是输入错误,再好好检查一下。

狂按“Ctrl – K”(按住Ctrl不放的同时按K),一次删除一行,N次,直到把整个配置文件删除空为止。

{
  "inbounds": [
    {
      "port": 443, // 建议使用 443 端口
      "protocol": "vmess",
      "settings": {
        "clients": [
          {
            "id": "00000000-0000-0000-0000-000000000000",
            "alterId": 64
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "tls", // security 要设置为 tls 才会启用 TLS
        "tlsSettings": {
          "certificates": [
            {
              "certificateFile": "/etc/v2ray/v2ray.crt", // 证书文件
              "keyFile": "/etc/v2ray/v2ray.key" // 密钥文件
            }
          ]
        }
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    }
  ]
}

将上述代码中“id”的值(即那一大串0000)修为前文记录下的UUID的值后,粘贴到远程窗口里,按“Ctrl – X”(退出),按Y回车进行保存。

systemctl restart v2ray

重启v2ray,使刚刚的修改生效。

步骤4:配置电脑使用端

接下来配置电脑使用的客户端。

V2rayW和V2rayX可能是一个东西在不同平台使用了不同名称。程序图标一样,界面也非常相似。本文继续以MacOS的V2rayX为例,Windows非常相似,就不另外写了。

忘记Load core,是新人常见问题


下载并安装V2rayX,启动。在任务栏里,点击图标。

  1. Load core:程序启动后,并没有开始工作,一定要点击“Load core” v2ray才开始工作。(这是新人常犯的问题)
  2. Configure…:点击Configure,开始配置服务器信息。
配置V2ray客户端


点击左下角的“加号”,添加服务器:

  • Address:服务器IP,本文是74.120.xxx.xx
  • Port:443(Adress分号后面这个空白处的内容),前文,我们修改“/etc/v2ray/config.json”这个文件时,已经将端口从其他端口修改为了443。
  • alterId: 64
  • Tag:VPS的备注,按自己喜好填写,本文填写的P7,即Proxy 7。

点击右侧下部的“transport settings…”,继续配置。

进一步配置服务器信息


TLS标签:

  1. 勾选“Use TLS”;
  2. TLS serverName:IP指向此VPS的域名

点完两个OK,将配置保存。

切换为Global模式,准备测试


再次打开V2rayX在任务栏的菜单:

  1. Server:勾选刚刚配置服务器,本例是P7。
  2. 勾选Global Mode:勾选此项表示,所有流量将走代理。

此时,使用苹果自带浏览器Safari(Windows是Internet Explorer,是Internet Explorer,不是Win 10自带的Microsoft Edge),访问Google.com试试,应该能访问了。

科学上网,从Google开始。


久违的,科学上网又回来了。

步骤5:更优雅一点

在V2rayX使用Global Model时,所有流量都是走的代理,不管你访问需要或不需要翻墙的网站,信息都是先传到bwg美国的VPS,再传到你的电脑。

访问欧美网站还好。如果是访问国内网站,那就是信息先从中国到美国,再从美国回到中国,嗯,差不多绕地球一周了。这样的方法想代理速度快,那是不可能的。

所以,我们要再进一步配置一下,让浏览器“智能”一点:

  • 如果访问国内网站,那请直接访问,不绕道美国的VPS;
  • 如果是访问Google/Facebook/Twtiiter等需要翻墙的网站,那请“自动”走VPS的代理线路,不要手动干这些事儿。
  • 当然,对于需要的时候,我们也可以随便指定走或不走代理。

要实现这功能,就需要使用Google Chrome + Switchy Omega扩展来实现上面的功能。

好了,到此,彻底解决电脑(MacOS & Windows)优雅翻墙的要求,还差在iPhone手机和安卓Android优雅科学上网。

FAQ

问1:为什么不使用Trojan?

答:根据实测,同样的配置下,Trojan速度不如V2ray。

问2:为什么不使用VPN?

答:VPN是给远程办公用的,让你能在任何地方,连进公司的局域网,使用公司的打印机或局域网共享文件等。翻墙只是它的附带功能。再说了,VPN不能实现“智能”翻墙。

问3:为什么没有使用BBR技术?

答:咱一步一步来,先搞定本文里的内容,再来BBR。

最后

本文已经尽量做到详细,但对于从没有接触过Linux和命令行的朋友,还是有难度的。如果你实在不想花时间在这些技术上,可以购买我已经配置好的代理。使用的方案和VPS都是本文提及的。

当你配置好v2ray, 电脑的浏览器和手机时,就做到优雅地科学上网了,它:

  • 速度快:最大限度利用了VPS的速度。
  • 稳定:我已经实测好几个月了。
  • 通用性强:MacOS, Windows, iOS, Andorid,一个都不放过。
  • 优雅

这就是2020年最优雅的翻墙方案,没有之一。

(注:焦点图来自zain@泼辣有图,版权归原作者所有。)

没有评论: