帮助中心

这里有最新的使用文档和教程

< 返回

站群服务器 CentOS 搭建socks5多IP

2024-05-07 14:43 作者:31IDC 阅读量:1436 所属分类:Linux系统

准备工作

首先要保证服务上能正常使用wget   tar   make   vim,如果正常就直接进入【第一步】

 

#安装wget的命令

yum install wget

 

 

#安装tar解压工具

yum install -y tar

 

 

#安装make的命令

yum groupinstall "Development Tools"

 

 

#安装vim的命令

yum install -y vim

第一步

使用yum安装gcc、OpenLDAP开发库、PAM开发库和OpenSSL开发库

 

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

第二步

使用wget 下载SS5安装包

 

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

第三步

解压安装包

 

tar -vzx -f ss5-3.8.9-8.tar.gz

第四步

进入ss5目录安装ss5服务,依次执行一下命令,也可以全复制一起执行

 

cd ss5-3.8.9/

./configure

make

make install

 第五步

给/etc/init.d/ss5文件添加执行权限

 

chmod a+x /etc/init.d/ss5

第六步

测试一下ss5服务是否能正常运行,如果不能正常运行,就根据错误解决问题

 

service ss5 start

如果能正常运行了,就执行以下命令,先关闭ss5服务,以便接下来做其他配置

 

service ss5 stop

 第七步

 修改ss5配置文件,使用vim打开ss5的配置文件      提示:按 i 键开启编辑模式

 

vim /etc/opt/ss5/ss5.conf

 找到auth的配置,默认是注释了的,先放开注释(就是把首行的#去掉),然后把Authentication这列改为u,以下是修改后的截图

 

 

找到permit的配置,放开注释,把auth这列改为u,以下是修改后的截图

 

 

 最后保存配置  提示:按Esc退出编辑模式,:wq  保存并且退出 

 

第八步

修改ss5的用户配置文件

 

vim /etc/opt/ss5/ss5.passwd

打开后是空文件,在这里面添加自己的代理账号和密码,格式:账号+英文空格+密码,以下是例子,自己配置自己的账号

 

user001 123456

user002 123456

user003 123456

 记得保存配置

 

然后再走一次【第六步】测试一下是否能正常运行

 

第九步

查看系统是否开启了IP转发功能

 

sysctl net.ipv4.ip_forward

net.ipv4.ip_forward = 0 就是未开启    net.ipv4.ip_forward = 1  就是已经开启了

 

接下来开启系统的IP转发功能功能,打开系统配置文件

 

vim /etc/sysctl.conf

找到一行类似于net.ipv4.ip_forward=0的配置项。如果没有找到该配置项,可以在文件的末尾添加一行net.ipv4.ip_forward=1,如下

 

 

使新的配置生效

 

sysctl -p

检查是否已经成功设置为1

 

sysctl net.ipv4.ip_forward

第十步

把刚才配置的账号密码添加到系统用户,就是ss5.passwd里的账号,如果要批量添加,每一行命令要加分号

 

useradd user001 -p 123456;

useradd user002 -p 123456;

useradd user003 -p 123456;

查看用户的uid

 

id user001;

id user002;

id user003;

会给你显示以下内容,这里的1000、1001、1002就是用户的uid,【第十一步】会用到这个uid

 

uid=1000(user001) gid=1000(user001) groups=1000(user001)

 

uid=1001(user002) gid=1001(user002) groups=1001(user002)

 

uid=1002(user003) gid=1002(user003) groups=1002(user003)

第十一步

配置iptables规则,限制用户的出口IP,这里是根据用户的uid去限制的,比如user001用户的uid是1000,配置user001用户的出口IP就是172.17.22.1,以下是示例,根据自己情况修改uid和出口IP

 

#配置用户user001

iptables -t mangle -A OUTPUT -m owner --uid-owner 1000 -j MARK --set-mark 1000;

iptables -t nat -A POSTROUTING -m mark --mark 1000 -j SNAT --to-source 172.17.22.1;

 

#配置用户user002

iptables -t mangle -A OUTPUT -m owner --uid-owner 1001 -j MARK --set-mark 1001;

iptables -t nat -A POSTROUTING -m mark --mark 1001 -j SNAT --to-source 172.17.22.2;

 

#配置用户user003

iptables -t mangle -A OUTPUT -m owner --uid-owner 1002 -j MARK --set-mark 1002;

iptables -t nat -A POSTROUTING -m mark --mark 1002 -j SNAT --to-source 172.17.22.3;

第一行命令的作用是,当属主为uid 1000的用户发出数据包时,会给这些数据包打上标记为1000的标志

 

第二条命令的作用是,当数据包被标记为1000时,会将这些数据包的源地址转换为172.17.22.1,然后再发送到外部网络。

 

第十二步 

确保ss5的服务是关闭的状态

 

service ss5 stop

配置ss5用户的出口IP,这里是根据用户名去限制的,注意用户名对应的IP对应iptables里uid配置的IP

 

ss5 -u user001 -b 172.17.22.1;

ss5 -u user002 -b 172.17.22.2;

ss5 -u user003 -b 172.17.22.3;

 配置完成后重新启动ss5

 

service ss5 start

至此恭喜你,完成了所有配置!你可以用代理浏览器或者QQ测试代理是否正常!

本文章转自网络

31IDC - 12 年深耕海外 IDC 高端资源