2019-6-13lesson

Jun 13, 2019

让服务躲在墙后面

当前有两种方案,大体一致,不过由于关于联合TLS、Nginx、VVVVVV 等有些知识点可能有欠缺,当前使用他人一键生成。另一种不带TLS、Nginx 的还算方便。

当前处境: 我的ip 已经ping不通了。只能通过CDN 转向我的服务器进行拯救了。

第一种方案: centos 6.x

完全参考了sprov 的博客

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1. 前往Freecom 申请一个免费域名
2. Freecom ManageDNS 添加`A`记录. eg: www.gogal.ml A 67.230.172.104
3. 前往CloudFlare 申请注册一个免费的CDN
4. CloudFlare **add** 时,填入二级域名. eg:gogal.ml
5. 选择Free 套餐
6. 增加子域,同时指向你的ip eg: fuck.gogal.ml 67.230.172.104

这时候Status 如果有橙色云朵,代表CDN 已经将你的域名包含进去,此时ping fuck.gogal.ml 出现了CDN 的ip

7. 下一步会看到让你修改Nameservers(域名服务器)。其在ManageDNS 左边tab栏,填上那两个值,continue
8. 接下来到了CloudFlare CDN 的dashboard。

顶部有很多栏目,有两个重要栏目:DNS、Crypto

DNS 是管理你的域名,开关你的CDN 需求。

Crypto 管理你的TLS 加密与否(默认Full 加密)。这个很重要。

前往Crypto 将TLS 置为`Off` 或者Flexible

上面关于前提配置完毕。接下来去你的服务器

前往你的服务器ssh(ip 挂了,但是服务器商会提供页面Interactive,使用root 和你的登录密码进行登录)

VVVVVV安装教程

bash <(curl -L -s https://install.direct/go.sh)

这样就安装了VVVVVV。配置目录在/etc/v2ray/config.json

安装完成后,出现PORT、UUID。这两个记录下来,忘记了就cat /etc/VVVVVV/config.json 将端口和uuid 打印出来。

service VVVVVV start && service VVVVVV status // centos6.x

systemctl start VVVVVV && systemctl status VVVVVV // centos7

关闭防火墙:

service iptables stop && chkconfig iptables off // centos6.x 关闭防火墙、关闭开机打开防火墙

systemctl stop firewalld && systemctl disable firewalld // centos7

由于我的服务器就在洛杉矶,bbr 什么什么加速我就没开了。

最后一步就是连接了。

服务器VVVVVV/config.json 的inbound参考如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"port": 80, // 很重要,否则CDN 找不进来
"streamSettings": {
"wsSettings": {
"path": "/58ff4ec7/",
"headers": {}
},
"network": "ws"
},
"settings": {
"clients": [
"id": "xxx", // 通过 /usr/bin/VVVVVV/v2ctl uuid 生成
"alterId": 64
]
}
}

客户端:

1
2
3
4
5
6
7
8
9
10
11
12
Address: fuck.gogal.ml : 443
User ID: xxx
alterId: 64
Security: chacha20那个
Tag: 随便填,,标签使用而已
NetWork: ws
transport settings:
WebSocket:
path: /58ff4ec7/
TLS:
Use TLS
TLS serverName: fuck.gogal.ml

VVVVVVW

VVVVVVX

TLS版本

环境: centos7

github 一键脚本

首先通过TLS 一键脚本生成,自己整还是挺麻烦。内容包括Nginx 转发配置,OpenSSL 配置TLS证书,VVVVVV配置ssl。

配置完成后可以在clients 字段里面添加更多id。

完成后,在客户端注意点:

  1. transport settings - WebSocket栏目 - path 填写对应路径
  2. TLS 打勾,同时填写你的CDN 转换的域名
  3. Network 选ws
  4. CloudFlare CDN 的Crypto 置为full。

此时基本很健康,不容易再被打掉(毕竟我ip已经被打掉了)。

这里提一点,不晓得为什么有些电脑就是连不上我的服务器,有些一填就好了,很奇怪。

VVVVVV无法联网

特征: 对比他人config 完全一致后仍然无法联网, 该服务器提供的其他例子能正常使用

查询了很多问题,终于将问题聚焦在了端口被占用上。

同时查到这个VVVVVVX 的issue107

https://github.com/Cenmrev/VVVVVVX/issues/107

VVVVVVX_issue107

表现完全一致。

操作如下:

VVVVVV复活操作

反正接下来也不适用shadowsocks了,于是我就删了在 /Users//Library/LaunchAgents 下为shadowsock.**.plist 的文件。重启一下电脑,于是就完全表现正常了。