系統城裝機大師 - 唯一官網:www.farandoo.com!

當前位置:首頁 > 系統教程 > Linux教程 > 詳細頁面

CentOS7 多IP搭建SOCKS5代理服務器

時間:2020-10-29來源:www.farandoo.com作者:電腦系統城

SOCKS5 是一個代理協議,它在使用TCP/IP協議通訊的前端機器和服務器機器之間扮演一個中介角色,使得內部網中的前端機器變得能夠訪問Internet網中的服務器,也可隱藏用戶的IP地址。前一陣子有朋友自己在搭建socks5服務器時因為多IP所以配置都是失敗的,今天有空試了一下留個記錄。原理我不多贅述了,這里就簡單介紹一下如果搭建使用。

  這里的多IP的是基于iptables中設置對應用戶出口來實現的。

 

服務器環境

  服務器使用的是騰訊云服務器,安裝了 CentOS7.6 的版本,配置了雙IP(見下圖),關于配置多IP過程這里不說明了,我這里將兩個IP綁定在了同一個網卡上,主IP綁定在eth0網卡上,輔助IP綁定在了虛擬網卡eth0:1上。在配置好IP后測試一下這些IP是否都是可用(都是通的),同時安全組開放1080端口。

網卡信息

 

安裝SS5

  安裝ss5需要部分依賴等,我這里把bash列出來了,切換到root身份后直接復制粘貼進去即可。

復制代碼
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
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
復制代碼

 

  安裝完畢后,可以正常啟動,如果發現無法啟動或報錯請根據日志解決。

service ss5 restart

 

  可以成功啟動后,簡單修改下配置文件,使其需要進行身份驗證。如果提示vim不存在則可以使用vi編輯器,或使用“yum install -y vim”安裝后再執行。

vim /etc/opt/ss5/ss5.conf

 

  根據下圖修改,找到對應行將“#”刪除,同時在“auth”一行末尾Authentication列將“-”修改為“u”,“permit”一行中的Auth列修改“-”為“u”。修改完畢后保存。

   

 

  修改完配置文件后先不要急著重啟,我們去添加一下ss5的用戶配置文件。我這里因為有兩個IP所以配置了兩個賬號,每一行配置一個用戶,格式:用戶+空格+密碼。

vim /etc/opt/ss5/ss5.passwd

  設置完畢后,嘗試重啟一下ss5服務。

service ss5 restart

 

  這里提示了“OK”,那么ss5服務的配置基本上是正確了,這里我使用了QQ自帶的網絡測試,測試了一下兩個IP都是通的,如果這里測試沒有問題,那么ss5的配置就可以告一段落了,如果提示“無法連接到代理服務器”則表示配置還是有問題,可以嘗試重啟ss5服務,檢查防火墻是否攔截,selinux攔截,安全組未開放1080端口等情況。

 

 配置iptables

  配置完ss5服務后如果使用不同的IP,代理后結果還是顯示主IP,這里需要根據用戶去限制出口IP。首先添加用戶,這里的用戶和“/etc/opt/ss5/ss5.passwd”中添加的用戶需要對應。添加完后查看用戶對應的uid,下一步需要用到。

useradd tom1 -p tom
useradd tom2 -p tom
id tom1
id tom2

 

  可以看到用戶的uid分別是1000和1002,然后我們對限制添加到iptables中。其中我標記紅色的地方為對應的用戶id,標注黃色底色的IP即為需要對應的出口IP。騰訊云中綁定的內網IP出去即為對應的公網IP,網卡中綁定的是騰訊云的內網IP,所以這里綁定了對應的內網IP(對應IP見第一張圖),如果使用“ifconfig”查看到網卡綁定為公網IP則使用對應的公網IP。所以這里需要特別注意,根據自己情況替換對應的uid和出口IP,不能照搬。

復制代碼
#配置用戶tom1
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.0.8

#配置用戶tom2
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.0.17
復制代碼

 

  設置完后,查看一下配置是否已經寫入,我這里紅色方框處的即為剛才的配置。

iptables -nvL -t nat
iptables -nvL -t mangle

 

  配置好iptables后需要再對ss5添加一下對應的用戶,設置對應用戶和出口IP,請務必與上方iptables中對應uid和ip處保持一致。啟動成功則配置完畢。

service ss5 stop #由于服務啟動無法寫入,這里需要關閉
ss5 -u tom1 -b 172.17.0.8
ss5 -u tom2 -b 172.17.0.17
service ss5 start #關閉后再次啟動

 

  到這里配置已經結束了,我再使用qq進行了測試,提示連接成功,如果這里提示連接失敗,則表示配置還是有問題的。

 

  最后在瀏覽器中測試,我這里使用了傲游瀏覽器,它自帶了socks5身份驗證。

 

  教程中的過程都是我親自測試過可以成功的,新手配置可能還是會有一點點困難,多嘗試即可,不同情況下配置可能有些不同但是基本思路是一致的。

分享到:

相關信息

系統教程欄目

欄目熱門教程

人氣教程排行

站長推薦

熱門系統下載

jlzzjlzz亚洲乱熟在线播放