本地环境:MacOS 10.15.1
vps:Centos 7.7 64位 香港阿里云
原因
正常情况下,我们只需要安装 v2ray 然后加密传输就可以了,那为什么还要配置这么多麻烦的东西呢?我们应当尽可能的模仿正常网络请求,在过墙时尽量不被特征检测,尽可能不被干扰。尤其是在像2019年下半年的一段时间,梯子经常被间接性卡断,上网很不稳定。
流程是: v2ray 客户端把请求伪装成 Https 请求,发送到 vps 的 nginx 服务器上,再由 nginx 转发到 v2ray 服务端,再由 v2ray 服务端分发到真正的服务器上,这样在过墙时是发送的一个正常的 https 请求,降低了被特征检测的概率,降低被墙的风险,提升网络稳定性。
域名申请
首先需要有一个域名,没有的就去申请一个,免费的也可以,我以namecheap为例,申请一个域名,它需要 paypal 付款,没有的需要先注册一个(国内的 paypal 好像也可以付款,这里我是用香港 paypal 付的)。域名随便买一个就可以,最便宜的一年8块钱左右。(域名一般是首次购买便宜,但是续费贵,所以购买一年后需要重新买一个新域名)
购买完成后就可以在domain list
中看到你买到的域名了:
cloudflare解析+配置DNSSEC
下面内容会涉及两个网站(namecheap、cloudflare)之间的切换,将这两个网站分别在两个窗口打开,方便切换。
DNS 配置
cloudflare提供域名解析服务。首先需要去cloudflare注册一个账号。将刚刚注册的域名添加进去,添加时选择0付费的就可以。
然后添加一个 A记录,注册时Proxy status
点成灰色就可以,我们只需要它的 DNS解析服务。
点击continue
后,在弹出页面里面,把 Nameserver 1 和 Nameserver 2 添加到你的 namecheap 中的 Custom DNS 服务中去。
namecheap 中自定义 dns 配置完成后,返回 cloudflare 点击Done, Check...
,然后就是等待生效。大约10分钟左右就能生效,生效的同时会给你的注册邮箱发送一封邮件,可以不断刷新或者等待邮件通知。
DNSSEC 配置
据说配置DNSSEC可以防止 DNS 污染,具体效果如何我也没有测试过,不过它是免费的所以我们就把它也配置一下吧。
回到 cloudflare,选择 DNS,往下滑动就能看到 DNSSEC 了,点击右侧的 ENABLE DNSSEC。
会有一个弹窗,保持这个弹窗,再回到 namecheap,选择Advanced DNS
,开启 DNSSEC 选项。
下面一栏中对应的Key Tag
、
Digest
、Digest Type
、Algorithm
就是对应刚才cloudflare弹窗内容填写的,填写完成后点击确定就可以了,cloudflare弹窗点击Confirm
。
然后又是等待生效时间,大约10分钟左右,就生效了,如下:
到此为止,namecheap 上的东西都配置完了,可以把它关掉了。。。
配置 SSL 证书
我们使用 FreeSSL生成免费的证书,当然收费的证书也可以。最好注册个账号,方便后续操作。
点击创建后会生成TXT 记录值,回到 cloudflare,在 DNS 里面添加一条TXT 记录,其中name 和 content 就是对应刚刚创建的 SSL 中的TXT 记录
和 记录值
的:
添加完成后,回到 freessl 点击配置完成,检测一下
,正常情况下会显示绿色的 匹配:
回到 freessl,点击验证,就会出现证书信息了,点击下载文件,解压后得到两个文件,这就是我们需要的证书文件:
将这两个文件复制到你的 VPS 上面去:
1 |
|
nginx 安装
nginx 安装网上有很多教程了,可以去搜下。在这里我只以 CentOS 7.7 为例安装。
1 |
|
修改 nginx 配置文件,修改完成后需要重启 nginx 服务。
1 |
|
在浏览器中打开https + 你的域名(我的是https://ma.lichade89.xyz/),如果能成功打开,则表示 nginx 配置成功了(注意是 https)。
如果不能打开,请检查你的配置是否正确,及443端口是否已经打开。
v2ray 安装 && 配置
网上有很多一键脚本了,直接google 搜就行了。
1 |
|
编辑v2ray 配置文件
1 |
|
1 |
|
修改完成后需要重启v2ray:
1 |
|
然后根据上面v2ray 服务端信息填写客户端配置,其中要注意的是在混淆里面的路径一定要和 nginx 里面配置 location 一致。
如果没有问题的情况下到此是能正常访问 google 了。
BBR Plus 加速
1 |
|
安装过程中需要重启 vps,重启完成后,重新运行一次脚本,开户 BBR Plus
1 |
|
v2ray 多用户配置
在一开始就可以发现,由于这样配置后,我们的网络请求多了一次 ssl 加密和接口转发,使得访问速度肯定要比正常配置 v2ray 要慢的。因此,这样配置是牺牲了一定的速度来保持稳定性。由于 v2ray 可以配置多用户,我们可以配置一个正常配置的用户,这样当我们在对速度需求较高的环境下(比如看高清视频)就切换到普通配置用户,当我们需要高稳定性情况下(查阅资料)切换到高稳定配置,v2ray 服务端配置如下:
1 |
|
同样在客户端配置一个普通用户,用于切换:
其它问题
1. 将域名输入到浏览器不能正常打开
首先,显示404 not found 或者 nginx 信息页为正常打开。502 等等都是错误的。
- 如不能正常打开,先 ping 一下域名是否能正常解析
- 检查本地443端口是否打开,参考这篇文章检测端口
- vps 配置是否允许443端口访问(如:阿里云需要手动配置 安全组,加入 443 端口)
2. 配置完成不能正常翻墙
- v2ray 和 nginx 修改配置后需要重启或者重新 load
- 检查浏览器是否能正常打开域名
- 客户端配置是否和服务端一致(UUID、服务器域名、ws等)
参考:
V2Ray+WebSocket+TLS+Nginx配置与使用教程
拒绝DNS劫持和污染~利用Cloudflare免费配置DNSSEC
CentOS 7 下 yum 安装和配置 Nginx
BBR 加速,四合一脚本