快捷搜索:   服务器  安全  linux 安全  MYSQL  dedecms

squid配置-Linux下架设代理服务器(2)


2.当该请求包通过透明代理服务器时,被重定向到代理服务器的绑定端口8080。于是,透明代理服务器用某一端口(比如1088)向202.99.11.120的80端口发起web连接请求,请求web页面。 
3.收到响应的web页面后,代理服务器把该数据传送给客户端。 
4.客户端浏览器显示该页面。 
从www.linuxaid.com.cn的角度看来,连接是在1.2.3.4地1088端口和202.99.11.120的80端口之间建立的。从client的角度看来,连接是在192.168.1.100的1066端口和202.99.11.120的80端口之间建立的。 
以上就是传统代理服务器和透明代理服务器的区别所在。 

二、各种代理服务器的比较 
linux下的代理服务器软件很多,我从www.freshmeat.com(一个著名的linux软件站点)查看了一下,足有六十多个。但是被广泛应用的只有Apache、socks、squid等几个实践证明是高性能的代理软件。下面我们分别来比较一下这几个软件: 

2.1 Apache 
Apache是世界上用的最广泛的HTTP服务器,之所以用的最广泛,是因为它强大的功能、高效率、安全性和速度。从1.1.x版本开始,Apache开始包含了一个代理模块。用Apache作代理服务器的性能优势并不明显,不建议使用。 

2.2 Socks 
Socks是一种网络代理协议,该协议可以让客户机通过Socks服务器获得对Internet的完全访问能力。Scoks在服务器和客户端之间建立一个安全的代理数据通道,从客户的角度看来,Scoks是透明的;从服务器的角度看来,Socks就是客户端。客户端不需要具有对Internet的直接访问能力(也就是说,可以使用私有IP地址),因为Socks服务器能够把来自于客户端的连接请求重定向到Internet。此外,Socks服务器可以对用户连接请求进行认证,允许合法用户建立代理连接。同理,Socks也能防止非授权的Internet用户访问及的内部网络。所以常常把Socks当作防火墙来使用。 
常见的浏览器如netscape、IE等可以直接使用Socks, 并且我们也可以使用socsk5的所带的client来使那些不直接支持socks的internet软件使用Socks。 
更多的资料可以参考Socks官方站点http://www.socks.nec.com。 

2.3 squid 
对于web用户来说,squid是一个高性能的代理缓存服务器,squid支持FTP、gopher和HTTP协议。和一般的代理缓存软件不同,squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。 
squid将数据元缓存在内存中,同时也缓存dns查询的结果,除此之外,它还支持非模块化的dns查询,对失败的请求进行消极缓存。squid支持SSL,支持访问控制。由于使用了ICP(轻量Internet缓存协议),squid能够实现层叠的代理阵列,从而最大限度地节约带宽。 
squid由一个主要的服务程序squid,一个dns查询程序dnsserver,几个重写请求和执行认证的程序,以及几个管理工具组成。当squid启动以后,它可以派生出预先指定数目的dnsserver进程,而每一个dnsserver进程都可以执行单独的dns查询,这样一来就大大减少了服务器等待dns查询的时间。 

2.4 选择 
从上面的比较可以看出,Apache主要功能是web服务器,代理功能只不过是其一个模块而已,Socks虽然强大,但有欠灵活,因此我们着重推荐你使用squid。下面的章节我们就一起来学习squid激动人心的特性及相关的安装与配置。

三、安装squid Proxy Server 

3.1获取软件 
你可以通过以下途径获取该软件: 
1.从squid的官方站点http://www.squid-cache.org下载该软件; 
2.从你的linux发行版本中获取该软件; 
通常,squid软件包有两种:一种是源代码,下载后需要自己重新编译;可执行文件,下载后只需解压就可以使用;另一种是就是RedHat所使用的rpm包。下面我们分别讲讲这两种软件包的安装方法。 

3.2安装软件 
我们以目前最新的稳定版本squid-2.3.STABLEX为例。 

3.2.1rpm包的安装 
1.进入/mnt/cdrom/RedHat/RPMS 
2.执行rpm -ivh squid-2.2.STABLE4-8.i386.rpm。 
当然,我们也可以在开始安装系统的过程中安装该软件。 

3.2.2 源代码包的安装 
1.从http://www.squid-cache.org下载squid-2.3.STABLE2-src.tar.gz。 
2.将该文件拷贝到/usr/local目录。 
3.解开该文件 tar xvzf squid-2.3.STABLE2-src.tar.gz。 
4.解开后,在/usr/local生成一个新的目录squid-2.3.STABLE2,为了方便用mv命令将 该目录重命名为squid mv squid-2.3.STABLE2 squid; 
5.进入squid cd squid 
6.执行./configure 可以用./confgure --prefix=/directory/you/want指定安装目录 
系统缺省安装目录为/usr/local/squid。 
7.执行 make all 
8.执行 make install 
9.安装结束后,squid的可执行文件在安装目录的bin子目录下,配置文件在etc子目录下。 

四、配置squid基础篇——让代理服务器跑起来 
由于RedHat各方面的优势(包括易用性,稳定性等等),全世界范围内使用该发行版的用户比较多,所以,我们下面的说明都是以RedHat6.1环境下squid-2.2.STABLE4-8版本为主。从我的使用经验看来,该版本的squid要比其他版本稳定的多,以前的1.1.22版本也比较稳定,但是在功能及灵活性方面有所欠缺。 
squid有一个主要的配置文件squid.conf,在RedHat环境下所有squid的配置文件位于/etc/squid子目录下。 

4.1常用的配置选项 
因为缺省的配置文件有问题,所以我们必须首先修改该配置文件的有关内容,以便让squid跑起来。 
下面我们来看一看squid.conf文件的结构以及一些常用的选项: 
squid.conf配置文件的可以分为十三个部分,这十三个部分分别是: 
1.NETWORK OPTIONS (有关的网络选项) 
2.OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM (作用于邻居选择算 法的有关选项) 
3.OPTIONS WHICH AFFECT THE CACHE SIZE (定义cache大小的有关选项) 

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论