今天搭了一个shadowsocks 掉坑了,vim /etc/shadowsocks.json这里etc前面/忘记加了,导致写不进去多用户的信息。查了几个人的教程觉着挺好,保存一下。其他人用时可以结合着看。
前言
- Shadowsocks无GUI客户端教程:Linux安装配置Shadowsocks客户端及开机自动启动
- Shadowsocks-Qt5客户端教程:Shadowsocks-Qt5 For Centos 7
- Shadowsocks服务端教程:搬瓦工Shadowsocks安装及配置多用户(服务端)
安装Shadowsocks服务
方案一:
搬瓦工VPS为我们准备了Shadowsocks的一键安装,直接在控制面板中有,非常方便。
- 只需在左边最下面选择
Shadowsocks Server
- 然后选择
Install Shadowsocks Server
- 等待安装完成后选择
Go Back
- 现在可以看到加密协议默认
aes-256-cfb
,端口默认443
,密码随机
如果是自己用,到这里就可以使用了,直接在客户端填好这些配置信息就好了。
方案二:
如果不在控制面板上安装或者是在其他没有一键安装的VPS上,可以使用命令安装。
Debian/Ubuntu:
apt-get install python-pip
pip install shadowsocks
CentOS:
yum install python-setuptools && easy_install pip
pip install shadowsocks
优化Shadowsocks性能
- 在终端通过ssh连上vps(Windows可以用putty连,Mac直接在终端就可以了)
- 在终端输入
vi /etc/sysctl.d/local.conf
创建配置文件 - 按
i
插入 插入以下内容
# max open files fs.file-max = 1024000 # max read buffer net.core.rmem_max = 67108864 # max write buffer net.core.wmem_max = 67108864 # default read buffer net.core.rmem_default = 65536 # default write buffer net.core.wmem_default = 65536 # max processor input queue net.core.netdev_max_backlog = 4096 # max backlog net.core.somaxconn = 4096 # resist SYN flood attacks net.ipv4.tcp_syncookies = 1 # reuse timewait sockets when safe net.ipv4.tcp_tw_reuse = 1 # turn off fast timewait sockets recycling net.ipv4.tcp_tw_recycle = 0 # short FIN timeout net.ipv4.tcp_fin_timeout = 30 # short keepalive time net.ipv4.tcp_keepalive_time = 1200 # outbound port range net.ipv4.ip_local_port_range = 10000 65000 # max SYN backlog net.ipv4.tcp_max_syn_backlog = 4096 # max timewait sockets held by system simultaneously net.ipv4.tcp_max_tw_buckets = 5000 # TCP receive buffer net.ipv4.tcp_rmem = 4096 87380 67108864 # TCP write buffer net.ipv4.tcp_wmem = 4096 65536 67108864 # turn on path MTU discovery net.ipv4.tcp_mtu_probing = 1 # for high-latency network net.ipv4.tcp_congestion_control = hybla # forward ivp4 net.ipv4.ip_forward = 1
- 然后按
Esc
退出编辑,按shift
+:
,输入wq
,回车,就保存退出了。 - 配置生效:
sysctl --system
配置多用户
如果想多用户使用的话就需要更改配置。
- 首先通过ssh连上vps
- 在终端输入
vi /etc/shadowsocks.json
创建配置文件 - 按
i
插入 - 插入以下内容(用户数任意,注意最后一个用户密码后面没有逗号)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
{ "server":"my_server_ip", #填入你的IP地址 "local_address": "127.0.0.1", "local_port":1080, "port_password": { "8381": "foobar1", #端口号,密码 "8382": "foobar2", "8383": "foobar3", "8384": "foobar4" }, "timeout":300, "method":"aes-256-cfb", "fast_open": false } |
上面开了四个端口(用户)为8381-8384,密码分别为foobar1-foobar4,你还需要填入你的IP地址
。
下面是详细配置说明:
Name | 说明 |
---|---|
server | 服务器地址,填ip或域名 |
local_address | 本地地址 |
local_port | 本地端口,一般1080,可任意 |
server_port | 服务器对外开的端口 |
password | 密码,可以每个服务器端口设置不同密码 |
port_password | server_port + password ,服务器端口加密码的组合 |
timeout | 超时重连 |
method | 默认: “aes-256-cfb”,见 Encryption |
fast_open | 开启或关闭 TCP_FASTOPEN, 填true / false,需要服务端支持 |
- 然后按
Esc
退出编辑,按shift
+:
,输入wq
,回车,就保存退出了 - 启动
ssserver -c /etc/shadowsocks.json -d start
- 重启(修改配置要重启才生效):
ssserver -c /etc/shadowsocks.json -d restart
- 设置开机启动
- 在终端输入
vi /etc/rc.local
, - 把里面最后的带有ssserver的一大段默认的代码删除掉,
- 再把
ssserver -c /etc/shadowsocks.json -d start
加进去, - 按
wq
保存退出。
- 在终端输入
- 到此就配置好了,试试多用户运行吧!
修改
2017年10月31日修改
附上单用户的配置信息:/etc/shadowsocks.json
1 2 3 4 5 6 7 8 9 10 |
{ "server":"my_server_ip", "server_port":8381, "local_address":"127.0.0.1", "local_port":1080, "password":"foobar1", "timeout":300, "method":"aes-256-cfb", "fast_open":false } |
第二个人的。
一、获取VPS的ip,SSH端口和root密码。
我用的是搬瓦工(Bandwagonhost)的VPS,这篇文章也是根据搬瓦工来写的,不过如果你用的不是搬瓦工也没关系,每家服务器提供商的VPS都有ip地址、SSH端口和root密码,拿到之后请跳过第一步,直接从第二步开始。
如果你想用搬瓦工的VPS,那就接着看吧。
1. 搬瓦工VPS的注册与购买。
现在搬瓦工网站启用了新域名:bwh1.net,之前的老域名bandwagonhost.com已经访问不了了。至于具体的购买注册教程这里不做介绍,想了解可以访问这个链接。
2. 获取ip、SSH端口和root密码。
因为搬瓦工自带shadowsocks功能,如果你只需要一个账户的话,按上面的链接配置就可以了,如果你有多用户使用的需求的话,请继续,按以下步骤操作:
- 点击“VPS Hosting”——点击“Services”-“My Services”——点击“KiwiVM”进入控制面板,如下图。马赛克部分为
ip地址
,请记住!!!
- 在面板左侧点击“Install new OS”可以重装系统(如果忘记了root密码,请点击“Root password modification”获取密码),系统选择centOS-6
- 重装完成后,如下图。请记住
root密码
和SSH端口
!!!
现在为止,我们需要的东西都拿到了,返回“Main controls”看一下状态是否是“Running”,是的话,开始下一步。(不是,点“start”)
二、使用putty远程登录VPS配置shadowsocks信息。
1. 下载putty。
这边有一个百度到的下载地址
2. 运行putty。
启动putty,输入IP地址和SSH端口。如下图:
3. 登录VPS。
点击“open”之后会出现窗口,将输入法切换到英文输入法,输入root,然后回车,之后是输入之前获取到的root密码(输入密码时,输入状态是不可见的。如果怕输入错误,可以先复制密码,再在窗口中单击鼠标右键粘贴,注:在putty中粘贴快捷键不是“Ctrl+V”,而是单击鼠标右键
),然后回车执行。成功后,如下图:
4. 安装shadowsocks。
依次输入以下几行命令,每输入一行按回车执行,如果没有报错,即为执行成功,出现确认提示的时候,输入y
后,回车即可。每行命令可以复制后在putty里右键粘贴,回车执行。
yum install epel-release
yum update
yum install python-setuptools m2crypto supervisor
easy_install pip
pip install shadowsocks
5. 配置shadowsocks.json文件。
上边几条命令都执行完成后,输入下面这条命令,回车执行:
vi /etc/shadowsocks.json
之后按i
键进入编辑模式,putty黑框的左下角会出现 -- INSERT -- 字样,然后一次性复制下面的内容(记得先修改再复制,将2333修改为想用的端口,范围 1 – 65535,mima12345改成你的密码,记住下面的内容,配置客户端的时候会用到;另外,下面是建了2333和6666两个账号,如果多了,可以删掉,不够可以再加。注意逗号,免得出错), 在putty里右键,此时复制的内容应该已经粘贴到了putty里了。
-
{
-
"server": "0.0.0.0",
-
"port_password":{
-
"2333": "mima12345",
-
"6666": "mima12345"
-
},
-
"timeout": 600,
-
"method": "aes-256-cfb"
-
}
完成后,按ESC键
退出编辑模式,putty黑框的左下角 -- INSERT -- 字样消失,输入:wq
,回车执行,这时文件保存并返回。如图:
6. 添加到进程。
继续输入下面这条命令,回车执行:
vi /etc/supervisord.conf
之后按i
键进入编辑模式,putty黑框的左下角会出现 -- INSERT -- 字样,用方向键将光标移动到文件尾部空行处。然后一次性复制下面的内容,在putty里右键,此时复制的内容应该已经粘贴到了putty里了。
-
[program:shadowsocks]
-
command=ssserver -c /etc/shadowsocks.json
-
autostart= true
-
autorestart= true
-
user=root
-
log_stderr= true
-
logfile=/var/ log/shadowsocks. log
完成后,按ESC键
退出编辑模式,putty黑框的左下角 -- INSERT -- 字样消失,输入:wq
,回车执行,这时文件保存并返回。如图:
7. 设置开机启动。
继续输入下面这条命令,回车执行:
vi /etc/rc.local
之后按i
键进入编辑模式,putty黑框的左下角会出现 -- INSERT -- 字样,用方向键将光标移动到文件中部空行处。然后一次性复制下面的内容,在putty里右键,此时复制的内容应该已经粘贴到了putty里了。
service supervisord start
完成后,按ESC键
退出编辑模式,putty黑框的左下角 -- INSERT -- 字样消失,输入:wq
,回车执行,这时文件保存并返回。如图:
8. 重启服务器。
最后执行命令:
reboot
此时,你的VPS重新启动,服务端已经完全配置完毕,putty会弹出一个连接已断开的提示框,关闭即可(不是报错)。
三、客户端设置
shadowsocks的服务端已经部署完成。剩下的就是下载客户端安装到你的手机和电脑上,并将第五步设置的shadowsocks.json中设置的信息配置到客户端中。
下载地址
Android、Windows、MAC OS X安装包下载地址:
链接: http://pan.baidu.com/s/1c7XcRk 密码: 4caf
iPhone和iPad用户请到AppStore搜索 shadowrocket,需要付费6元,没找到免费的。
客户端配置示例
我以Windows客户端为例,说一下客户端的配置。
将下载的压缩包解压,双击.exe文件运行,如果没有弹窗,查看系统右下角工具栏纸飞机图标,右键图标——选择“服务器”——选择“编辑服务器”,打开如下界面:
服务器IP : 第一步获取到的ip
服务器端口 : 第二步第五小步设置的端口(port),比如:2333
密码 : 第二步第五小步设置的密码(password),比如:mima12345
加密 : 第二步第五小步设置的加密方式(method),默认为:aes-256-cfb
备注 不用填
代理端口 建议使用默认端口1080
配置完成,点击确定,然后在工具栏右键纸飞机图标,启动系统代理,现在打开 谷歌 看看墙外的世界。
至于其他菜单的功能,靠你自己摸索了。