1、ip欺骗(NAT)SOCKS v5应用层代理工作区域网络层或传输层线路层应用层用户认证无有应用可扩展性好网络服务目前的SOCKS版本是第五版,第五版同第四版的区别主要在于第五版提供多种不同的用户认证方法和UDP代理。二、 SOCKS v5的安装1. 软件的获取对于非商业使用SOCKS是免费的,你可以从下载SOCKS v5的最新版,当前的最新版本是socks5-v1.0r11.tar.gz,使用RedHat的朋友也可以到RedHat的官方站点下载相应的SOCKS v5的rpm包。下面我们以SOCKS v5 的最新版socks5-v1.0r11.tar.gz为例讲述SOCKS v5的安装过程。2.
2、 将下载来的socks5-v1.0r11.tar.gz拷贝到/tmp目录下#cp socks5-v1.0r11.tar.gz /tmp3. 解开压缩包#tar xvzf socks5-v1.0r11.tar.gz4. 进入socks5-v1.0r11开始编译#cd socks5-v1.0r11#./configure#make#make install如果要更改缺省的安装选项,请仔细阅读README和INSTALL文档的相关说明。如果编译过程出现了问题,也可以到以下站点下载我编译的binary包:下载后将该socks5.tar.gz binary包拷贝到根目录/,运行tar xvzf sock
3、s5.tar.gz即可。相关的文件路径如下:tar xvzf socks5.tar.gzusr/bin/socks5usr/bin/stopsocksusr/bin/runsocksusr/lib/libsocks5.ausr/lib/libsocks5_sh.sousr/man/man1/stopsocks.1usr/man/man1/socks5.1usr/man/man1/socks5.1.gzusr/man/man1/socks5_clients.1usr/man/man1/runsocks.1usr/man/man5/socks5.conf.5usr/man/man5/socks5.
4、conf.5.gzusr/man/man5/socks5.passwd.5usr/man/man5/socks5.passwd.5.gzusr/man/man5/libsocks5.conf.5etc/socks5/libsocks5.confetc/socks5/passwdetc/socks5/socks5.confetc/rc.d/init.d/socks5三、 SOCKS v5的配置我们主要通过socks5.conf文件来配置SOCKS v5服务器。该配置文件的路径可以在编译SOCKS v5时自行指定,缺省路径为:/etc/socks5.conf。SOCKS v5服务器在每次启动或收到
5、HUP信号时读入该配置文件的内容。该配置文件通常由以下几个方面的内容构成:ban host:定义拒绝服务的客户列表authentication:定义SOCKS v5服务器使用的用户认证方法interface:定义SOCKS v5服务器绊定的ip地址和服务端口variables and flags:定义SOCKS v5服务器运行的环境proxies:定义客户可以通过SOCKS v5服务器访问的地址列表以及SOCKS v5服务器访问这些地址的方法access control:定义SOCKS v5服务器接受或拒绝客户连接的规则下面我们分别来讲述这些条目对应的语法:1 ban host:语法:ban
6、source-host source-port说明:SOCKS v5服务器将拒绝接受来自source-host:source-port的客户连接。2 authentication:auth source-host source-port auth-methods对于来自source-host:source-port的客户连接,SOCKS v5服务器将使用auth-methods所定义的用户认证方法。对于没有定义认证方法的客户将使用任何可以使用的认证方法。3 interface:interface hostpatern portpattern interface-address来自source-
7、host:source-port的客户连接由interface-address处理;目的地址为source-host:source-port的客户连接由SOCKS v5 代理服务器从 interface-address发出连接请求。4 variables:set variable value定义SOCKS v5运行参数,SOCKS v5有以下一些常用的运行参数:SOCKS_BINDINTFC host:port:指定SOCKS v5绑定的ip地址和监听的端口。如果不指定绑定的ip地址,SOCKS v5将使用0.0.0.0。5 proxies:proxy-type dest-host dest-
8、port proxy-list当客户请求的目的为dest-host:dest-port时,SOCKS v5将使用proxy-list中的代理服务器请求数据。6 access control:permit auth cmd src-host dest-host src-port dest-port user-listdeny auth cmd src-host dest-host src-port dest-port user-list通过这两条语句所定义的规则来进行客户访问控制。我们再对以上语法作进一步的解释:1 host的表示方法:表示任意主机n1.:表示n1.0.0.0/255.0.0.0
9、n1.n2.:表示n1.n2.0.0/255.255.0.0n1.n2.n3.:表示n1.n2.n3.0/255.255.255.0.domain.name:表示主机名以.domain.name结尾的主机some.domain.name:表示主机名为some.domain.name的主机2 port的表示方法:表示任意端口service name:用/etc/service中定义的服务名来表示,如telnetport number:直接指定数字端口,如80port_start,port_end:指定一个端口范围,如1024,6000表示从端口1024到6000,(1024,6000)表示从端口
10、1025到59993 auth的值:n:无用户认证u:使用username/password用户认证方法k:使用Kerberos用户认证方法使用任何可用的用户认证方法4 cmd的值:任何命令c:connectb:bindUDPp:pingt:traceroute5 user的值:任何用户6 proxy的值:socks5: SOCKS v5socks4: SOCKS 版本4noproxy:不使用代理而直接连接7 server的值:host: 指定服务器的hostname,使用缺省服务端口host:指定服务器的hostname和该服务的监听端口下面是一些例子:auth u对所有的客户连接都使用us
11、ername/password用户认证方法permit u 192.168.1. 允许来自192.168.1.的任何经过用户认证的连接更多的例子请参考以下资源:四、 SOCKS v5一些常见问题的说明1windows客户端的配置有些windows的应用程序,如IE、OICQ等等本身就支持SOCKS代理服务器,但是更多的windows应用程序是不提供对SOCKS代理服务器的支持的,这时候我们就可以利用一些相应的工具来使得这些应用程序可以使用SOCKS代理服务器。其中最常用的工具sockscap,可以从以下的网址下载sockscap:http:/ 用户认证问题SOCKS v5已经具有了用户认证功能
12、,诸如IE等应用程序虽然提供了对SOCKS代理服务器的支持,但是并不能进行用户认证,这种情况下我们也只能用sockscap等工具来提供IE的用户认证接口。需要注意的是,SOCKS的认证过程并不会象squid一样弹出认证窗口。3 运行模式问题SOCKS v5具有以下几种运行模式:standalont:这是SOCKS v5缺省的运行模式preforking:该模式适合服务器资源有限的情况,因为我们可以事先指定运行的子进程数。可以用-p选项指定SOCKS以preforking模式运行。inetd:和telnet等服务一样通过inetd超级服务器运行SOCKSthreaded:在linux平台上,我们推荐使用该模式运行SOCKS,这样能获得最佳性能。4 超时问题在一个客户会话空闲超过15分钟后,该会话将被断开,可以使用SOCKS5_TIMEOUT 变量改变该值。5 绑定失败问题有时候会出现Bind failed for xxx.xxx.xxx.xxx: .的提示,通常这是因为SOCKS所绑定的端口已被其他程序所使用的缘故,可以通过更改该端口的值来解决这类问题。6 SOCKS v5的日子问题SOCKS v5的日志缺省为/var/log/messages,我们可以通过重新编译SOCKS v5来将SOCKS v5日志单独记录到一个文件中。具体请参考README文件。更多的配置实例请参考
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1