| 分类: linux |
Linux是一款价格低廉而且在性能和安全性等各方面都很出色的操作系统。它的发行遵循GNU组织的GPL许可协议,用户在获得操作系统的同时还可以得到操作系统的源代码。基于Linux已经有了很多成熟的应用。其中代理服务就是一种在Linux中非常广泛的应用。
随着互联网的飞速发展,IP地址资源非常紧缺。为了缓解这样的矛盾,一般在局域网中并不是所有的主机都有合法的IP地址。而是采用代理服务器的方式将局域网中拥有局域网IP地址的主机联入互联网。代理服务器一般都有两个网络接口(或网卡),一个网络接口连接互联网,使用的是公网IP,而另一个网络接口连接内部局域网,使用局域网IP地址(如192.168系列或者172.16系列)。在Linux当中ftp/http代理使用最多、性能最好的代理软件应该是Squid;但是,对于OICQ这类使用UDP的软件Squid则无法实现。而Socks5正是解决这类问题的服务器软件。本文就Linux下Sock5代理的安装与使用进行讨论。
Socks5其实是一种代理协议socks的第五个版本,它工作在OSI模型中的第五层—会话层,很好地实现了认证、保密性等问题。它有非常详细的访问控制,比网络层有更多的控制手段,而且使用Socks5的代理服务器可隐藏内部网络结构,但是,它的性能比一些底层协议(如:网络层协议)要差一些。
Socks5代理服务器的安装和配置
在Linux的发行版当中一般都没有自带,所以必须下载源代码安装。
Socks5代理服务器源代码的下载网址为http://archive.socks.permeo.com/cgi-bin/download.pl,在此网址的下拉列表框中选择:“socks5 v1.0 release 11 - UNIX Source (current)”,然后提交,接下来填写一张表单后即可下载,下载下来的文件应该为“socks5-v1.0r11.tar.gz”。下载补丁的网址为:http://archive.socks.permeo.com/patch-socks5.html,在此网址中,将文件“socks5-v1.0r11.patch1.txt”保存到本地。
在下载文件的目录下用下列命令对“socks5-v1.0r11.tar.gz”解压缩,将会生成目录“socks5-v1.0r11”。命令为:
gzip -d socks5-v1.0r11.tar.gz
tar -xvf socks5-v1.0r11.tar
或者
tar -zxvf socks5-v1.0r11.tar.gz
将补丁文件拷贝到目录“socks5-v1.0r11”下,并且在此目录下执行如下命令打补丁。命令为:
patch < socks5-v1.0r11.patch1.txt
根据提示输入“include/sigfix.h”即可。
然后在“socks5-v1.0r11”目录下执行如下命令编译和安装Socks5代理。命令为:
./configure --prefix=/usr/local/socks5 --enable-threads
make;make install
Socks5代理服务器的配置
在“/etc/”目录下创建“socks5.conf”文件。这个文件是socks5代理服务器的最主要的文件,在这个文件当中我们可以详细的设置访问权限,有关详细的设置方法请参考man手册,这里介绍最简单的方法,将源代码目录下的“examples/socks5.conf.singlehomed”文件复制到“/etc/”目录。在源代码目录下执行如下命令:
cp examples/socks5.conf.singlehomed
在命令行启动socks5代理服务器可以使用如下命令:
/usr/local/socks5/bin/socks5 -t
若启动成功会在屏幕上显示类似“25519:000000: Socks5 starting at Mon Feb 24 09:37:04 2003 in threading mode”的一行信息。如果有用户使用代理服务器则在屏幕上出现访问记录。
Socks5代理客户端的配置
将需要使用socks5代理的程序设置为使用刚配好的代理的内部IP(例如:socks5代理服务器的内部IP为192.168.0.1),端口设置为1080(这是socks代理服务器的默认端口)。设置完成之后就可以使用了。当进行通信时。在服务器的屏幕上会出现通信记录。
记录代理日志
上面给大家介绍了socks5代理的安装和简要配置,但是,用户的使用记录只在屏幕上显示,按照网络管理的要求还必须有使用日志。下面介绍一下如何记录代理日志。
“/usr/local/socks5/bin/socks5 -t -s
加到“/etc/rc.d/rc.local”文件的尾部。在每次启动系统时自动启动socks5代理。“2>>/var/log/socks.log”是用来将socks5代理的错误输出信息存储到日志中。以后就可以从日志文件中查看用户的使用记录。
本文介绍了在Linux下实现socks代理的详细过程,其中涉及到一些概念不能详细论述,请参考相关的文档。另外有关配置文件“/etc/socks5.conf”有很多权限设置选项,本文只是使用了系统自带的一个例子文件,在实际应用中要作权限设置时请参考man手册(使用命令:man socks5.conf查看)。

加载中…