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

Centos搭建ss5(socks5)代理服务器SOCKS5 代理是一种网络协议 它在客户端和服务器之间充当中介 允许数据包通过一个安全的隧道传输

大家好,欢迎来到IT知识分享网。

SOCKS5代理是一种网络协议,它在客户端和服务器之间充当中介,允许数据包通过一个安全的隧道传输。与前一代SOCKS4相比,SOCKS5支持更广泛的认证方法和更多的网络协议,包括IPv6和UDP。

SOCKS5代理的优势

• 增强的安全性:SOCKS5代理提供了一层额外的安全保护,使你的网络活动难以被追踪。

• 支持多种协议:SOCKS5代理支持各种网络协议,包括HTTP、FTP和SMTP,使其适用于多种网络应用。

• 减少错误和性能问题:由于SOCKS5代理不重新封装数据包,它能够减少错误率,提高传输效率。

#安装wget的命令 yum install wget #安装tar解压工具 yum install -y tar #安装make的命令 yum groupinstall "Development Tools" #安装vim的命令 yum install -y vim 
yum install -y gcc openldap-devel pam-devel openssl-devel 
wget http://jaist.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz 

如果下载后解压出错,先用浏览器下载好,,下载地址: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 
cd ss5-3.8.9/; ./configure; make; make install 
chmod a+x /etc/init.d/ss5 
systemctl start ss5 

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

systemctl stop ss5 
cp /etc/opt/ss5/ss5.conf /etc/opt/ss5/ss5.conf.bak 

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

 vim /etc/opt/ss5/ss5.conf 

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

 auth 0.0.0.0/0 - u 
permit u 0.0.0.0/0 - 0.0.0.0/0 - - - - - 
vim /etc/opt/ss5/ss5.passwd 

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

user001  user002  user003  
sysctl net.ipv4.ip_forward 

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

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

vim /etc/sysctl.conf 
sysctl -p 

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

sysctl net.ipv4.ip_forward 
useradd user001 -p ; useradd user002 -p ; useradd user003 -p ; 

查看用户的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) 
#配置用户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,然后再发送到外部网络。

systemctl stop ss5 

配置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

systemctl start ss5 

SS5的默认端口是1080.如果需要更改端口,请执行

vi /etc/sysconfig/ss5 

改为自己需要的端口,默认端口为1080

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

重启服务即可

systemctl restart ss5 

注意事项
如果出现以下错误

Can’t create pid file /var/run/ss5/ss5.pid Can’t unlink pid file /var/run/ss5/ss5.pid 
vim /etc/rc.d/rc.local mkdir -p /var/run/ss5 

保存退出后,增加文件的执行权限

chmod a+x /etc/rc.d/rc.local 

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

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

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

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

permit u - - 192.168.1.1 443 - - - - permit u - - 192.168.1.1 80 - - - - permit u - - 192.168.1.2 443 - - - - 

[具体的例子就是,如果某个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

auth 0.0.0.0/0 - u permit u 0.0.0.0/0 - 192.168.0.0/0 - group/users - - #设置用户只可以通过socks5代理访问内网 ss5.passwd 
user1 123 user2 123 user3 123 group/users 

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

user1 user2 user3 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122362.html

(0)
上一篇 2025-10-17 10:46
下一篇 2025-10-17 11:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信