之前一直是使用 AWS+ss 的方式翻墙,昨天手一抖把 EC2 实例给销毁了,最近好像干了不少这样不过脑子的事。其实AWS有一年的免费使用期限,我的早就过了,所以趁着这次事情,干脆再薅一次羊毛,重新注册一个账户,这里记一下安装过程。
要使用 AWS 的免费服务器,你需要有一张带美元账户的信用卡。我之前是使用 Young 卡注册,这次换一张 visa 卡,绑定账户会扣除 1 美元作为验证,貌似后面会返还。EC2 机器的费用每月会以预授权的形式扣除。
使用 ss 的原因也很简单,跨平台客户端多。
注册账号,绑定信用卡什么的就不说了。
创建实例
选择区域
登录控制台,选择区域,这里根据自己的情况选择,我选择的是东京,你可以根据自己的情况选择。然后启动一个实例。
选择系统
下一步是选择一个系统镜像,我家里使用的是 Ubuntu 18.04 ,这里也选择了 Ubuntu,也可以选择其他的,但是一定要注意选择 符合免费条件的套餐 的机器。
创建安全组
接下来的几步按默认来就行,安全组这个需要配置,否则无法远程登录,可以暴露一些如 22 端口和 shadowsocks 端口,为了方便,这里全部放行,通过系统内部的端口开关来控制。
启动实例
启动实例之前一定要创建密钥对,这个是远程登录的必要条件,并且下载保存 [pem 文件],一定保存好,丢了就无法在下载了。
接下来就启动实例。
配置弹性 IP
由于重启之后机器的公有 IP 会变动,这样在使用 SS 的时候需要修改 IP ,为了保证 IP 不变,需要绑定一个弹性 IP 。
首先分配一个新地址,然后关联上刚才创建的实例。
注意,单独的弹性IP是不在免费套餐内的,所以需要及时绑定一个实例,如果只是分配了弹性IP,很久没有绑定实例,很可能要付费。所以,没有关联实例的弹性 IP 一定要释放掉。
当实例关联弹性 IP 后,原来实例分配的公有 IP 被释放。
连接服务器
因为AWS强制远程登录必须要用密钥连接服务器,我的电脑是 Ubuntu ,我是可以直接使用命令行的。如果是 Windows ,官方推荐使用 PuTTY ,不过说实话,界面实在太丑了。这里推荐一款超棒跨平台的 SSH 软件 terminus 。
我这里使用命令行直接登录
1 | ssh -i AWS-Key-191102.pem ubuntu@ec2-52-198-88-251.ap-northeast-1.compute.amazonaws.com |
安装代理服务
安装 SHADOWSOCKS
这里以 Ubuntu 为例讲解安装 SS 的过程,如我的登录命令一样,当前使用的是 ubuntu 用户,因为是使用 pem 密钥对登录的,在使用 sudo 命令时不需要输入密码。使用以下命令安装 SS 。
1 | sudo apt-get update |
安装过程中会提示下载软件等信息提示,输入 Y 确认即可。
配置
在 /etc/ 目录下新建配置文件
1 | sudo vim /etc/shadowsocks.json |
复制下列的配置文件:
1 | { |
配置以下你的端口和密码即可, 一定确保端口已开放 ,上面配置网络组的时候已经允许了所有端口进入。
这里关于加密方式要说一下,因为加密方式对于网络延时还是有一定影响的。翻墙不稳定,可能是加密方式的特征被识别,从而被干扰,也需要更换加密方式。
1 | rc4-md5 加解密速度快,但是加密强度不够大,容易被干扰 |
无论哪一种加密方式,只要使用的人多了,就可能被重点研究,从而受到干扰,有人推荐 chacha20 或者 salsa20 ,没有试过。其实 bf-cfb 就很好,速度很快,官方的 shadowsocks-libev 及本教程预编译的翻墙固件都直接支持。
如果你没有开放端口的话,需要防火墙将端口放开出来。
1 | sudo ufw allow 8388 |
开启服务
使用命令开启
1 | ssserver -c /etc/shadowsocks.json -d start |
查看开启,输入以下命令,如果有输出启动命令,则说明服务已开启。
1 | ps axu | grep ssserver | grep -v grep |
停止服务,直接 kill 进程号,或者使用如下命令
1 | ssserver -c /etc/shadowsocks.json -d stop |
使用客户端连接
安装好了,配置好了,接下来就应该下载客户端开始使用了。
配置客户端
在安卓客户端上的配置如下:
配置上 服务器地址 端口 密码 加密方式 四个参数即可。