多ip服务器搭建sock5(腾讯云搭建socks5多ip)
最小化安装CentOS7版本,然后安装ss5编译必须的组yum install wget vim automake make gcc openldap-devel pam-devel openssl-devel从 sourceforge.net 下载最新的SS5源码,然后编译源码,完成ss5安装wget vzxf ss5-3.8.9-8.tar.gzcd ss5-3.8.9./configuremakemake install如果编译有错误,请自己检查第一步,是否少安装了某些依赖包,或者自己查看编译错误日志,自行补齐相关头文件3. 给centos配置多IP地址(192.168.5.2-253)[root@test ]# cat ip.sh#!/bin/bashfor((i=2;i<=254;i++));do /sbin/ip address add 192.168.5.$i/24 dev eth1;done[root@test ]# ./ip.sh配置结果可以通过ip addr命令查看,正确结果如下: eth1: mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 00:0c:29:d9:b1:ad brd ff:ff:ff:ff:ff:ff inet 192.168.5.2/24 scope global eth1 inet 192.168.5.3/24 scope global secondary eth1 inet 192.168.5.4/24 scope global secondary eth1 ……………………………………………………….. inet 192.168.5.253/24 scope global secondary eth1 inet 192.168.5.254/24 scope global secondary eth1[root@test ]#4. 按照IP地址分布创建用户,253个IP 对应253个用户[root@test ]# cat user.sh#!/bin/bashfor ((i=2, j=1002; i <= 254 ; i++, j=j+1))do /usr/sbin/useradd socks$j -u $j -M -s /dev/nulldone[root@test ]#[root@test ]# ./user.sh配置结果可以通过cat /etc/passwd查看,正确结果如下:[root@test ]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bash…………………………………sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologinsocks1002:x:1002:1002::/home/socks1002:/dev/nullsocks1003:x:1003:1003::/home/socks1003:/dev/null…………………………………………………………socks1253:x:1253:1253::/home/socks1253:/dev/nullsocks1254:x:1254:1254::/home/socks1254:/dev/null[root@test ]#5. 配置iptables的mangle链及POSTROUTING链,把用户、UID和IP进行关联,确保最后每个IP都独立对外提供代理服务[root@test ]# cat nat-mangle.sh#!/bin/bashiptables -t mangle -F OUTPUTfor ((i=2, j=1002; i <= 254 ; i++, j=j+1))do iptables -t mangle -A OUTPUT -m owner --uid-owner $j -j MARK --set-mark $jdone[root@test ]# ./nat-mangle.sh以上配置实现了用户和uid的关联,配置结果可以通过iptables -nvL -t mangle查看,正确结果如下:Chain OUTPUT (policy ACCEPT 1418 packets, 286K bytes)pkts bytes target prot opt in out source destination 0 0 MARK all -- * * 0.0.0.0/0 0.0.0.0/0 owner UID match 1002 MARK set 0x3ea 0 0 MARK all -- * * 0.0.0.0/0 0.0.0.0/0 owner UID match 1003 MARK set 0x3ebChain POSTROUTING (policy ACCEPT 1418 packets, 286K bytes)pkts bytes target prot opt in out source destination[root@test ]#以下配置实现了uid和IP的关联,从而最终实现了用户和IP的关联[root@test ]# cat snat.sh#!/bin/bashiptables -t nat -F POSTROUTINGfor ((i=2, j=1002; i <= 254 ; i++, j=j+1))do iptables -t nat -A POSTROUTING -m mark --mark $j -j SNAT --to 192.168.5.$idone[root@test ]#./snat.sh配置结果可以通过iptables -nvL -t nat查看,正确结果如下:[root@test ]# iptables -nvL -t natChain PREROUTING (policy ACCEPT 551 packets, 95022 bytes)pkts bytes target prot opt in out source destinationChain POSTROUTING (policy ACCEPT 2 packets, 142 bytes)pkts bytes target prot opt in out source destination 17 1110 SNAT all -- * * 0.0.0.0/0 0.0.0.0/0 mark match 0x3ea to:192.168.5.2 0 0 SNAT all -- * * 0.0.0.0/0 0.0.0.0/0 mark match 0x3eb to:192.168.5.3…………………………………………………………………………………………………………………………. 0 0 SNAT all -- * * 0.0.0.0/0 0.0.0.0/0 mark match 0x4e5 to:192.168.5.253 0 0 SNAT all -- * * 0.0.0.0/0 0.0.0.0/0 mark match 0x4e6 to:192.168.5.254Chain OUTPUT (policy ACCEPT 19 packets, 1252 bytes)pkts bytes target prot opt in out source destination[root@test ]#6. 配置socket5代理的认证方式及认证密码(非匿名方式,匿名方式请自行修改配置文件)[root@test ]# cat /etc/opt/ss5/ss5.confauth 0.0.0.0/0 - upermit - 0.0.0.0/0 - 0.0.0.0/0 - - - - -[root@test ]#以上配置结果为允许所有非匿名用户使用ss5代理,其它配置请自行研读ss5.conf配置说明[root@test ]# cat /etc/opt/ss5/ss5.passwdtest test[root@test ]#以上配置结果为允许用户名test,密码test的用户使用ss5代理7. 启动/重启ss5代理并修改端口为5555, 把IP和用户进行关联(默认端口 1080)[root@test ]# cat ss5.sh#!/bin/bashkillall -9 ss5for ((i=2, j=1002; i <= 254 ; i++, j=j+1))do /usr/sbin/ss5 -t -m -b 192.168.5.$i:5555 -u socks$j# /usr/sbin/ss5 -t -b 192.168.5.$i:5555 -u socks$jdone[root@test ]#./ss5.sh启动结果可以通过ps –ef | grep ss5查看,正确结果如下:[root@test ]# ps -ef | grep ss51002 6602 1 0 18:06 ? 00:00:00 /usr/sbin/ss5 -t -m -b 192.168.5.2:5555 -u socks10021003 6605 1 0 18:06 ? 00:00:00 /usr/sbin/ss5 -t -m -b 192.168.5.3:5555 -u socks1003…………………………………………………………………………………………………………………1253 7357 1 0 18:06 ? 00:00:00 /usr/sbin/ss5 -t -m -b 192.168.5.253:5555 -u socks12531254 7359 1 0 18:06 ? 00:00:00 /usr/sbin/ss5 -t -m -b 192.168.5.254:5555 -u socks1254root 7466 6564 0 18:09 pts/1 00:00:00 grep ss5[root@test ~]#8. 放开CentOS防火墙的5555端口执行命名“iptables -I INPUT 1 -m state --state NEW -m tcp -p tcp --dport 5555 -j ACCEP”T即可放开防火墙的5555端口,然后将以上命令加入/etc/rc.d/rc.local即可实现开机自动运行注意千万不能执行命令services iptables restart命令,会覆盖nat-mangle.sh脚本的执行结果!9. 调整内核参数,优化性能,以实现4G内存的vps跑10万个socket5代理连接ulimit -SHn 10240ulimit -SHs unlimitedecho 500000 >/proc/sys/net/nf_conntrack_max10.至此,一台高性能多IP的Sockt5代理服务器已配置完毕,如果想要不同IP地址绑定不同端口,请自行修改配置脚本即可,另外,请自行将各个配置脚本加入到启动脚本里面,实现重启后也能保持状态!由于本配置攻略不是为初学者准备的,配置过程中如有问题,请联系我!可以成功启动后,简单修改下配置文件,使其需要进行身份验证。如果提示vim不存在则可以使用vi编辑器,或使用“yum install -y vim”安装后再执行。找到对应行将“#”删除,同时在“auth”一行末尾Authentication列将“-”修改为“u”,“permit”一行中的Auth列修改“-”为“u”。修改完毕后保存。修改完配置文件后先不要急着重启,我们去添加一下ss5的用户配置文件。我这里因为有两个IP所以配置了两个账号,每一行配置一个用户,格式:用户+空格+密码
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~