RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
用Squid实现代理上网及计费
  • 作者:xiaoxiao
  • 发表时间:2020-12-23 10:37
  • 来源:未知

作者:percent100

一、 获取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请求将被拒绝。

---- 那么如何在Linux中设置Squid的用户认证存取控制呢?Squid用access control list(缩写为acl)来管理规则。例如:

acl aclname acltype string1 ... acl aclname acltype "file"

---- aclname为用户定义规则的名字,acltype是可被Squid识别的类别(主要有src、dst、proxy_auth、port和time...),string为用户的设置,可以用"file"从外部文件调入设置。