一月 11
如果你只是要搞个自己玩的socks服务器,ss5的配置还是相对简单的:简单到甚至完全不修改配置,直接一个service ss5 start,你就得到了一个可以用的socks服务器。
只是如果你敢把这样不经过配置的socks服务器挂到网络上的话,估计不出2个小时,就会有一票的人扫描到你的socks服务。考虑到socks服务可以直接代理外网的用户到内部网络的访问,这可不仅仅是被占用带宽的问题,直接的,你的网络就门洞大开了,安全有问题、后果很严重。
那么,先总结一下我的需求吧:
- 所有登陆到Ss5服务的用户需要通过身份验证
- 一部分用户允许其通过Ss5访问的资源不受限制
- 另外一部分的合法用户用户限制每用户可使用的带宽
这个要求应该算是普遍的要求了,那么,根据这部分需求,我们来修改一下ss5的配置,按照之前文章编译出来的Ss5的rpm安装之后,Ss5的配置文件主要都放在/etc/opt/ss5目录底下,我们这个简单配置只需要修改这个目录之下的相关文件即可。
- 所有登陆到Ss5服务的用户需要通过身份验证:
- 因为socks v4协议不支持用户认证,所以,首先我们得取消ss5的Socks v4协议支持。Ss5目前还不支持在配置文件内直接取消对Socks V4协议的支持,所以我们只好直接把Ss5的Socks V4模块干掉,这样,Ss5服务启动之后就只有支持Socks V5协议了:
- mv /usr/lib/ss5/mod_socks4.so /usr/lib/ss5/mod_socks4.so.bk
- 配置Ss5服务要求连接用户必须通过身份验证:
修改/etc/opt/ss5/ss5.conf,把其中的- auth 0.0.0.0/0 - -
修改为
- auth 0.0.0.0/0 - u
- 创建用户(这里只讲解基本的用户管理):
修改/etc/opt/ss5/ss5.passwd,增添用户及明文密码,每行一个用户,格式如下:- 用户名 密码
- 创建用户分组,以方便给不同的用户分配不同的访问权限:
在/etc/opt/ss5目录中创建以用户分组名命名的文件,然后在相应的组用户文件中添加相应的用户。
以我的需求来说,我需要创建两组用户:- 不受限制用户组:ulimit
- 受限制用户组:limit
那么我就在/etc/opt/ss5目录里面创建ulimit和limit这两个文件,然后在这两个文件中分别填入/etc/opt/ss5/ss5.passwd中已添加的用户,格式依旧是每行一个用户(不需要填写用户密码)。请注意!/etc/opt/ss5目录下的这些文件必须能被Ss5服务的执行用户有读取权限(Ss5服务的默认执行用户是nobody)。
- 因为socks v4协议不支持用户认证,所以,首先我们得取消ss5的Socks v4协议支持。Ss5目前还不支持在配置文件内直接取消对Socks V4协议的支持,所以我们只好直接把Ss5的Socks V4模块干掉,这样,Ss5服务启动之后就只有支持Socks V5协议了:
- 设置不同用户组的访问控制:
修改/etc/opt/ss5/ss5.conf,除掉这行:- permit - 0.0.0.0/0 - 0.0.0.0/0 - - - - -
添加:
- permit u 0.0.0.0/0 - 0.0.0.0/0 - - ulimit - -
- permit u 0.0.0.0/0 - 0.0.0.0/0 - - limit 64000 -