在UNIX上配置SOCKS5代理 顾银晓 2001年 38期 在Unix下有各种各样的代理程序可用,像最常用的Squid,但它只能代理HTTP/HTTPS和FTP协议,而目前流行的QQ和《天网网上实时股票行情》却要用SOCKS5代理。   为了使服务器可以使用QQ和网上股票实时行情系统,笔者在FreeBSD上用SOCKS5完成了这一代理设置,在Linux上的配置方法相同。以下为配置SOCKS5的过程:   1.下载文件   从www.socks.nec.com下载最新版的SOCKS5源文件到/tmp目录下。目前最新版本为socks5-v1.0r11.tar.gz。   2.在服务器上编译并安装(该服务器是安装了两块网卡的双宿主机,应直接连至Internet,假设内部网段为192.168.0.0/24:   cd /tmp   解压缩:   tar -xvfz socks5-v1.0r11.tar.gz   然后进入相应目录:   cd /tmp/socks5-v1.0r11   3.配置   在安装SOCKS5之前,你可以根据自已的具体需要对软件包进行配置,输入:   ./configure -help   将显示出所有参数及简要说明。   一般以默认方式安装:   ./configure   4.生成软件包   make all   当需要重新配置安装软件包时,可输入命令:   make distclean   5.安装   make install   这样缺省的安装目录在/usr/local下,也可以通过配置参数-prefix来改变安装目录。   6.设置   SOCKS5服务器通过一个配置文件进行配置,默认的是/etc/socks5.conf   下面为我的配置文件   #vi /etc/socks5.conf   auth - - -   permit - - - - - - -   set socks5_V4SUPPORT   如果要作一些限制如设口令则可如下配置:   auth 192.168.0. - u   permit u - 192.168.0. - - - tom   permit u - 192.168.0. - - - jack   set socks5_V4SUPPORT   deny - - - - - - -   另外配置文件/etc/socks5.passwd   # /etc/socks5.passwd   tom password_of_tom_is_here   jack password_of_jephe_is_here   注意:由于目前网上股票行情只支持SOCKS4 所以应在配置文档中加上如下一行   set socks5_V4SUPPORT   7.开始测试和运行   /usr/local/bin/socks5 -f -s   如果出现下面的信息则表示测试成功。   18210: Socks5 starting at Mon Dec 14 18:23:45 2000 in normal mode   然后退出SOCKS5,开始正式运行它在相应的模式,SOCKS5可以在多种运行模式下运行,笔者推荐使用Preforking模式:   /usr/local/bin/socks5 -p   8.如果想让SOCKS5在系统启动时自动运行,则须相应配置启动脚本以使SOCKS5自动运行:   在FreeBSD下rc.conf中加上   /usr/local/bin/socks5 -p   在linux下则加到/etc/rc.d/rc.local   echo "/usr/local/bin/socks5 -p -s 2> /var/log/socks5" >> /etc/rc.d/rc.local   9.总结和注意点   关于SOCKS5的运行模式说明   SOCKS5可以运行在以下模式:   -standalone模式   -pre-forking模式,通过加-p标志   -threaded模式,在运行configure时加-with-threads参数并在运行时加-t标志   -inetd模式,通过加-i标志   当你在运行SOCKS5中省略参数的话,SOCKS5服务器就以Forking模式运行,并且为每个连接请求产生一个子进程,由于Forking使用系统资源,所以这种模式性能不如Preforking和Threaded模式。   由于性能原因,NEC公司不推荐使用Inetd模式。   在NT服务器上则只有Thread模式。   如果操作系统支持POSIX进程的话,SOCKS5服务器就能以Thread模式运行,在这种模式下,SOCKS5服务器为每个连接产生一个独立的线程,这种模式是最快的,但也对服务器有很大影响。   运行时用-p选项则SOCKS5运行在Preforking模式,在这种模式下,SOCKS5服务初始化时就产生子进程,当收到连接请求时子进程又存在的话,就会增加系统性能,对于大部分系统,Preforking是首选的方式,你可以在socks5.conf文档中用-nchildren选项设定子进程数目,如果缺省则产生64个子进程。   如果要停止SOCKS5则运行:   /usr/local/bin/stopsocks -KILL或用/usr/local/bin/stopsocks -HUP命令重新启动。   另外要注意你的服务器不能让其它程序使用8001和8002号端口,因为这是网上股票行情系统专用的,其中8001号端口是看行情的服务器端口,8002为委托服务器用的。   好了,让我们来动手试一试网上炒股吧!