日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

站群服务器用SS5 SOCKS5 配置多IP/多端口高性能代理服务器(16G内存主机支持超过100万并发S5代理)

發(fā)布時間:2023/12/16 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 站群服务器用SS5 SOCKS5 配置多IP/多端口高性能代理服务器(16G内存主机支持超过100万并发S5代理) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

SS5 是高性能的 SOCKS 代理服務(wù)器,支持 SOCK4 和 SOCKS5 協(xié)議。下面的安裝指南詳細(xì)描述了如何在 CentOS 6.x服務(wù)器上安裝和配置SS5,運行多個 ss5 進程來綁定不同端口到多個IP地址 ,以及設(shè)置用戶名/密碼認(rèn)證的方法。本文以1個C段地址(192.168.5.0/24)為例,演示如何在CentOS上面架設(shè)多IP Socket5代理服務(wù)器,debian系統(tǒng)配置方式也類似,在此不在重復(fù),另外,本文檔不是很適合Linux初學(xué)者閱讀,初學(xué)者如有問題,可以給我留言!

1. 最小化安裝CentOS6版本,然后安裝ss5編譯必須的組件
yum install wget vim automake make gcc openldap-devel pam-devel openssl-devel

?

2. 從 sourceforge.net 下載最新的SS5源碼,然后編譯源碼,完成ss5安裝
wget http://jaist.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz
tar vzxf? ss5-3.8.9-8.tar.gz?
cd ss5-3.8.9
./configure?
make?
make install
如果編譯有錯誤,請自己檢查第一步,是否少安裝了某些依賴包,或者自己查看編譯錯誤日志,自行補齊相關(guān)頭文件

?

3. 給centos配置多IP地址(192.168.5.2-253)
[root@test ~]# cat ip.sh???
#!/bin/bash???

for((i=2;i<=254;i++));do /sbin/ip address add 192.168.5.$i/24 dev eth1;done
[root@test ~]# ./ip.sh
配置結(jié)果可以通過ip addr命令查看,正確結(jié)果如下:
??? eth1: <BROADCAST,MULTICAST> 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地址分布創(chuàng)建用戶,253個IP 對應(yīng)253個用戶
[root@test ~]# cat user.sh
#!/bin/bash
for ((i=2, j=1002; i <= 254 ; i++, j=j+1))
do
??????? /usr/sbin/useradd socks$j -u $j -M -s /dev/null
done
[root@test ~]#
[root@test ~]# ./user.sh
配置結(jié)果可以通過cat /etc/passwd查看,正確結(jié)果如下:
[root@test ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
………………………………….
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
socks1002:x:1002:1002::/home/socks1002:/dev/null
socks1003:x:1003:1003::/home/socks1003:/dev/null
…………………………………………………………
socks1253:x:1253:1253::/home/socks1253:/dev/null
socks1254:x:1254:1254::/home/socks1254:/dev/null
[root@test ~]#

?

5. 配置iptables的mangle鏈及POSTROUTING鏈,把用戶、UID和IP進行關(guān)聯(lián),確保最后每個IP都獨立對外提供代理服務(wù)
[root@test ~]# cat nat-mangle.sh
#!/bin/bash
iptables -t mangle -F OUTPUT
for ((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 $j
done
[root@test ~]# ./nat-mangle.sh
以上配置實現(xiàn)了用戶和uid的關(guān)聯(lián),配置結(jié)果可以通過iptables -nvL -t mangle查看,正確結(jié)果如下:
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 0x3eb?
??? …………………………………………………………………………………………………………………………….?
??? 0???? 0 MARK?????? all? --? *????? *?????? 0.0.0.0/0??????????? 0.0.0.0/0?????????? owner UID match 1253 MARK set 0x4e5
??? 0???? 0 MARK?????? all? --? *????? *?????? 0.0.0.0/0??????????? 0.0.0.0/0?????????? owner UID match 1254 MARK set 0x4e6

Chain POSTROUTING (policy ACCEPT 1418 packets, 286K bytes)
pkts bytes target???? prot opt in???? out???? source?????????????? destination????????
[root@test ~]#


以下配置實現(xiàn)了uid和IP的關(guān)聯(lián),從而最終實現(xiàn)了用戶和IP的關(guān)聯(lián)?
[root@test ~]# cat snat.sh
#!/bin/bash
iptables -t nat -F POSTROUTING

for ((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.$i
done
[root@test ~]#./snat.sh
配置結(jié)果可以通過iptables -nvL -t nat查看,正確結(jié)果如下:
[root@test ~]# iptables -nvL -t nat
Chain PREROUTING (policy ACCEPT 551 packets, 95022 bytes)
pkts bytes target???? prot opt in???? out???? source?????????????? destination????????

Chain 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.254

Chain OUTPUT (policy ACCEPT 19 packets, 1252 bytes)
pkts bytes target???? prot opt in???? out???? source?????????????? destination????????
[root@test ~]#

?

6. 配置socket5代理的認(rèn)證方式及認(rèn)證密碼(非匿名方式,匿名方式請自行修改配置文件)?
[root@test ~]# cat /etc/opt/ss5/ss5.conf??
auth???????????? 0.0.0.0/0?????? -?????? u
permit -??????? 0.0.0.0/0?????? -?????? 0.0.0.0/0?????? -?????? -?????? -?????? -?????? -
[root@test ~]#
以上配置結(jié)果為允許所有非匿名用戶使用ss5代理,其它配置請自行研讀ss5.conf配置說明

?
[root@test ~]# cat /etc/opt/ss5/ss5.passwd
test test
[root@test ~]#
以上配置結(jié)果為允許用戶名test,密碼test的用戶使用ss5代理

?

7. 啟動/重啟ss5代理并修改端口為5555, 把IP和用戶進行關(guān)聯(lián)(默認(rèn)端口 1080)
[root@test ~]# cat ss5.sh
#!/bin/bash
killall -9 ss5
for ((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$j
done
[root@test ~]#./ss5.sh
啟動結(jié)果可以通過ps –ef | grep ss5查看,正確結(jié)果如下:?
[root@test ~]# ps -ef | grep ss5
1002????? 6602???? 1? 0 18:06 ???????? 00:00:00 /usr/sbin/ss5 -t -m -b 192.168.5.2:5555 -u socks1002
1003????? 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 socks1253
1254????? 7359???? 1? 0 18:06 ???????? 00:00:00 /usr/sbin/ss5 -t -m -b 192.168.5.254:5555 -u socks1254
root????? 7466? 6564? 0 18:09 pts/1??? 00:00:00 grep ss5
[root@test ~]#

8. 放開CentOS防火墻的5555端口?
執(zhí)行命名“iptables -I INPUT 1 -m state --state NEW -m tcp -p tcp --dport 5555 -j ACCEP”T即可放開防火墻的5555端口,然后將以上命令加入/etc/rc.d/rc.local即可實現(xiàn)開機自動運行
注意千萬不能執(zhí)行命令services? iptables restart命令,會覆蓋nat-mangle.sh腳本的執(zhí)行結(jié)果!

?

9. 調(diào)整內(nèi)核參數(shù),優(yōu)化性能,以實現(xiàn)4G內(nèi)存的vps跑10萬個socket5代理連接?????
ulimit -SHn 10240
ulimit -SHs unlimited
echo?500000 >/proc/sys/net/nf_conntrack_max

10. 結(jié)束語

至此,一臺高性能多IP的Sockt5代理服務(wù)器已配置完畢,如果想要不同IP地址綁定不同端口,請自行修改配置腳本即可,另外,請自行將各個配置腳本加入到啟動腳本里面,實現(xiàn)重啟后也能保持狀態(tài)!由于本配置攻略不是為初學(xué)者準(zhǔn)備的,配置過程中如有問題,請聯(lián)系博主!

?

11.2015年圣誕再補充

通過以上方式配置的代理服務(wù)器的極限連接數(shù)是15萬,如果需要50-100萬并發(fā)連接數(shù)的S5代理需求請聯(lián)系博主,新方式采用docker技術(shù)實現(xiàn),在16G內(nèi)存的配置上能達到單臺70萬并發(fā),需要配置低,更高代理并發(fā)連接數(shù)(35w+)及對代理穩(wěn)定性要求非常高等特殊需求的話,請私信給我即可。

?

12.2017年1月再補充

實現(xiàn)了動態(tài)多IP代理,支持ADSL多撥,服務(wù)器直接撥號,跳過ROS軟路由,大大提升多撥效率!實現(xiàn)了代理轉(zhuǎn)發(fā),支持白名單代理再次轉(zhuǎn)發(fā),有特殊需求的可以聯(lián)系我!



總結(jié)

以上是生活随笔為你收集整理的站群服务器用SS5 SOCKS5 配置多IP/多端口高性能代理服务器(16G内存主机支持超过100万并发S5代理)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。