基于AWS EC2免费搭建ubuntu及ss全过程

科学上网介绍

什么是科学上网?
科学上网 = 翻墙 = 利用技术手段,能够访问在中国被GFW禁止/过滤掉无法访问的网站/网络,比如Google Facebook YouTube 等等。

这里我们讨论科学上网主要是为了访问国外的与计算机技术开发相关的资源,用于学习技术。

科学上网的方式很多,我们这里介绍的是Shadowsocks(一套基于Socks5代理方式的网络加密传输数据包的技术、用socks5技术加密的技术)
官网的介绍是

  • A secure socks5 proxy,designed to protect your Internet traffic.
  • 一个安全的socks5代理, 旨在保护您的Internet流量

今天我们以自己搭建ss服务器 + 客户端 的方式来实现科学上网。

首先我们得有一个能通外网的的服务器,这里介绍的是AWS。因为新用户可以免费使用1年,每月流量15G,一般还是够用了。(前提是要有信用卡,才能完成注册

先简单介绍一下亚马逊AWS EC2,Amazon Elastic Compute Cloud (Amazon EC2) 是一种 Web 服务,可以在云中提供安全并且可以调整大小的计算容量

  • AWS 免费套餐包括为期一年、每月 750 小时 Linux 和 Windows t2.micro 实例的使用时间。要一直享受免费套餐,您只能使用 EC2 微型实例。

1.注册AWS

万年不变的第一步 注册https://amazonaws-china.com/cn/,首页打开点击注册

如下图,填你的相关信息,然后点继续

aws

继续之后,账户类型选个人。这里电话必须是可以接听的电话,一会儿会有电话验证,填好之后创建账户并继续。

aws

这里填写你的信用卡信息,然后点安全提交。注意必须是可以正常使用的信用卡,会给你发$1的扣费请求。

aws

然后就是下图 这一步,验证手机号。点击 立即呼叫我 ,会有国际长途打进来,页面上会弹出几个数字的验证码,在接听电话中输入弹出的几个数字 #号键结束。

aws

验证成功后会有提示,同时会收到信用卡扣费提醒。

aws

继续之后会自动跳转到如下图页面,我们点击 免费
aws

然后,点击登陆控制台
aws

登陆完成后,控制台为如下页面,注意右上角的地区,这里好像会自动匹配到延迟最低到地区,这个地方就是你的服务器机房的位置。可以根据你的需要选择不同地区

aws

这里推荐一个测试各地区延迟的网站 CloudPing 。如图可以看到我这里 俄亥俄州 的延迟最低。
aws

选好地区之后我们,点击 构建解决方案中的 启动虚拟机 ,或者上面如果有EC2 的话也可以点
aws

然后点击 启动实例
aws

这里我们选择ubuntu,点击 选择
aws

选择 图中框选的那个,只有这个是免费的,然后点击 下一步:配置实例详细信息
aws

默认设置,直接 下一步:添加存储
aws

这里也可以默认设置不动,也可以改硬盘大小,最多30G,然后点击 下一步:添加标签
aws

aws

添加一组标签,密钥 和 值 随便填 ,填好之后点击 下一步:配置安全组
aws

配置安全组:点击添加规则,这里先配置所有流量和端口开放。 添加好之后点击 审核和启动
aws

点击 启动
aws

下面这一步很重要,选择 创建新密钥对 然后起个名字,
点击 下载密钥对 ,保存好下载的文件。以后需要通过这个文件登陆服务器
下载完成后点击 启动实例

aws

创建账单报警
aws

接收免费套餐使用量提醒,然后保存首选项
aws

回到我们的控制台页面。
aws

到这里我们的实例就启动完成了,下面就是连接服务器


2.连接服务器

点击 操作 --> 连接
aws

弹出如图所示的连接服务器的提示
aws

mac的话直接用自带的终端工具,或者iTerm

先进入 前面我们保存的 密钥的目录,执行命令

chmod 400 xxxxx.pem # 这个 xxxxx.pem 文件就是前面我们下载的密钥文件

然后通过ssh登陆,执行(图中 示例的代码,复制就行了)

ssh -i “xxxxx.pem” ubuntu@ec2-xx-xxx-xxx-xxx.us-east-2.compute.amazonaws.com # 注意换成你自己的

登陆成功后可以看到如图所示的登陆成功信息
aws

windows系统的话。就用xshell工具吧。自行下载安装,这里就不说了,网上教程很多。

Xshell链接https://pan.baidu.com/s/1hXd_VXSnk76YjvBm1w_nXA 密码:SL76

连接服务器方法看这里

连接成功后会看到如图所示的登陆成功信息
aws

3.安装ss服务

注意:这里的操作都是成功登陆到服务器上之后的操作。

1
2
3
4
5
6
7
8
9
10
11
12
# 获取root权限
sudo -s

# 更新apt-get
apt-get update

# 安装python包管理工具
apt-get install python-setuptools
apt-get install python-pip

# 安装shadowsocks
pip install shadowsocks

下面是具体截图

aws
aws
aws

安装成功后可通过ssserver --version命令查看到当前ss版本号

shadowsocks安装好之后 就是配置了

4.配置shadowsocks

这一步在windows上操作的时候忘记截图了。。😓

将就看看我在自己电脑上的操作的截图 😄

  • 创建ss.json配置文件,执行命令
1
2
mkdir /etc/shadowsocks  # 新建shadowsocks文件夹
vim /etc/shadowsocks/ss.json # 创建并编辑ss.json文件

aws
aws

复制粘贴如下内容(注意修改密码“password” , “server_port”字段也可以自行修改 不要超过65535)

1
2
3
4
5
6
7
8
9
10
11
{
"server":"0.0.0.0",
"server_port":5800,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"http://cqwdc.com/post/f42d2759.html",
"timeout":300,
"method":"aes-256-cfb",
"fast_open":false,
"workers": 1
}

aws
aws

配置字段说明
server服务端监听地址(IPv4或IPv6)
server_port服务端端口,一般为443
local_address本地监听地址,缺省为127.0.0.1
local_port本地监听端口,一般为1080
password用以加密的密匙
timeout超时时间(秒)
method加密方法,默认为aes-256-cfb,更多请查阅Encryption
fast_open是否启用TCP-Fast-Open,true或者false
workersworker数量,指定要使用的工作人员数量

vim不会使用的朋友,自行百度一下。或者看一下这篇Linux常用命令整理

5.启动SS服务

1
2
3
启动:ssserver -c /etc/shadowsocks/ss.json -d start 
停止:ssserver -c /etc/shadowsocks/ss.json -d stop
重启:ssserver -c /etc/shadowsocks/ss.json -d restart

启动ss服务之后,服务器端就可以算是完成了

—–更新:2018-9-23
今天把服务器机房换成了东京的。安装完成后居然报错了。记录一下

如果 ShadowSocks启动报错undefined symbol EVP_CIPHER_CTX_cleanup

vi /usr/local/lib/python2.7/dist-packages/shadowsocks/crypto/openssl.py

1
2
:%s/cleanup/reset/
:x

以上两条为VIM命令, 替换文中libcrypto.EVP_CIPHER_CTX_cleanup.argtypes 为libcrypto.EVP_CIPHER_CTX_reset.argtypes 共两处,并保存

重启启动shadowsocks

https://kionf.com/2016/12/15/errornote-ss/

6.设置SS为开机启动项

1
vi /etc/rc.local

插入:sudo ssserver -c /etc/shadowsocks/ss.json -d start

如果不设置开机启动,服务器重启后需要手动启动ss服务

7.本机连接到ss服务器

下载ss客户端:github上去下载

下载之后安装,启动,添加服务器,地址为AWS EC2的IPv4公有IP,端口号、密码、加密方式为刚才配置Shadowsocks服务器时的ss.json文件中填的对应值,设置完之后保存确定。

登录AWS控制台,查看正在运行中的实例,找到IPv4公有IP。
aws

打开服务器设定…

aws
aws

设置完成后,点击 shadowsocks打开,模式选自动代理模式就行了,会自动识别哪些网站需要通过ss访问,全局模式的话本机所有的网络连接都会通过ss访问,这样访问国内网站的时候就会很卡,也会消耗我们的流量

打开网站试试Google能不能打开吧。这时候我们就可以愉快的科学的上网了。😄

8.其他注意事项:防止悲剧发生

防止AWS 1年后到期或其他原因被扣费

为了防止流量超出或者此类悲剧发生。

需要设置账单警报,文章前面已经有过介绍了。

还有就是在控制台安全组下面设置入站和出站规则。

(还有一种方式就是注册好之后,可用找一张没用的信用卡绑定然后将注册用的信用卡删了,就扣不了费了😄)

还有,记得到期前把你账户下所有AWS实例关闭并销毁。

AWS EC2试用期只有1年,到期之前,记得先销毁实例关闭账户,防止被扣费

如何关闭账户https://console.aws.amazon.com/billing/home?#/account 滚动到页面最底部,关闭账户。

aws

结束语:本教程仅供学习参考之用,请勿用于非法途径。


参考链接:

大爷,赏点?
0%