views

利用cloudflare访问被墙的VPS(web和vpn)

本文是全系列中第5 / 10篇:本站优化总结

最近vps频繁被墙,中途尝试过host winds,尽管hostwinds可以换ip,可是最近一次被墙后换了n次IP也没通,不想折腾了,牺牲点速度用cloudflare吧。vps主要是放个blog,再搭建个私有vpn偶尔上谷歌查查文献。

1、利用cloudflare访问被墙的web。这个很简单,网上教程一大堆,主要是把自己的域名加到cloudflare里面,把nameserver也改成cloudflare的,添加A记录到vps的ip,打开代理(灰云变成黄云),等dns服务器刷新(约3-6分钟)后,再次访问就通了,可能速度会变慢,还有个好处是隐藏真实ip地址。

2、vpn。目前v2ray比较流行,以centos安装v2ray为例,比较好用的脚本是233blog的。在安装v2ray之前得在cloudflare里面新建一个vpn专用域名解析,比如vpn.xxx.com指向100.200.100.200,暂时关闭代理状态,也就是灰云。再在root命令行模式下输入:bash <(curl -s -L https://git.io/v2ray.sh),会出现下图(借个图,不要照图抄,图上的设置用不了域名,用ip的话,ip又被墙了):

传输协议选择4,websocket+tls。

端口选择很关键,因为cloudflare有端口限制,自己去cloudflare网上查:https://developers.cloudflare.com/fundamentals/get-started/reference/network-ports/。

输入域名(刚才在cloudflare里面建好的),如果解析已经生效了(不要开启cloudflare代理),安装会继续向前,否则就会提示错误并停止安装。

如果协议选择4,后面还会让选择是否自动配置tls,选择是继续,安装caddy(因为已经有nginx了,所以安装好就把caddy停了)。

广告拦截和ss都默认选否就行。

接下来放几张相对正确的有参考意义的图(借个图):

安装好后会显示配置信息,当然,如果用了233blog的脚本,后期随时可以用“v2ray”命令调出选项菜单,根据需要进行各种操作和查看。同时,会发现配置信息里的端口是443(没错你刚才设置的不是443,443端口是https或者tls协议要用到的端口,我们在客户端输入的端口都是443,tls证书怎么搞就不写了,自己上网查吧)。

还记不记得刚才自动安装的caddy,如果你有nginx和宝塔,可以在命令行输入“service caddy stop”来停止这个服务,这是一个web服务,在233blog的脚本中是用来建立反向代理的,即当cloudflare解析到vps时用的时443端口,需要从服务器内部“转发”至刚才你设置的端口上(比如上图的8844,因为是服务器内部“转发”所以地址就是127.0.0.1:8844),这个功能nginx完全可以胜任。

只要在集成nginx的宝塔面板新建网站vpn.xxx.com(前面设定的vpn域名),静态页面就行,然后在网站设置里找到反向代理一栏,新建反向代理,目标地址里设置“http://127.0.0.1:8844”(不需要加引号),随便输入最上方的别名确定保存。

保险起见,重启v2ray和nginx,不知道怎么重启的直接在命令行打入“reboot”。

然后再cloudflare里面把黄云点亮,开启代理。

最后,客户端设置,就照着刚安装好v2ray时显示的信息设置就行,保存,点击连接就ok了。

因为我很懒,对大部分人来说这个看着很乱,总体思路就是我们通过vpn客户端访问域名(因为ip被封了),域名通过cloudflare解析到cloudflare的cdn节点(这个节点可以连通你的网络和vps的网络),然后cdn节点解析到VPS,这个访问通过tls即443端口连接,然而v2ray服务端口是8844(举例),这就需要在vps本地建立一个反向代理,把外部的请求“转发”到8844端口,完整地址就是127.0.0.1:8844(本服务器地址可以写localhost或127.0.0.1),实际上这是一个双向通讯的过程,所以“转发”两个字加了引号。

nginx中性能需要调整,参考:https://blog.csdn.net/weixin_44972135/article/details/92806391

当v2ray连接不稳定时可能是被防火墙封了,需要检查防火墙日志,可能会被误判cc攻击,将相关内容加入白名单就行。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Captcha Code