分类: LINUX
2009-12-30 11:14:10
最近有不少网友老是问我一些QQ如何利用代理的事。其实是很简单的,通过代理猎手寻找一些socks5代理便可。刚好最近在学习linux系统,于是突然想到用RH9来做个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