Centos搭建ss5(socks5)代理服务器

发布时间:2023-01-12 17:10:35 作者:yexindonglai@163.com 阅读(3582)

1、安装ss5

安装依赖

  1. yum -y install gcc openldap-devel pam-devel openssl-devel

创建好一个目录,进入该目录后,wget下载好ss5安装文件

  1. wget http://jaist.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz

解压刚刚下载好的文件

  1. tar zxvf ss5-3.8.9-8.tar.gz

进入目录后进行编译。依次运行以下三个命令。

  1. cd ss5-3.8.9
  2. ./configure
  3. make && make install

2、修改配置文件

先进行备份

  1. cp /etc/opt/ss5/ss5.conf /etc/opt/ss5/ss5.conf.bak

修改配置

  1. vi /etc/opt/ss5/ss5.conf

这里需要注意:必须把配置文件/etc/opt/ss5/ss5.conf备份后清空,否则会报错socks method unknown or bad request
清空后ss5.conf只写两行:

  1. auth 0.0.0.0/0 - u
  2. permit u 0.0.0.0/0 - 0.0.0.0/0 - - - - -

2.1、配置说明-auth

auth为认证配置,可以设置多行

  1. # auth配置 SHost SPort Authentication
  2. #[auth配置 来源IP 来源端口 模式]
  3. auth 0.0.0.0/0 - -
①SHost

设置监听ip,0.0.0.0/0为监听所有请求

②SPort

设置监听端口,端口如果不需要设置的话,用”-“标识,表示监听所有端口

③Authentication

模式设置,取值为n或u:

  • n:为不使用用户密码[不推荐,因为机器很容易就变成肉鸡了],
  • u:为使用用户密码,用户密码需要在ss5.passwd里面配置 [下文讲]

2.2、配置说明-permit

permit为允许(授权)设置项,可以设置多行

  1. #permit设置 auth SHost SPort DHost Dport Fixup Group Band ExpDate
  2. [permit设置 认证模式 来源IP 来源端口 目的IP(域名) 目的端口 协议 用户组 带宽设置 过期时间]
①auth

认证模式开关,开启用u标识,如果关闭认证模式可以用-标识

②SHost和Sport

SHost和Sport和auth一栏一样,设置来源的端口;DHost和Dport设置通过socks5代理后可以访问的ip(域名)和端口,每个permit设置一个ip(域名)或端口

如果要使用不同的端口,而ip也可以添加网段

  1. permit u - - 192.168.1.1 443 - - - -
  2. permit u - - 192.168.1.1 80 - - - -
  3. permit u - - 192.168.1.2 443 - - - -
③Fixup

设置smtp,http等允许的协议;

④Group

设置允许的用户或用户组,需要配合ss5.passwd使用,ss5.passwd是储存用户认证的文件,(格式为用户名 用户密码,中间要有空格,然后一行设置一个用户);在v1.0r11版本中,多个用户可以使用逗号隔开,但是经过个人测试,在新版本的socks5中不允许这样填写配置,这也是设置失败的主要原因,在新版本中如果要允许多个用户就要先定义好用户组,在ss5.conf所在的目录下建立group文件夹,在文件夹下添加对应的组员信息文件,但这个组员必须存在于ss5.passwd中[group文件夹不是必须,也可以直接将组员信息文件放在ss5.conf同级目录下,不过当设置组多到一定程度时,存放位置和规范就比较重要了]

[具体的例子就是,如果某个permit需要允许user1,user2,user3访问,那么首先要在ss5.passwd中配置好3个user,然后建立文件users,分别每一行填写一个用户名;比如某个permit设置为:permit u 0.0.0.0/0 - 0.0.0.0/0 - - group/users - -,即表示为允许group/users文件中用户直接通过代理访问网络,对应文件内容如下]

ss5.conf

  1. auth 0.0.0.0/0 - u
  2. permit u 0.0.0.0/0 - 192.168.0.0/0 - group/users - - #设置用户只可以通过socks5代理访问内网

ss5.passwd

  1. user1 123
  2. user2 123
  3. user3 123

group/users

先创建 grouo 目录,在创建 users 文件

  1. user1
  2. user2
  3. user3
⑤Band

带宽设置,以byte做单位,最低可以设置256(最高没试过,不设置就好了),设置1Mb就是10240;

⑥ExpDate

过期时间,格式为日-月-年:01-05-2017

3、添加用户密码

/etc/opt/ss5/ss5.passwd文件中可以添加用户名和密码,

  1. vim /etc/opt/ss5/ss5.passwd

每行写一个用户名和密码,用户名和密码用空格隔开,例如:

  1. username password

4、修改ss5端口

修改端口配置文件

  1. vi /etc/sysconfig/ss5

第2行取消注释,同时修改为自己需要的端口,默认端口为1080

  1. SS5_OPTS=" -u root -b 0.0.0.0:9988"

5、调整ss5性能

这里依据实际需求调整,主要在修改系统资源配置,如果ss5不影响正常使用或使用人数较少可以不修改

  1. ulimit -SHn 10240
  2. ulimit -SHs unlimited
  3. echo 100000 >/proc/sys/net/nf_conntrack_max

6、修改ss5启动权限

修改执行权限

  1. chmod u+x /etc/rc.d/init.d/ss5
  2. chmod +x /etc/init.d/ss5

7、开机自启

  1. chkconfig --add ss5

8、重启应用

  1. service ss5 start #启动
  2. service ss5 stop #停止
  3. service ss5 restart #重启

9、查看ss5日志

  1. tail -f /var/log/ss5/ss5.log

微信设置代理

先打开微信, 点击右上角的齿轮(设置按钮)

然后开启代理,输入代理服务器的ip、端口、账号密码就可以了

关键字linux