socks5
SOCKS5 是一個代理協議,它在使用 TCP/IP協議通訊的前端機器和伺服器機器之間扮演一個中介角色,使得內部網中的前端機器變得能夠訪問Internet網中的伺服器,或者使通訊更加安全。SOCKS5 伺服器通過將前端發來的請求轉寄給真正的目標伺服器, 類比了一個前端的行為。在這裡,前端和SOCKS5之間也是通過TCP/IP協議進行通訊,前端將原本要發送給真正伺服器的請求發送給SOCKS5伺服器,然後SOCKS5伺服器將請求轉寄給真正的伺服器。
如果您的機器具有一個合法的 Internet IP 位址, 或者您利用自己機器上的數據機撥接, 可以自由和 Internet 上任何主機溝通, 那麼您通常不必關心 SOCKS5 協議。SOCKS5 協議對於處在內部網路中的機器, 需要透過網路中某些可以聯通外部 Internet 的機器訪問外部時,有用。SOCKS5伺服器在將通訊請求發送給真正伺服器的過程中,對於請求資料包本身不加任何改變。SOCKS5伺服器接收到真正伺服器的響應後,也原樣轉寄給前端。因此,SOCKS5 協議是一種代理協議,對於各種基於 TCP/IP的應用程式層協議都能夠適應,幾乎是萬能的。它雖然不能理解自己轉寄的資料的內部結構,但是它能夠忠實地轉寄通訊包,完成協議本來要完成的功能。
與SOCKS5協議不同,HTTP代理是通過HTTP協議進行的,HTTPProxy 伺服器軟體瞭解通訊包的內部結構,在轉寄過程中還要對通訊進行某種程式的修改和轉換。和HTTP代理協議不同,SOCKS5實際上是一個傳輸層的代理協議。我們可以想象,如果每個具體的應用程式層協議都要設計對應的代理協議表達辦法,一個特定的Proxy 伺服器無論如何也支援不過來那麼多新出現的協議。因此,可以說SOCKS5的出現緩解了各種具體協議需要專門設計代理協議的困難局面。不過,並不是凡是使用基於TCP/IP協議的應用協議的軟體,都可以無條件地透過SOCKS5伺服器進行通訊,還要求前端軟體本身具有SOCKS5的介面,才能利用SOCKS5Proxy 伺服器。
安裝配置
1. 安裝socks 5
1.1 安裝依賴開發庫
代碼如下:
# yum install pam-devel openldap-devel openssl-devel
1.2 安裝socks 5
代碼如下:
# wget http://downloads.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz?r=&ts=1396802581&use_mirror=cznic
# tar -xzvf ss5-3.8.9-8.tar.gz
# cd ss5-3.8.9
# ./configure
# make
# make install
2. socks 5配置
2.1 修改設定檔
代碼如下:
# vim /etc/opt/ss5/ss5.conf
auth 0.0.0.0/0 – -
改為
代碼如下:
auth 0.0.0.0/0 – u
permit – 0.0.0.0/0 – 0.0.0.0/0 – – – – -
改成為
代碼如下:
permit u 0.0.0.0/0 – 0.0.0.0/0 – – – – -
3. 添加socket 5使用者
# cat /etc/opt/ss5/ss5.passwd
##使用者 密碼
ttlsa 123456
4. 啟動socket 5
# sh /etc/rc.d/init.d/ss5 start
doneting ss5...
預設情況ss5檔案沒有執行許可權,如果覺得使用sh來啟動麻煩,那麼按如下方法:
# chmod u+x /etc/rc.d/init.d/ss5
# chkconfig --add ss5 //可選
# chkconfig ss5 on //可選
# service ss5 start
5. 查看是否啟動
代碼如下:
# netstat -lntp | grep ss5
tcp 0 0 0.0.0.0:1080 0.0.0.0:* LISTEN 14262/ss5
預設連接埠1080
6. 測試socks5
安裝Proxifier,預設情況所有請求都走socks5.開啟百度,輸入IP,可以看到如下結果是我們營運存留時間(ttlsa.com)的ip地址
7. 常見錯誤
7.1 缺少PAM
configure: error: *** Some of the headers weren't found ***
# yum -y install pam-devel