VPN搭建:亚马逊EC2+Shadowsocks


创建ec2实例

具体创建过程不再赘述,下面贴出一张创建成果之后的示例图:

实例

SSH登录ec2实例

一般我们通过PuTTY或者Xshell远程连接ec2实例,下面具体介绍一下方法

PuTTY

此处不再详细解释,具体请参考AWS官方文档 使用 PuTTY 从 Windows 连接到 Linux 实例

Xshell

Xshell_1

Xshell_1

具体配置步骤

以下命令均在最高权限用户 root 下运行,通过sudo -s获取超级管理员权限

安装shadowsocks服务端

1
2
3
apt-get update // 更新apt-get
apt-get install python-pip // 安装python包管理工具pip
pip install shadowsocks // 安装shadowsocks

配置

使用Vi编辑器创建名为shadowsocks.json的配置文件

1
vi /etc/shadowsocks.json

vi打开文件后,按i进入编辑模式

单一端口配置:

1
2
3
4
5
6
7
8
9
10
{
"server": "0.0.0.0", #或者为服务器ip地址
"server_port": 1106, #端口
"local_address": "127.0.0.1",
"local_port": 1080,
"password": "123123123", #连接密码
"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
}

推荐一个Json在线格式化工具
编辑完成后,按Esc键,输入:wq之后会保存修改并退出vi编辑器。

在这里通过下表看一下配置文件中各项代表了什么

配置项 配置文件说明
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
workers worker数量,如果不理解含义请不要改(这个只在Unix和Linux下有用)

启动Shadowsocks服务器

输入以下命令来启动Shadowsocks

1
ssserver -c /etc/shadowsocks.json -d start

编辑EC2入站规则

  1. 回到ec2控制台,右键之前创建的实例,如下图选择更改安全组

    更改安全组

  2. “编辑入站规则”->”添加规则”,类型为“所有ICMP-IPv4”

    添加规则

  3. 到这里VPN服务器就搭建完毕了

使用Shadowsocks客户端

下载客户端

windows 客户端下载地址 : https://github.com/shadowsocks/shadowsocks-windows/releases

配置客户端

启动之后的Shadowsocks客户端

此处服务器地址应该填写公有DNS(IPv4)而不是IPv4公有IP

点击确定就可以使用

参考&引用

shadowsocks官网
Shadowsocks的项目Wiki
VPN搭建:亚马逊EC2+Shadowsocks
使用 Shadowsocks 自建翻墙服务器,实现全平台 100% 翻墙无障碍

更新时间

发布时间 : 2017-08-16

看你的了!