socks5
SOCKS5 是一個(gè)代理協(xié)議,它在使用 TCP/IP協(xié)議通訊的前端機(jī)器和服務(wù)器機(jī)器之間扮演一個(gè)中介角色,使得內(nèi)部網(wǎng)中的前端機(jī)器變得能夠訪問Internet網(wǎng)中的服務(wù)器,或者使通訊更加安全。SOCKS5 服務(wù)器通過將前端發(fā)來的請求轉(zhuǎn)發(fā)給真正的目標(biāo)服務(wù)器, 模擬了一個(gè)前端的行為。在這里,前端和SOCKS5之間也是通過TCP/IP協(xié)議進(jìn)行通訊,前端將原本要發(fā)送給真正服務(wù)器的請求發(fā)送給SOCKS5服務(wù)器,然后SOCKS5服務(wù)器將請求轉(zhuǎn)發(fā)給真正的服務(wù)器。
如果您的機(jī)器具有一個(gè)合法的 Internet IP 地址, 或者您利用自己機(jī)器上的調(diào)制解調(diào)器撥號上網(wǎng), 可以自由和 Internet 上任何主機(jī)溝通, 那么您通常不必關(guān)心 SOCKS5 協(xié)議。SOCKS5 協(xié)議對于處在內(nèi)部網(wǎng)絡(luò)中的機(jī)器, 需要透過網(wǎng)絡(luò)中某些可以聯(lián)通外部 Internet 的機(jī)器訪問外部時(shí),有用。SOCKS5服務(wù)器在將通訊請求發(fā)送給真正服務(wù)器的過程中,對于請求數(shù)據(jù)包本身不加任何改變。SOCKS5服務(wù)器接收到真正服務(wù)器的響應(yīng)后,也原樣轉(zhuǎn)發(fā)給前端。因此,SOCKS5 協(xié)議是一種代理協(xié)議,對于各種基于 TCP/IP的應(yīng)用層協(xié)議都能夠適應(yīng),幾乎是萬能的。它雖然不能理解自己轉(zhuǎn)發(fā)的數(shù)據(jù)的內(nèi)部結(jié)構(gòu),但是它能夠忠實(shí)地轉(zhuǎn)發(fā)通訊包,完成協(xié)議本來要完成的功能。
與SOCKS5協(xié)議不同,HTTP代理是通過HTTP協(xié)議進(jìn)行的,HTTP代理服務(wù)器軟件了解通訊包的內(nèi)部結(jié)構(gòu),在轉(zhuǎn)發(fā)過程中還要對通訊進(jìn)行某種程序的修改和轉(zhuǎn)換。和HTTP代理協(xié)議不同,SOCKS5實(shí)際上是一個(gè)傳輸層的代理協(xié)議。我們可以想象,如果每個(gè)具體的應(yīng)用層協(xié)議都要設(shè)計(jì)對應(yīng)的代理協(xié)議表達(dá)辦法,一個(gè)特定的代理服務(wù)器無論如何也支持不過來那么多新出現(xiàn)的協(xié)議。因此,可以說SOCKS5的出現(xiàn)緩解了各種具體協(xié)議需要專門設(shè)計(jì)代理協(xié)議的困難局面。不過,并不是凡是使用基于TCP/IP協(xié)議的應(yīng)用協(xié)議的軟件,都可以無條件地透過SOCKS5服務(wù)器進(jìn)行通訊,還要求前端軟件本身具有SOCKS5的接口,才能利用SOCKS5代理服務(wù)器。
安裝配置
1. 安裝socks 5
1.1 安裝依賴開發(fā)庫
# 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=1396802581use_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. 啟動(dòng)socket 5
# sh /etc/rc.d/init.d/ss5 start
doneting ss5...
默認(rèn)情況ss5文件沒有執(zhí)行權(quán)限,如果覺得使用sh來啟動(dòng)麻煩,那么按如下方法:
# chmod u+x /etc/rc.d/init.d/ss5
# chkconfig --add ss5 //可選
# chkconfig ss5 on //可選
# service ss5 start
5. 查看是否啟動(dòng)
# netstat -lntp | grep ss5
tcp 0 0 0.0.0.0:1080 0.0.0.0:* LISTEN 14262/ss5
默認(rèn)端口1080
6. 測試socks5
安裝Proxifier,默認(rèn)情況所有請求都走socks5.打開百度,輸入IP,可以看到如下結(jié)果是我們運(yùn)維生存時(shí)間(ttlsa.com)的ip地址
7. 常見錯(cuò)誤
7.1 缺少PAM
configure: error: *** Some of the headers weren't found ***
# yum -y install pam-devel
8. 結(jié)束
socks5你安裝成功了嗎?這會(huì)兒我還沒關(guān)閉socks5,你可以拿本章的賬號密碼做個(gè)測試。