我们之前介绍过,不建议多用户、多设备同时连接一台ShadowsocksR服务器,这样可能会增加服务器IP被屏蔽的风险。话虽如此,肯定还是有朋友会有这样的需求,比如将SSR账号小范围分享给家人或朋友。这种情况下,就有必要为SSR设置一定的限制了,避免滥用问题。
SSR为什么会被滥用
说起滥用,我们有必要了解为什么SSR会被滥用:
- 默认情况下,SSR的单个帐号,可以分别在64台不同的设备同时登录,即一个账号对应64个连接。
- SSR默认并没有限速规则,理论上,每个连接的用户都有机会占据最大带宽。
由此导致人多滥用,途径:
A将密码告诉朋友B,说别告诉别人;B将密码告诉C,也说别告诉别人。。。。。。如此这般,不久所有人就都知道密码了。
而随着用户的增多,势必会出现抢占带宽的情况,拥堵由此产生。
解决办法
了解了SSR账号被滥用的原因,就可以针对性的进行限制了。
1.限制SSR单个账号的同时连接数。
2.限制SSR单个连接的速度。
下面分别介绍。
实现前提
本文所述在以下teddysun的SSR一键安装脚本基础上实现,较老版本可能不支持。
SSR一键安装脚本 (ShadowsocksR一键安装教程)
另外SSR的限流限速,需要相关协议的支持,即安装SSR服务器端时选择的协议(protocol)。
如下图所示,建议选择auth_aes128_md5开始往下的几种,最好是auth_chain开头的几个,效果更好。
如何限制SSR连接数量
我们只需将单个账号的同时连接数量,限制在一个较小的范围内,比如6,这样即便这个账号被100人拥有,也只能同时登录6个人。
1.用Winscp登录VPS服务器,打开ShadowsocksR的配置文件 config.json,该文件路径在/etc/shadowsocks-r/config.json。
2.找到如下参数行,双引号中间填入合适的数字,该数字即代表限制连接数。
1
2
3
4
|
"protocol_param":"",
更改后:
"protocol_param":"6",
|
3.修改完成后保存,打开Putty运行以下命令重启SSR,使设置生效:
1
|
/etc/init.d/shadowsocks-r restart
|
如何限制SSR连接速度
1.用Winscp登录SSR服务器,打开SSR的配置文件config.json,该文件路径在/etc/shadowsocks-r/config.json。
2.在配置文件中的大括号中,添加以下两行参数,将后面的数字改为适合自己的。
1
2
|
"speed_limit_per_con": 512,
"speed_limit_per_user": 1024,
|
其中:
- “speed_limit_per_con”: 512,代表每个连接限速512KB。
- “speed_limit_per_user”: 1024,代表每个端口限速1MB。
为什么有两条限速规则:
因为1个端口对应一个SSR账号,前文说了,一个账号可以在多台设备上同时登录,就是可以有多个连接数。
简单一句话,端口与连接是一对多的关系,所以要分别限制。
3.修改完成后保存,然后重启SSR使设置生效。