AWS搭建ShadowSocks(VPN)服务

(截止2018-08-18,本方法可用)

最近国内梯子严重缺乏,至于之前的VPN为什么都不能用了,感兴趣的同学可以看看这篇论文:

The Random Forest based Detection of Shadowsock's Traffic 

在这之前使用过ExpressVPN,客服表示中国大陆可用,然而实际的情况确实,节点少,特别慢,链接上后很多大陆内的网站访问不了,百度就在其中。

手机(IOS)上试过 Touch VPN, Angle,但是都是只针对手机的,怀念以前的shadowsocks和wingy(需要非中国区的apple id),全平台使用,自动区分内外网(国内国外),然而所有的shadowsocks服务商都倒下了,不得已,只能自己动手丰衣足食了。

非专业人事看什么是shadowsocks

shadowsocks中文简介(服务端+客户端)

shadowsocks官网

shadowsocks是通过socks5协议来避开GFW的特征识别,所以目前依旧可用

what's socks5

废话不多说,我们进入正题:

1,首先你需要一台亚马逊的服务器,服务器位置在美国,如果你有信用卡的话,可以免费使用一年,楼主作为穷屌丝就是用的免费的。

AWS传送门 创建免费账户

2,创建实例(Ubuntu),编辑实例安全组,开发22端口(ssh)以及8388端口(ssserver),配置规则和阿里云类似

编辑入栈规则

3,使用ssh远程访问AWS服务器之前的准备。AWS提供了两种方法一个是直接在浏览器登录(不支持chrome),另一个就是ssh,需要先下载秘钥,秘钥的权限需要修改为400,红框中的信息请仔细看

5,ssh链接服务器

6,安装ssserver(Python2.6或者2.7)

官方提供的方法如下:

如果你没有pytho可以直接安装,命令行如下:

sudo -s

apt update

apt install python python-pip

默认的应该是python2.7我记得

安装ssserver:

pip install shadowsocks

7,编辑配置文件

mkdir /etc/shadowsocks/

cd /etc/shadowsocks/

vi config.json

输入下方的内容:

{
    "server":"0.0.0.0",
    "server_port":8388,
    "local_port":1080, 
    "password":"~123456!",
    "timeout":600,
    "method":"aes-256-cfb",
    "fast_open":false
}

保存退出

8,以守护进程启动ssserver

ssserver -c /etc/shadowsocks/config.json -d start (stop 停止;restart 重启)

9,下载配置客户端,基本上所有平台的都有吧

客户端下载传送门

配置MAC端:

配置手机端(Wingy)

10,测试连接

手机端登录facebook

电脑端登录youtube

11 可能出现的问题,我踩过的坑

(1)ssh连接不上->检查AWS的安全组是否开放入网22端口,0.0.0.0/0

(2)客户端连接不上ssserver->检查AWS安全组是否开放对应的端口(8388),0.0.0.0/0

(3)shadowsocks下载传送门打不开->可能是体制内外的问题,这里提供了一个MAC的客户端github地址

(5)想要设置多个端口,不满足仅仅的应用,更多设置和F&Q可以参考这里 (shadowssocks

(6)启动ssserver的操作必需以root身份执行

(7) 建议使用东京的服务器,美国部分ip不可到达

对上面的流程有不清楚的可以邮件我:[email protected]

2018-3-19更新

关于使用了ssserver一段时间后就无法连接的问题

笔者经过多日的摸索发现了一个问题,AWS启用一段时间后,状态检查会出现一个黄色的感叹号(我已经修复了,当时没截图),表示系统检测到实例没有流量,我用端口扫描工具一看(附上网址: http://tool.chinaz.com/port/,填ip和端口,执行扫描。也可以使用telnet ip port 命令在Linux控制台检测),果然,所有端口都不可到达,timeout,而且我的安全组配置是开放了22、80 8388端口的,很多朋友邮件问我的问题差不多和这个类似,下面给出解决方案:

推荐解决方案就是重启或者重新配置操作系统,我试了重启,效果不太理想,所以我选择先停止,后启动,注意启动后的IPV4地址会变动,共有DNS也会改变,使用ssh连接的时候需要改变一下DNS,从新开启实例之后,telnet一下安全组的端口又是可以到达的了,这是AWS自己的问题吧我觉得,有点坑

关于一开始没有梯子如何通过SSH连接AWS控制台的问题

首先,有有个叫蓝灯的东西还不错,连接在这里  https://getlantern.org/en_US/

使用蓝灯可以每月免费使用500mb的vpn流量吧,这不是关键,我们只是用它一会而已,因为蓝灯虽然速度快,但是他没有Global模式,无法全局代理,只能网页挂梯子,我想使用控制台远程连接AWS走的还是非代理通道,无法到达,所以这就是为啥我喜欢使用ShadowSocksX-NG了,它有全局模式

要想连AWS需要一个支持全局模式的ShadowSocksX-NG的server,那蓝灯有什么用呢?

蓝灯只是为了让我能去下载ShadowsSocksX-NG的一个工具,因为有朋友反映该下载地址也是在墙外,其实github不用翻墙我想说

OK,有了ShadowsSocksX-NG后我们去 这里 vhostss,可以购买一个免费的ssserver,每月1gb流量,虽然只比蓝灯多500mb,但是他可以全局模式使用啊!

注意,免费的!!!

买完后配置到你的ShadowsSocksX-NG中,开启全局模式,然后就可使用shh远程访问你的AWS了!

猜你喜欢

转载自blog.csdn.net/liangxun0712/article/details/78840964