自建代理服务器(Cross The GFW)脚本与常见问题解决方案
自建代理服务器没有啥其他优势,两个字「安全」。另外,如果你没有找到比较好一点的节点(一般免费的节点经常变动以提升网站流量),那么自建就是不错的选择,如果钱包充足,你可以在你的软路由上设置你自建的代理,当然这种方式需要代理服务器一直开着(如果选择的是 Vultr,目前最低配置 「1 Core 1 GB 2TB」一个月 6$),具体怎么自建在下面推荐的网站,这儿主要是记录脚本和一些常用的问题解决方案。
1. 推荐阅读
一灯不是和尚:https://iyideng.net/
了解高效上网的前世今生以及如何自建和配置服务器
-
好用节点分享
官方文档与各种协议说明:https://www.v2fly.org/
2. 脚本
1 | bash <(curl -s -L https://git.io/v2ray.sh) |
3. 代理模式
推荐阅读:
1
2 >https://baiyunju.cc/7285
>https://vimcaw.github.io/blog/2018/03/12/Shadowsocks(R)%E8%AE%BE%E7%BD%AE%EF%BC%9A%E7%B3%BB%E7%BB%9F%E4%BB%A3%E7%90%86%E6%A8%A1%E5%BC%8F%E3%80%81PAC%E3%80%81%E4%BB%A3%E7%90%86%E8%A7%84%E5%88%99/#代理流程图
3.1 系统代理
开启系统代理后,系统其他软件可以直接调用系统代理设置(部份软件默认选择使用系统代理),有些时候需要在软件中设置代理。
3.2 PAC 模式
PAC 模式会在系统代理设置一个 PAC 脚本文件,让系统通过这个文件自动选择每一个连接是否启用代理服务器,以及选择哪一个代理服务器,这种模式下一般访问国内网站(在文件记录中)不会使用代理,而访问国外网站会使用代理。
V2rayN 高板本已经取消了这种配置模式,改为 「绕过大陆」、[黑名单] 和 [全局] 模式
3.3 全局模式
所有跟随系统代理设置的软件(一般是浏览器)都会使用这个代理服务器
3.4 绕过大陆(Whitelist)
白名单模式,除开在白名单内的所有流量都走代理。
3.5 黑名单(Blacklist)
黑名单模式,在黑名单内的访问才走代理。
代理的本质是我们去获取互联网中某台电脑的资源(网页,文件,图片等等)时,因为某些原因(你懂的)我们直接去获取是获取不到的,这时通过代理服务器去获取,然后将内容再转回给我们,需要知道的是,代理服务器既然代理了流量,也就具有所有权限去处理这些数据,比如:窜改返回的数据,返回给你钓鱼网站,获取你加密后的密码再破解等等,所以野生的节点会存在安全问题。
4. 常见问题
首先,我使用的 Vultr 的 VPS,Windows 客户端是 V2rayN,手机客户端是 V2rayNG,并没有使用带伪装的 V2ray(就目前来说,使用不带伪装的方式可能第二天就不能用了),一是因为还要买一个域名解析到服务器,稍微比较麻烦,二是囊中羞涩,一般没需要我就销毁服务器了。
下面出现的问题,默认你的配置是正确的,使用了支持的客户端并且客户端板本和服务器 V2ray 板本相差不大。
4.1 VPS 和 客户端时间不同步,导致连接不上
安装 NTP 服务;
1
yum install -y ntp
设置开机自启并开启 NTP;
1
2systemctl enable ntpd
systemctl start ntpd同步时间服务器。
1
ntpdate pool.ntp.org
4.2 V2ray、HTTP、HTTPS 端口未开启
检查服务器是否开启了防火墙;
1
systemctl status firewalld
如果开启了防火墙,放行 V2ray 的端口;
1
2
3
4firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=${V2ray 端口}/tcp --permanent
firewall-cmd --reload # 配置立即生效
4.3 IP 或者 端口被封
使用 ping 命令检查 IP 是否被封。
检查 V2ray 端口是否可以访问;
客户端执行以下命令
1
telnet ip port # 请换为你的服务器 IP 和 V2ray 端口
如果返回中包含
Escape character is '^]'
则代表端口访问正常使用在线网站检测。
输入格式:ip:port
如果其他国家的可以连接,而
China
字样的报红大概率是封了。
4.4 IP、端口都没有被封,但连接报错 failed to process outbound traffic
首先确定你 VPS 的 V2ray 是正常运行的;
1
systemctl status v2ray
最简单的方式是先查看日志;
1
2cat /var/log/error.log
cat /var/log/error.logGFW 采用了其他方式来达到封禁的效果,那么重装是不错的选择。
这种情况的表现就是偶尔能连上,不使用代理时检测代理服务器真连接是可用的并且可以 ping 通,但是一旦使用代理就报
failed to process outbound traffic
。重装时, V2ray 端口不要与上一次的一致,修改协议为 Websocket 或者 Vless + Websocket + TLS(需要域名),详细教程:
1
https://iyideng.net/black-technology/cgfw/vless-one-click-script-building-and-using-tutorial.html
推荐阅读 GFW 封禁原理,正常流程先封端口,再封 IP,所以在某些特殊日期会出现大部份服务器 IP 都被封的情况。