通过代理服务器翻墙
文章目录
代理的作用
由于 GFW 的作用,国外很多网站被屏闭,比如 Google、Youtube 等,有时包括 Github。代理服务器一般由国外云计算商提供,因为服务器建在墙外,可以自由上网。所以就有了利用代理服务器作为中介,通过搭桥的方式让国内客户端能够与墙外的世界进行交流的方法,从而实现网络信息世界的相对自由。其中代理服务器和国内客户端进行数据交换时,一般会采取加密传输、隐藏 IP 地址的安全策略,以防止代理服务器被 GFW 发现,再次被墙。
通过代理服务器翻墙,首先你需要一个境外的虚拟服务器、一台笔记本电脑或是手机作为客户端、然后就是分别对两者进行软件配置。软件配置有单纯基于 socks5 代理的 SS(shadowsocks)和 SSR(shadowsocks-R),还有更加复杂的 VMess 协议,通过 V2RAY 进行配置。这里采取更加安全的 VMess 协议进行配置,详情见 Project V官方文档。
建立代理服务器
搬瓦工、Vultr、Linode、DigitalOcean、Hostwinds 都是国内常用的虚拟服务器(VPS)提供商。大家可自行 Baidu 相关服务商的对比测评,进行参考,然后选择合适的提供商。本人图便宜目前使用 Vultr,速度确实不快,下次试试 Hostwinds。买 VPS 注册帐号之前可以先 Baidu 下看有没有优惠活动,直接注册的话享受不了优惠。如 Vultr 目前有充 10 刀送 50 刀的活动,Try Vultr for free with $50 free credit!。
选机房时可以 ping 下各机房的域名,选择 ping 下来延时最短的。当然最好还是一次多建几个处于不同区域的 VPS,直接 ping 所建代理服务器的地址。实际对比各机房的网络延迟,保留延时最短的 VPS,其余的都删除。本文采取“vmess+websocket+TLS+Nginx+Website”一键安装脚本方案进行配置,其脚本不支持 Fedora 系统,安装虚拟机系统的时候须注意。建议使用 Debian 9 x64 作为服务器系统,一波流安装很快。
购买属于自己的域名
另外此方案需要绑定空闲域名到 VPS 地址,因此须提前购买。在 namecheap、GoDaddy 等域名注册网站上花 1 刀左右买个自己喜欢的域名可以用一年,当然要是非要 .com 等常见后缀的话自然要贵些。其中 namecheap 不支持支付宝和微信,可以开通 PayPal 支付或者用带 visa 的信用卡。
域名到手后,在购买的注册商网站选择管理域名。如 namecheap 上自己注册的域名后点击 MANAGE,首先直接删掉预绑定的纪录,然后在 Advanced DNS 菜单中进行主机(HOST)绑定。在 HOST RECORDS 中添加新记录,Type 栏选择 A Record,Host 栏填 www 或者 @ 符号,Value 栏填入刚才购买的 VPS 的 IP 地址,TTL 刷新时间选择 20~30 min。其中 Host 栏如果是 www 时,域名开头会加上 www.,否则 Host 栏为 @ 的话,域名开头什么也没有。保存之后就完成了 DNS 绑定。
通过 V2Ray 配置代理服务器
按照“新 V2Ray 白话文指南”高级篇,WebSocket+TLS+Web 算是比较复杂的配置方式。好在有现成的一键式脚本,对于小白来说足够友好,步子大了也不会扯着蛋。脚本相对于其他一键式脚本来说很干净,减少无关元素,隐藏代理域名。
实施起来很方便,主要可分成三步。
- 利用 ssh 工具在本地登录 VPS 服务器,在终端直接输入以下内容:
|
|
在本地登录远程时,第一次要在本地进行已知主机登记,按照提示进行就好。登录后,就可以进行服务器配置。
- 通过下面的命令安装 V2RAY 和 Nginx,这里给出 Vmess+websocket+TLS+Nginx+Website 的优化版本:
|
|
安装过程是傻瓜式的,需要人介入时有提示。这时就要求输入绑定好 VPS 地址的域名,如 www.google.com。安装完成后终端会打印出配置客户端所需要的信息。到这一步,实际上客户的主要配置已经完成。为改善上网体验,可通过 BBR 对代理服务器的数据交换进行加速优化。BBR 是 Google 提出的一种新型拥塞控制算法,可以使 Linux 服务器显著地提高吞吐量和减少 TCP 连接的延迟。
- 通过 BBR 加速网络,同样也有一键式脚本方便部署:
|
|
运行此脚本可选择安装 BBR/BBR 魔改版、BBRplus 版内核、或者 Lotserver(锐速)内核。根据开心小站长的测评,锐速的速度最快,建议安装使用此内核。开启加速需要重复运行该命令,这样就完成了服务器端的所有配置。
Linux 服务器与客户端的配置参考
通过 V2RAY 配置代理服务器的第 2 步执行完毕后,V2RAY 配置文件为 /etc/v2ray/conf.json,在同一个目录里还有个文件 vmess_qr.json 包含了配置客户端需要的所有信息。另外在目录 /etc/nginx/conf.d 中是 nginx 的相关配置。这里贴上“新 V2Ray 白话文指南”中 WebSocket+TLS+Web 方案关于服务器和客户端的相关配置,仅作为对照参考。
指南里服务器的 V2Ray 配置如下:
|
|
Nginx 配置如下:
配置中使用的是域名和证书使用 TLS 小节的举例,请替换成自己的。
|
|
Linux 客户端配置如下:
|
|
客户端安装 V2Ray 并进行配置
Windows 和 Android、iOS 用户配置简单
如果是 Windows 或者手机用户,有很方便简单的客户端软件,可以参考 V2Ray客户端配置详解。
Linux 用户安装配置 V2Ray
Linux 用户若是能连上 Github,可以通过脚本或下载的方式安装 V2Ray。安装脚本如下:
|
|
或者下载脚本: https://install.direct/go.sh 和 V2Ray 程序包: https://github.com/v2ray/v2ray-core/releases 然后通过命令安装本地程序包:
|
|
如果 Linux 用户上不了 Github,可以通过 Snapcraft 安装V2RAY。
V2RAY 在 Linux 客户端配置的详情可参考上文“新 V2Ray 白话文指南”中的相关设置。
浏览器走代理的方法
浏览器的配置可以参考“谷歌浏览器插件SwitchyOmega使用教程”。通过 Proxy SwitchyOmega 可以设置自动代理模式,满足规则进行代理,否则进行直连。如此只在需要的时候开启代理,从而加快网页打开的速度,同时减小服务器的压力。
这里只给出规则列表网址:
|
|
填入后,连接方式选择 Proxy 。
终端走代理的方法
前面是浏览器的代理配置方式,但有时也会需要终端中设置代理,可以参考让终端走代理的几种方法。直接在.bashrc 或者.zshrc 添加下面内容:
|
|
或者直接设置 ALL_PROXY:
|
|
查看服务器和客户端 v2ray 是否正常运行
通过以下命令查看 v2ray 的运行状态:
|
|
查看状态是否为 Active。
再查看端口是否占用,通过下面的命令查看 v2ray 端口监听情况:
|
|
当然,安装配置流程是否正确最重要判别标准就是能否科学上网。