一、背景在日常工作中我們經常會使用到代理, 這裡記錄一下Proxifier和ss5的使用,這兩個工具既可以單獨使用,也可以配合使用。本文講解proxifier+ss5配合使用的場景及配置。二、工具介紹Proxifier先看下百度百科的介紹,Proxifier是一款功能非常強大的socks5客戶端,可以讓不支持通過代理服務器工作的網絡程序能通過HTTPS或SOCKS或代理鏈。也就是說即使你的程序不像瀏覽器或者QQ支持代理配置,Proxifier也可以幫你做代理,並且支持代理和代理鏈,支持多代理服務器多規則。SS5ss5是由Matteo Ricchetti大佬編寫的,官網鏈接SS5 Socks Server。關於ss5的描述,官方寫的很清晰。SS5 is a socks server that implements the SOCKS v4 and v5 protocol. As a proxy server, SS5 authenticates, profiles and processes network requests for clients. It establishes connections to application hosts for client applications. When the client attempts to access the network, the client connects to the SS5 daemon instead of the application host.Following authentication, clients request that SS5 perform network activities for the client. The activities might include:ConnectBindUdpAssociateThe SS5 protocol is independent of application protocols, and can assist with different networking services, including telnet, ftp, finger, whois, gopher, and WWW access.三、場景例舉以下場景純屬虛構,不是十分貼切, 單純為瞭方便講解例舉用。程序員小王辦公電腦IP為 192.168.2.100,小王有公司測試環境主機192.168.3.100-110 ,11臺服務器,辦公電腦到服務器之間有防火墻隔離,但這11臺服務器之間網絡互通,沒有防火墻限制。小王在這些機器上搭建好瞭測試環境的服務,就向網絡工程師張三提出需求申請辦公電腦訪問這11臺服務器的80,8080,443,3306端口。但張三平時看小王就不爽瞭,看到小王要訪問那麼多端口更是火冒三丈,故意為難小王的說道:我就給你開一個你辦公電腦訪問192.168.3.100的80端口,剩下的你自己看著辦。小王有技術啊,嘴角微微一笑說道:哦瞭,沒問題,多謝。小王是如何實現訪問多臺服務器的目的呢?四、SS5的安裝及配置本章以centos7為示例。小王登錄192.168.3.100這臺服務器進行瞭以下操作:1. 下載源碼wget https://nchc.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz2.配置編譯環境運行以下指令,檢查編譯環境 rpm -qa | egrep 'pam-devel|openldap-devel|openssl-devel'如未安裝,自行安裝即可。3. 解壓、編譯、安裝tar zxvf ss5-3.8.9-8.tar.gz
cd ss5-3.8.9-8
./configure
make && make install4. 修改SS5配置文件修改認證方式默認安裝完成後,ss5為無用戶認證方式,若需要賬號密碼驗證,則需要在配置文件/etc/opt/ss5/ss5.conf中添加以下配置auth 0.0.0.0/0 – u
permit u 0.0.0.0/0 – 0.0.0.0/0 – – – – -創建密碼文件開啟賬號密碼認證方式後,需要新增密碼文件並添加用戶和密碼vi /etc/opt/ss5/ss5.passwd #每行一個用戶名及密碼,用戶和密碼之間用空格分隔
xiaowang 123abc
zhangsan 456cde
test 1234_aA
test2 Qaz_123!修改監聽端口由於張三隻給小王開通瞭一個80端口,這裡將監聽端口設置為80。vi /etc/sysconfig/ss5
找到註釋的這行配置
#SS5_OPTS=” -u root”
將其取消註釋並修改為
SS5_OPTS=" -u root -b 0.0.0.0:80"增加可執行權限chmod 755 /etc/rc.d/init.d/ss55. 啟動與關閉#啟動
systemctl start ss5
#停止
systemctl stop ss5
或者
service ss5 start && service ss5 stop
或者
/etc/init.d/ss5 start && /etc/init.d/ss5 stop6. 檢查#查看進程
ps -ef|grep ss5
root 2804 1 0 15:46 ? 00:00:00 /usr/sbin/ss5 -t -u root -b 0.0.0.0:80
#查看監聽端口
netstat -anp|grep ss5
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 2804/ss5
#查看日志
more /var/log/ss5/ss5.log至此,SS5已經安裝完畢,可提供服務。五、Proxifier的安裝及配置1. 下載及安裝請自行下載並進行windows客戶端的安裝2. 配置代理服務器如下圖所示添加代理服務器,地址與端口為SS5服務監聽端口,小王則配置為192.168.3.100的80端口,選擇socket5,啟用驗證,輸入SS5密碼文件中創建的賬號和密碼。配置完成後可點擊檢查測試與代理服務器的聯通性,確認正常後點擊確定保存。3. 配置代理規則代理規則即在我們規定的條件下使用代理工具進行轉發,其他情況不通過代理,我們可以靈活的按照的使用需求定制規則。小王的配置如下圖:上圖中小王不需要對192.168.3.100的80端口進行代理,則此條規則暫不配置192.168.3.100。然後再創建一條規則單獨配置192.168.3.100。至此小王的代理規則配置完成!其中規則中的應用程序、目標主機、目標端口可以理解為是“與”的關系,當我們發起一次網絡請求後,以上三項都匹配到則進行代理轉發,而動作則定義瞭轉發到哪個代理服務器(即上面五、2配置的代理服務器),上圖小王選的是自己搭建的SS5服務器。六、總結到此,小王可以通過在他的辦公電腦上直接訪問192.168.3.100-192.168.3.110的80,8080,443端口以及 192.169.3.100的8080和443端口。如後期增加還有其他端口需要訪問,在Proxifier代理規則中添加對應的目標端口即可。寫在最後:如有錯誤,請評論告知,多多包涵。