背景
由于中国移动起步较晚,其服务器多建立在电信和联通的网络中。这导致移动宽带用户在访问某些国外网站时,由于线路问题,会增加给电信、联通的结算费用。因此,移动可能会选择直接阻断访问,使得用户无法访问这些网站。此外,一些国内知名网站,如CSDN blog,在使用移动宽带或数据时访问速度极慢,影响了用户的网络浏览体验。
此外,题主在国内的服务器也被屏蔽了,之前问运营商这个问题,居然让我升级每年1000的宽带😥
解决方案
准备工作
- 阿里云ECS一台,位于美国洛杉矶的某机房服务器一台,均使用CentOS系统。
- 两台服务器均可在电信,联通网络中ping通,但美国机房服务器无法在移动网络中ping通。
阿里云服务器有一个致命的问题,在github上拉取项目的速度很慢,而且网上已经广为提及,常见的方法例如使用SSH隧道,或者直接手改Host,github的ip一直在变,手改host的方法很不现实,所以这里题主使用了proxychains的http代理方法,这个挺好用,ssh隧道折腾半天没用。
为了拉取xray,(如果你能直接拉去xray,那么问题非常简单。),题主首先在A(服务器in CN)和B(服务器in US)间建立proxychains的http代理,包括安装proxychains和squid。
安装和配置Squid
在B上安装squid,将B作为服务端,因为B在US,所以B能够访问github是显而易见的。
1. 安装Squid:
2. 配置:
目的是为了允许A的流量通过服务端
3. 增加不安全配置,允许非SSL端口,注释文件的该行,否则一些网址使用的不是443这类的就无法连接(其实还可以在SSL_ports加入一些端口或例外):
4. 设置防火墙安全策略,启动squid
配置Proxychains
1. 首先安装
2. 然后编辑proxychains.conf(一般都在绝对路径/etc/下),添加:
3. 然后测试一下能否连接一些网站,注意要使用https而非http
配置Xray
1. 配置http代理之后就可以轻松的安装Xray,一般使用网上别人发放的安装脚本
2. 修改配置文件或,加入inbound或outbound策略(这一步建议了解一下config文件的格式自行修改,不算很难),这里仅给一个例子
3. 在A上配置一个本地inbound,例如,发起测试A是否能够与B正确相连:
inbound:
测试
4. 客户端的配置,和A的另一个inbound配置是类似的,使用xray支持的典型代理协议就可以。
开放TCP端口
配置这些协议必须在防火墙中开放端口
并检测端口监听情况
在Windows shell中,TCPing端口可用性检测通过执行如下命令
注意检查云服务器的ACL策略,也可能屏蔽端口
配置证书
由于使用了Vmess + h2 + tls策略,必须对服务器进行证书验证。如果有域名解析到IP,可以直接进行域名验证。这里使用了IP证书:
1. 生成密钥和证书请求:
2. 签发证书:
3. 配置文件(将里面的内容按自己信息填写,然后执行上述代码):
客户端配置
在客户端选择跳过证书验证。
总结
以上内容均经过测试,成功实现了使用移动宽带避免网络屏蔽的情况出现,为那些受网络速度限制的用户提供了解决方案。
题主的操作仅限为题主有限知识储备下的探索,如果有疑问或错误,欢迎指出