IP紧缺是高速发展的网络面临的现实问题,我们该如何解决这一问题?将只有内部IP的计算机通过一台具有标准IP作为代理服务器的计算机连接到Internet上是解决此问题的一种绝妙手段。代理服务器是数据的中转站,它可以将经过代理服务器的数据记录下来,为后继的数据分析和计费提供服务与帮助。另外,借助代理服务器软件(比如Squid)可以建立访问站点的缓存,从而让再次访问的用户能够直接从缓存中调用数据,加快访问速度,减少重复的网络数据流量。
由于Squid具有权限管理灵活、性能高和效率快等特点,应用较为广泛,因此,我们将就代理服务器软件Squid在Linux、FreeBSD和Unix应用中的认证问题进行讨论,同时还将介绍关于利用Squid辅助软件实现代理上网与计费的具体方法。
一、获取Squid及相关的软件
从http://squid-cache.org/上获取Squid软件,从http://web.onda.com.br/orso/上获取htpasswd_plus和SQMGRLOG,并将它们保存在/tmp目录下。
二、在Linux下编译并安装Squid
我们假设软件环境为Redhat Linux 7.x,编译和安装Squid的操作步骤如下。
1.下载最新版本的源文件Squid-2.3.STABLE4.src.tar.gz,并将它放置在/tmp目录下。
2.以root身份创建用户squidadmin#adduser squidadmin
在缺省的情况下,同名组squidadmin已经被建立。Squid因为考虑到安全问题,不能以root身份运行,所以从一开始就使用新建的用户进行安装管理。
3.以squidadmin登录,对Squid源文件解包和安装。
$cd /tmp
$tar -zxvf squid*
$cd squid*
$./configure --prefix=/usr/local/squid
进入Squid目录进行编译,考虑的选项是安装路径
--prefix=/usr/local/squid。
$make
$make install
4.进入/usr/local/squid/bin目录,执行$./squid -z,创建cache交换目录。至此,Squid已经安装在用户的系统上了。然而,要让Squid正常运转,用户还需要做一些基本设置。Squid的运转只与/usr/local/squid/etc/squid.conf有关,所有设置均在此文件中完成。
三、Squid基本设置
#Defaults:
acl all src 0.0.0.0/0.0.0.0
设置的规则在此处加入。
http_access deny all
在缺省的情况下,有以上2条规则。当有请求未能匹配任何一条用户定义的规则时,http_access deny all规则将被应用,这样,http请求将被拒绝。
关注此文的读者还看过: