Linux下架设代理服务器图文讲解

lyonte 2008-04-19

为了节省与控制上网开支,许多公司及办公室采取了申请一条DDN专线,将整个公司或办公室连成一个局域网,然后让整个局域网共享这条DDN专线上网。在这种情况下,如下图所示,在Linux环境下我们可以通过一个代理服务器来实现。

Linux下架设代理服务器图文讲解

图-1 用代理服务器上网

    1 HTTP代理服务器

代理服务器,顾名思义就是局域上不能直接上网的机器将上网请求(比如说,浏览某个主页)发给能够直接上网的代理服务器,然后代理服务器代理完成这个上网请求,将它所要浏览的主页调入代理服务器的缓存;然后将这个页面传给请求者。这样局域网上的机器使用起来就像能够直接访问网络一样。

并且,代理服务器还可以进行一些网站的过滤和控制的功能,这样就实现了我们使用它的初衷——控制和节省上网费用。

在Linux中,有一个功能很强大的http/https/ftp的代理服务器程序——Squid Proxy Server,由于它安装简单,使用方便,所以已经被广泛地使用。在RedHat Linux的安装光盘中已经包含了它。下面我们说说它的使用方法。

   1.1 安装Squid Proxy Server

由于在安装光盘中用Squid的RPM安装包,所以我们可以使用RPM来安装Squid。

rpm –ivh squid-1.1.22-2.rpm

当然,由于这个安装包是在光盘上的,我们要先将光盘mount到文件系统中来,才能够进行安装。

这样,squid就会完成安装,并做了相应的初始设置。

   1.2 配置初步

Squid Proxy Server仅有一个配置文件——/etc/squid.conf。我们必须对它进行相应的修改才能适用于我们的系统。下面就是一些最基本的配置选项。我们可以用vi打开这个文件进行编辑。

1. 设置http/https/ftp的代理端口号:

代理端口的默认值是3128,可以根据自己的喜好修改。但是要注意的是,千万不能与一些著名的端口冲突,例如POP端口——110等。如果你不是十分熟悉,就保留默认值吧。

下面就是在/etc/squid.conf文件中的一句:

http_port 3128

2.添加访问控制组:

我们将需要区别开的不同用户定义成一个访问控制组。比如一个公司的内部网的网络IP是192.168.200.0。而且只想区分公司内和公司外的两类用户,则我们就在/etc/squid.conf文件中添加下表的两句:

   acl all src 0.0.0.0/0.0.0.0

   acl company src 192.168.200.0/255.255.255.0

这样,我们说定义了一个包含所有人的组,和一个包含公司内部网的所有人的组。下面就可以对这两个组分别进行访问权力的设制。

3. 设置每个访问控制组的访问权力:

比如,我们希望公司内部的所有人都能够通过代理服务器上网,而禁止其它的人使用代理服务器上网,则我们就在/etc/squid.conf文件中添加下面两句:

 http_access allow company

 http_access deny all

也就是我们allow(允许)“company”组使用代理服务器,而除了这个组以外的“all”deny(禁止)使用代理服务器。要注意的是,这两句一定不能顺序调换。否则将禁止所有的用户使用。

请大家好好体会。

4. 存盘退出;

5. 执行下面的命令,使得新的配置生效:

/etc/rc.d/init.d/squid restart

上面仅仅是一个最基本的设置,squid提供了许多功能强大的可选项,大家可以根据实际情况进行更详尽的设置。在/etc/squid.conf文件中,每一项设置均有详尽的注释,大家可以参看这些帮助为squid作更多的设置。

相关推荐

songjie / 0评论 2012-10-23