前言
本文从零开始,手把手教你搭建自己的shadowsocks代理服务器实现科学上网。VPS服务器可以选AWS,提供了一年每月750小时和30G流量的1核1G服务器,当然google云也提供了一年的免费试用,本文主要讲述AWS上的操作。
服务器配置
AWS的账号注册流程就忽略了,可自行百度
选择服务器地区,ok后点启动
选择社区AMI,,勾选centos,我这选了7.5的版本
全部点下一步就ok
重点来了,配置安全组,如果不配置外网将无法访问
点击启动
重要,ssh连接密钥,可以新建一下下载到本地,请保管好
点击启动实例,稍等片刻~~~
返回控制台,如果实例状态为running,则可以连接啦~~~
服务端安装shadowsocks
1.ssh连接服务器(windows无自带ssh工具,可自行百度安装OpenSSH) 控制台右键服务器连接可获取连接代码,centos初始密码为centos
$ 例:
$ ssh -i ~/.ssh/centeos_ssh.pem root@ec2-0-0-0-0.ap-northeast-2.compute.amazonaws.com
2.安装pip
由于安装的是python 版本的 shadowsocks,所以首先安装pip
$ curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
$ python get-pip.py
3.安装shadowsocks
$ pip install --upgrade pip
$ pip install shadowsocks
4.创建配置文件
创建文件所在目录:/etc,不熟悉vim的同学可以看下菜鸟教程linux-vim
#创建文件命令,
$ vi /etc/shadowsocks.json
#若进入了etc目录
$ vi shadowsocks.json
配置文件内容:
单端口:
{
"server":"0.0.0.0", --服务器IP,直接用0.0.0.0也可
"server_port":10086, --开放端口,在服务器配置的时候安全组开发的端口
"local_address": "127.0.0.1", --本地地址,可省略
"local_port":1080, --本地端口,可省略
"password":"password", --密码
"timeout":300, --超时时间,可省略
"method":"aes-256-cfb" --加密策略,有多重策略,具体自查
}
多端口:
{
"server":"0.0.0.0",
"local_address":"127.0.0.1",
"local_port":1080,
"port_password":{ --每个端口对应一个密码
"1111":"password1",
"1112":"password2",
"1113":"password3"
},
"timeout":300,
"method":"aes-256-cfb",
"fast_open":false
}
5.启动shadowsocks
#启动
ssserver -c /etc/shadowsocks.json -d start
#停止
ssserver -c /etc/shadowsocks.json -d stop
#重启
ssserver -c /etc/shadowsocks.json -d restart
启动成功即可通过ss客户端使用。
在window端可以在控制台通过以下命令查看端口是否打开
telnet {ip} {potr}
6.配置自启动
新建启动脚本文件/etc/systemd/system/shadowsocks.service,内容如下:
[Unit]
Description=Shadowsocks
[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json
[Install]
WantedBy=multi-user.target
通过以下命令注册,启动服务
$ systemctl enable shadowsocks
$ systemctl start shadowsocks
启动后可以查看服务状态
$ systemctl status shadowsocks -l
若启动成功:
● shadowsocks.service - Shadowsocks
Loaded: loaded (/etc/systemd/system/shadowsocks.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2017-08-13 18:03:41 CST; 1h 29min ago
Main PID: 9567 (ssserver)
CGroup: /system.slice/shadowsocks.service
└─9567 /usr/bin/python2 /usr/bin/ssserver -c /etc/shadowsocks.json
7.firewalld防火墙(重点!!!) centos用的firewalld,若不进行设置,可能会导致SS无法使用
这部分规则可以通过阿里云安全组添加,也可以直接通过代码添加,这里介绍直接添加规则方法
# 开放端口
$ firewall-cmd --permanent --add-port=10086/tcp
# 修改规则后需要重启
$ firewall-cmd --reload
来自北京昌平的用户 10天前
加油~付出就会有收获
来自海南海口的用户 12天前
你们送过来的程序员已经见到了,挺厉害一小伙。另外我这边还缺个产品经理,什么时候给我送个过来?
来自北京朝阳的用户 27天前
楼下方便加下微信麽,交流下!