最近有不少網友老是問我一些QQ如何利用代理的事。其實是很簡單的,通過代理獵手尋找一些socks5代理便可。剛好最近在學習linux系統,於是突然想到用RedHat9來做個socks5代理服務器。ok!說干就干
1。先搜索一下socks5的安裝包,發現一大堆,最新版本是socks5-v1.0r11.tar.gz,於是下載到我的RH9的服務器上。
2。解壓縮軟件包
#tar xvfz socks5-v1.0r11.tar.gz
3.開始編譯
#cd socks5-v1.0r11
#./configure --with-threads
#make
#make install
4.建立/etc/socks5.conf,其實在軟件包裡已經有現成的examples
#cd examples
#cp socks5.conf.singlehomed /etc/socks5.conf (我們挑選一個最簡單的配置文件)
默認配置就是
# A Socks5 Config file for a normal, single homed server
permit - - - - - -
這個配置文件是允許任何人都可以使用這個socks5代理,並不需要驗證
如果想限制只是某個IP段(192.168.0.0/255.255.255.0)可以訪問,可以改成
permit - - 192.168.0. - - -
或者只允許某個IP(192.168.0.10)可以訪問使用,可以改成
permit - - 192.168.0.10 - - -
5.ok 運行一下socks5 -t 啟動socks5服務,然後用QQ測試一下代理是否生效,記住默認端口是1080
反正我是在FTP軟件和QQ上試了 都沒問題。
6.如果要停止socks5,只要運行stopsocks -KILL就行,socks5就會停止!
7.使用非默認端口:如果你想讓socks5服務啟動的時候不啟動默認監聽端口1080,比如為1234,我們可以運行如下命令
socks5 -b 1234 -t 當然你關掉這個服務,就必須用下面的命令 stopsocks -p 1234 -KILL
8.我們來深入配置一下socks5.conf,使socks5使用用戶驗證機制
要使用用戶驗證,首先要建立/etc/socks5.pwsswd文件
內容為:(userA代表用戶名。passwdA代表用戶userA的密碼)
#/etc/socks5.passwd
userA passwdA
userB passwdB
userC passwdC
然後修改/etc/socks5.conf
添加下列語句
auth - - u
或者把:
auth - - -改成auth - - u
添加:
把默認permit - - - - - - 改成permit u - 192.168.0. - - -
即允許來自192.168.0.0/255.255.255.0網段的任何經過用戶認證的連接
如果你不想把密碼文件存在默認的/etc/socks5.passwd裡。想存在自定義的文件,比如/etc/qq.passwd
那就得修改/etc/socks5.conf.添加一項參數
set SOCKS5_PWDFILE /etc/qq.passwd
ok!重啟一下服務,這時如果不輸入正確的用戶名和密碼是使用不了socks5代理服務器的,輸入正確的用戶名和密碼便可使用。
以上說的參數,大家可以結合使用,比如限制某個IP段使用socks5服務,而且要使用用戶名驗證
另外針對/etc/socks5.conf還有一些參數,大家就自己去研究吧
set SOCKS5_BINDINFC 192.168.0.8:1080
忽略ident請求。當客戶機沒有運行identd時,使用SOCKS5_NOIDENT將降低超時值
set SOCKS5_NOIDENT
指定連接停頓最長時間。超過最大值後,socks5斷開連接
set SOCKS5_TIMEOUT 15
socks5將接受SOCKS V4 協議的請求,默認不接受
set SOCKS5_V4SUPPORT
指定同時存在的最大子進程數,Socks5預設為64
set SOCKS5_MAXCHILD 4