博客第一篇 ----- 科学上网

本文介绍在 Mac 环境,如何使用亚马逊 AWS 搭建 shadowsocks 实现科学上网。


来源:http://sivan67.github.io/2016/04/23/%E5%8D%9A%E5%AE%A2%E7%AC%AC%E4%B8%80%E7%AF%87-%E7%A7%91%E5%AD%A6%E4%B8%8A%E7%BD%91/

写在前面的话

首先当了好久的程序猿竟然一篇博客都没有写过,说起来真是惭愧。究其原因,就是懒。但是每次写程序的时候遇到一些糢糊不清的知识点,就要去 Google 各种搜索(不要问我为什么不用百度),浪费了好多时间,于是便决定自己写博客,将平时学到的知识都整理到这里,也算是一个知识点的备份吧。
好了,废话不多说,进入本篇正题。
注:本文测试环境为 Mac

关于科学上网

天朝的网络对于开发人员来说就是一个噩梦,如果一个程序猿不会科学上网,那……
本篇课程就来告诉大家如何使用亚马逊 AWS 搭建 shadowsocks
先说一下 亚马逊 AWS 的缺点吧,网上有人反映说在免费期间内有莫名其妙的扣费情况,如果你对这个很在意的话,可以跳到本文最后,有!福!利!

服务端配置

申请 AWS

  1. 打开 AWS官网 点击注册

    需要注意的是,填写个人信息的时候需要使用英文
  2. 注册成功后,点击登陆控制台

新建 EC2

  1. 进入 AWS 主页,选择 EC2
  2. 右上角地区选择,点击启动实例(推荐选择东京)
  3. 选择 符合条件的免费套餐
  4. 同样选择 符合条件的免费套餐,点击审核启动
  5. 点击启动
  6. 选择 创建新密钥对,输入密钥名称,点击下载密钥对
  7. 这样就布署好了一个在东京的服务器节点
  8. 点击查看实例,这里的一些信息我们接下来会用到

连接远程服务器

Mac 按照下面步骤进行
  1. 首先,找到刚刚保存的密钥对文件(*.pem文件)本文假设此文件名为 ec2.pem
  2. 打开终端,进入到 ec2.pem 文件所在目录
  3. 执行chmod 400 ec2.pem修改文件权限
  4. 执行ssh -i ec2.pem ubuntu@你的服务器公有 DNS即可连上远程服务器(服务器公有DNS在实例中可以找到)

安装 shadowssocks 依赖

  1. 终端输入 sudo -s 获取超级权限
  2. apt-get update 更新apt-get
  3. apt-get install python-pip 安装python包管理工具pip
  4. pip install shadowsocks 安装shadowsocks

配置 shadowsocks

  1. 在 /etc/ 目录下新建 shadowsocks.json 文件touch /etc/shadowsocks.json
  2. 使用 vim 编辑 shadowsocks 配置文件sudo vi /etc/shadowsocks.json
  3. 进入 vi 编辑模式后可以使用方向键或者h,j,k,l来移动光标,键入i来进入编辑模式,编辑结束后,按Esc退出编辑状态,键入进入命令行模式,键入wq保存退出
  • 单一端口配置:
1
2
3
4
5
6
7
8
9
10
{
    "server":"0.0.0.0", // 默认0.0.0.0就好
    "server_port":8080, // 自己定义,下面会用到
    "local_address":"127.0.0.1",
    "local_port":1080,
    "password":"密码", // AWS 密码
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open":false
}
  • 多端口配置:
1
2
3
4
5
6
7
8
9
10
{
    "server":"0.0.0.0",
    "port_password": {
        "端口1": "连接密码1",
        "端口2" : "连接密码2"
    },
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open": false
}

开启 AWS 入站端口

配置好 shadowsocks 后,还需要将配置中的端口打开,这样客户端才可以连接到 EC2 中的 shadowsocks 服务
  1. 首先打开运行中的实例,向右滚动窗口,找到安全组
  2. 点击操作编辑入站规则
  3. 点击添加规则端口范围填写 shadowscoks 配置文件中的端口号,点击保存

启动 shadowsocks 服务

终端输入ssserver -c /etc/shadowsocks.json -d start即可

客户端配置

客户端下载

Mac 下载 shadowsocks 客户端,下载连接

配置

下载安装后,会看到一个纸飞机一样的图标
点击服务器打开服务器设定
地址填写实例中的公有 IP,端口填写 shadowsocks 配置文件中的端口号,加密方式aes-256-cfb,密码为 AWS 登陆密码,点击确定
最后,点击纸飞机图标,打开 shadowsocks,选择自动代理模式。
打开浏览器,输入谷歌
是不是很激动,又可以学(zhuang)习(bi)了。

订单检控

重要的事情忘记跟大家说了,亚马逊 AWS 每个月提供 150GB 免费流量与 750小时免费时长。如果超过免费限制是会自动从绑定的信用卡中扣除的,所以,需要注意自己的使用情况。创建一个账单警报,当卡中有扣费发生时,会收到扣费邮件的提醒。
  1. 进入 AWS 主页,点击我的帐户帐户设置
  2. 点击首选项接收账单警报保存首选项
  3. 点击左上角的服务账单
  4. 点击设置第一个账单警报,并按照步骤进行,填写一个可以随时收到邮件的邮箱就 OK 了。

Other Thing

也许有人觉得上面的设置神马的太麻烦了,又要面临随时被扣费的风险,那么,大杀器来了!!!
谷歌出品,万全免费,用的人都说好。你还在等什么。

写在最后

第一次写博客,有什么缺点希望大家能够提醒一下,thx!(不服来打我呀😏)
参考:

没有评论: