栏目列表
 
 
首页 > 操作系统 > win9x > 用Squid实现代理上网及计费
 

用Squid实现代理上网及计费

日期:2005-08-21 05:25:52  来源:微电脑世界陈征 周春琦
请您记住思索网的网址: http://www.4so.net  [加入收藏夹]

      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请求将被拒绝。

  #该log文件是用来描述每次客户请求HTTP内容时高速缓存命中或未命中的项目,同时还描述提出请求的主机身份及它们所需要的内容,它是用SQMGRLOG等软件分析记费的基础。

  cache log /var/log/squid/cache.log

  #用于描述当Squid守护进程启动时可以看到的内存容量、交换空间的大小、高速缓存目录的位置、所接受的连接类型以及接受连接的端口。

  cache_store_log /var/log/squid/store.log

  #用于描述页面从高速缓存中被调入调出的情况。

  pid filename /var/run/squid.pid
  #Squid进程的进程号。
  dns nameservers 192.x.x.1
  #定义域名解析服务器的地址。
  cache_mgr squidadmin@your.domain
  #cache管理员的邮件箱地址。
  reference age 1 week
  #设置缓冲区的更新周期。
  maximum object size 4096 KB
  #设置允许被缓存的一次性最大请求。
  cache_effective_user squidadmin squidadmin
  #以用户squidadmin的身份运行。

  四、用SQMGRLOG实现计费

  $cd /tmp
  $tar -zxvf sqmlog*
  $cd sqm*
  $./configure --enable-config=/usr/local/squid/
  的选项主要有以下2项。

  1. 语言

  该语言不包含中文。事实上,它的语言部分是由English.h控制的,可以汉化后对其进行编译和安装。

  --enable-language=English, Bulgarian_windows1251, Czech, Dutch, French, German, Hungarian, Indonesian, talian, apanese, Portuguese, Russian_Koi8, Russian_windows1251, Serbian, Spanish, Turkish default: English

 
 
热门信息
 
相关文章
 
    无相关信息