準(zhǔn)備工作
首先要保證服務(wù)上能正常使用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開發(fā)庫、PAM開發(fā)庫和OpenSSL開發(fā)庫
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服務(wù),依次執(zhí)行一下命令,也可以全復(fù)制一起執(zhí)行
cd ss5-3.8.9/
./configure
make
make install
第五步
給/etc/init.d/ss5文件添加執(zhí)行權(quán)限
chmod a+x /etc/init.d/ss5
第六步
測試一下ss5服務(wù)是否能正常運行,如果不能正常運行,就根據(jù)錯誤解決問題
service ss5 start
如果能正常運行了,就執(zhí)行以下命令,先關(guān)閉ss5服務(wù),以便接下來做其他配置
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
記得保存配置
然后再走一次【第六步】測試一下是否能正常運行
第九步
查看系統(tǒng)是否開啟了IP轉(zhuǎn)發(fā)功能
sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0 就是未開啟 net.ipv4.ip_forward = 1 就是已經(jīng)開啟了
接下來開啟系統(tǒng)的IP轉(zhuǎn)發(fā)功能功能,打開系統(tǒng)配置文件
vim /etc/sysctl.conf
找到一行類似于net.ipv4.ip_forward=0的配置項。如果沒有找到該配置項,可以在文件的末尾添加一行net.ipv4.ip_forward=1,如下
使新的配置生效
sysctl -p
檢查是否已經(jīng)成功設(shè)置為1
sysctl net.ipv4.ip_forward
第十步
把剛才配置的賬號密碼添加到系統(tǒng)用戶,就是ss5.passwd里的賬號,如果要批量添加,每一行命令要加分號
useradd user001 -p 123456;
useradd user002 -p 123456;
useradd user003 -p 123456;
查看用戶的uid
id user001;
id user002;
id user003;
會給你顯示以下內(nèi)容,這里的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規(guī)則,限制用戶的出口IP,這里是根據(jù)用戶的uid去限制的,比如user001用戶的uid是1000,配置user001用戶的出口IP就是172.17.22.1,以下是示例,根據(jù)自己情況修改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;
第一行命令的作用是,當(dāng)屬主為uid 1000的用戶發(fā)出數(shù)據(jù)包時,會給這些數(shù)據(jù)包打上標(biāo)記為1000的標(biāo)志
第二條命令的作用是,當(dāng)數(shù)據(jù)包被標(biāo)記為1000時,會將這些數(shù)據(jù)包的源地址轉(zhuǎn)換為172.17.22.1,然后再發(fā)送到外部網(wǎng)絡(luò)。
第十二步
確保ss5的服務(wù)是關(guān)閉的狀態(tài)
service ss5 stop
配置ss5用戶的出口IP,這里是根據(jù)用戶名去限制的,注意用戶名對應(yīng)的IP對應(yīng)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測試代理是否正常!