在Linux上配置和实现SOCKSv5Word文件下载.docx
- 文档编号:20336148
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:9
- 大小:18.42KB
在Linux上配置和实现SOCKSv5Word文件下载.docx
《在Linux上配置和实现SOCKSv5Word文件下载.docx》由会员分享,可在线阅读,更多相关《在Linux上配置和实现SOCKSv5Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
ip欺骗(NAT)
SOCKSv5
应用层代理
工作区域
网络层或传输层
线路层
应用层
用户认证
无
有
应用可扩展性
好
网络服务
目前的SOCKS版本是第五版,第五版同第四版的区别主要在于第五版提供多种不同的用户
认证方法和UDP代理。
二、SOCKSv5的安装
1.软件的获取
对于非商业使用SOCKS是免费的,你可以从
下载SOCKSv5的最新版,当前的最新版本是socks5-v1.0r11.tar.gz,使用RedHat的朋友也可
以到RedHat的官方站点下载相应的SOCKSv5的rpm包。
下面我们以SOCKSv5的最新版socks5
-v1.0r11.tar.gz为例讲述SOCKSv5的安装过程。
2.将下载来的socks5-v1.0r11.tar.gz拷贝到/tmp目录下
#cpsocks5-v1.0r11.tar.gz/tmp
3.解开压缩包
#tarxvzfsocks5-v1.0r11.tar.gz
4.进入socks5-v1.0r11开始编译
#cdsocks5-v1.0r11
#./configure
#make
#makeinstall
如果要更改缺省的安装选项,请仔细阅读README和INSTALL文档的相关说明。
如
果编译过程出现了问题,也可以到以下站点下载我编译的binary包:
下载后将该socks5.tar.gzbinary包拷贝到根目录/,运行tarxvzfsocks5.tar.gz即可。
相
关的文件路径如下:
#tarxvzfsocks5.tar.gz
usr/bin/socks5
usr/bin/stopsocks
usr/bin/runsocks
usr/lib/libsocks5.a
usr/lib/libsocks5_sh.so
usr/man/man1/stopsocks.1
usr/man/man1/socks5.1
usr/man/man1/socks5.1.gz
usr/man/man1/socks5_clients.1
usr/man/man1/runsocks.1
usr/man/man5/socks5.conf.5
usr/man/man5/socks5.conf.5.gz
usr/man/man5/socks5.passwd.5
usr/man/man5/socks5.passwd.5.gz
usr/man/man5/libsocks5.conf.5
etc/socks5/libsocks5.conf
etc/socks5/passwd
etc/socks5/socks5.conf
etc/rc.d/init.d/socks5
三、SOCKSv5的配置
我们主要通过socks5.conf文件来配置SOCKSv5服务器。
该配置文件的路径可以在编
译SOCKSv5时自行指定,缺省路径为:
/etc/socks5.conf。
SOCKSv5服务器在每次启动或收
到HUP信号时读入该配置文件的内容。
该配置文件通常由以下几个方面的内容构成:
-banhost:
定义拒绝服务的客户列表
-authentication:
定义SOCKSv5服务器使用的用户认证方法
-interface:
定义SOCKSv5服务器绊定的ip地址和服务端口
—variablesandflags:
定义SOCKSv5服务器运行的环境
-proxies:
定义客户可以通过SOCKSv5服务器访问的地址列表以及SOCKSv5服务
器访问这些地址的方法
-accesscontrol:
定义SOCKSv5服务器接受或拒绝客户连接的规则
下面我们分别来讲述这些条目对应的语法:
1.banhost:
语法:
bansource-hostsource-port
说明:
SOCKSv5服务器将拒绝接受来自source-host:
source-port的客户连接。
2.authentication:
authsource-hostsource-portauth-methods
对于来自source-host:
source-port的客户连接,SOCKSv5服务器将使用auth-method
s所定义的用户认证方法。
对于没有定义认证方法的客户将使用任何可以使用的认证方法。
3.interface:
interfacehostpaternportpatterninterface-address
来自source-host:
source-port的客户连接由interface-address处理;
目的地址为so
urce-host:
source-port的客户连接由SOCKSv5代理服务器从interface-address发出连接
请求。
4.variables:
setvariablevalue
定义SOCKSv5运行参数,SOCKSv5有以下一些常用的运行参数:
SOCKS_BINDINTFChost:
port:
指定SOCKSv5绑定的ip地址和监听的端口。
如果
不指定绑定的ip地址,SOCKSv5将使用0.0.0.0。
5.proxies:
proxy-typedest-hostdest-portproxy-list
当客户请求的目的为dest-host:
dest-port时,SOCKSv5将使用proxy-list中的代理服
务器请求数据。
6.accesscontrol:
permitauthcmdsrc-hostdest-hostsrc-portdest-port[user-list]
denyauthcmdsrc-hostdest-hostsrc-portdest-port[user-list]
通过这两条语句所定义的规则来进行客户访问控制。
我们再对以上语法作进一步的解释:
1.host的表示方法:
-:
表示任意主机
n1.:
表示n1.0.0.0/255.0.0.0
n1.n2.:
表示n1.n2.0.0/255.255.0.0
n1.n2.n3.:
表示n1.n2.n3.0/255.255.255.0
.domain.name:
表示主机名以.domain.name结尾的主机
some.domain.name:
表示主机名为some.domain.name的主机
2.port的表示方法:
表示任意端口
servicename:
用/etc/service中定义的服务名来表示,如telnet
portnumber:
直接指定数字端口,如80
[port_start,port_end]:
指定一个端口范围,如[1024,6000]表示从端口1024到6000,
(1024,6000)表示从端口1025到5999
3.auth的值:
n:
无用户认证
u:
使用username/password用户认证方法
k:
使用Kerberos用户认证方法
使用任何可用的用户认证方法
4.cmd的值:
任何命令
c:
connect
b:
bind
UDP
p:
ping
t:
traceroute
5.user的值:
任何用户
6.proxy的值:
socks5:
SOCKSv5
socks4:
SOCKS版本4
noproxy:
不使用代理而直接连接
7.server的值:
host:
指定服务器的hostname,使用缺省服务端口
host:
指定服务器的hostname和该服务的监听端口
下面是一些例子:
auth―-u
对所有的客户连接都使用username/password用户认证方法
permitu-192.168.1.---
允许来自192.168.1.的任何经过用户认证的连接
更多的例子请参考以下资源:
四、SOCKSv5一些常见问题的说明
1.
windows客户端的配置
有些windows的应用程序,如IE、OICQ等等本身就支持SOCKS代理服务器,
但是更多的windows应用程序是不提供对SOCKS代理服务器的支持的,这时候
我们就可以利用一些相应的工具来使得这些应用程序可以使用SOCKS代理服务
器。
其中最常用的工具sockscap,可以从以下的网址下载sockscap:
http:
//www.socks.nec
.com/cgi-bin/download.pl.
2.用户认证问题
SOCKSv5已经具有了用户认证功能,诸如IE等应用程序虽然提供了对SOCKS
代理服务器的支持,但是并不能进行用户认证,这种情况下我们也只能用sockscap
等工具来提供IE的用户认证接口。
需要注意的是,SOCKS的认证过程并不会象
squid一样弹出认证窗口。
3.运行模式问题
SOCKSv5具有以下几种运行模式:
standalont:
这是SOCKSv5缺省的运行模式
preforking:
该模式适合服务器资源有限的情况,因为我们可以事先指定运行的子
进程数。
可以用-p选项指定SOCKS以preforking模式运行。
inetd:
和telnet等服务一样通过inetd超级服务器运行SOCKS
threaded:
在linux平台上,我们推荐使用该模式运行SOCKS,这样能获得最佳性能。
4.超时问题
在一个客户会话空闲超过15分钟后,该会话将被断开,可以使用SOCKS5_TIMEOUT变量改变该
值。
5.绑定失败问题
有时候会出现Bindfailedforxxx.xxx.xxx.xxx:
...的提示,通常这是因为SOCKS所绑定的
端口已被其他程序所使用的缘故,可以通过更改该端口的值来解决这类问题。
6.SOCKSv5的日子问题
SOCKSv5的日志缺省为/var/log/messages,我们可以通过重新编译SOCKSv5来将SOCKSv5日志单独记录到一个文件中。
具体请参考README文件。
更多的配置实例请参考
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 配置 实现 SOCKSv5