一、安装
1、rpm安装,此安装不作解释,一般装LINUX时就可以选择,可自行下载RPM包装,也 可以用光盘安装,但此安装有一点不支持MAC地址控制上网。
2、编译安装,此安装的原因是因为我要用MAC地址控制终端。
  (1)下载源码包,官网http://www.squid-cache.org,把源码包放在本机的/usr/local/目录下。然后解开源码包,用tar 命令解开源码包。
(2)进入解开后的包内的文件夹后,看看编译前的说明文件。然后开始编译。
./configure  --prefix=/usr/local/squid \  //此为安装目录
--sysconfdir=/etc/squid  \   //此为更改etc目录的位置
--enable-large-cache-files  \  //可以解决日志文件大于2G的问题。
--enable-arp-acl \     //这条是关键,可以用MAC地址控制终端,这是我要的结果
其他的一些参数不作一一解释,网上一搜一把。有些参数我也没搞明白。我一会顺便贴一份参数说明列表吧。
./configure  --prefix=/usr/local/squid \ 
--sysconfdir=/etc/squid  \  
--enable-arp-acl \ 
--enable-linux-netfilter \
--enable-pthreads \
--enable-err-language="Simplify_Chinese" \
--enable-default-err-language="Simplify_Chinese" \
--enable-auth="basic" \
--enable-baisc-auth-helpers="NCSA" \
--enable-underscore
以上为参数列表。
然后  make
          make install安装即可。
待续----马上回来。

二、配置参数

vi /etc/squid/squid.conf 可以开始配置参数了。

主要参数:

http_port  默认是3128  ,可不改用默认的
cache_men  设置可用内存,默认为8M,最好设置为实际内存的1/3大小
cache_dir //指定何种方式及存放CACHE文件的位置 ,可用默认即可
cache_swap_low  90
cache_swap_high  95 //当缓存使用磁盘空间低于  cache_dir指定的大小的 90%时不置换缓存文件,当高于 指定大小的95%时开始置换。 可使用默认值

maximum_object_xize  //控制缓存中最大对象的大小
dns_nameservers //指定域服务器

以下这几个参数要特别注意:

  cache_effective_user
cache_effective_group   //设定为由谁来运行squid。 默认是nobody。如用默认值 时就用把日志文件夹设为755权限。把初始化文夹(/usr/local/squid/var,此文件夹需手工建 立)设为拥有者为nobody.用命令设  chown -R 设置。
也可以在此指定用户名和组名,然后把日志文件和初始化文件夹设为此处指定用户为可读写执行的权限。
visible_hostname //设置此处的电脑名为你本机的电脑名,并在 /etc/hosts中设定本机电脑名的IP

日志文件设置:

cache.log  //包含状态性和调试性的信息
access.log  //记录客户端请求记录日志,每个客户端请求一次就记录一次
store.log   //记录进入和离开缓存的每个目标文件

cache_access_log/dev/null   //可以设定为不记录请求日志
cache_store_log   none  //禁用store日志

注意,以上日志均不能超过2G,超过将无法启动SQUID

访问控制设置:

acl mac arp "/etc/squid/mac.txt"   //先定义允许通过代理的MAC地址的文件
acl badhttp dst "etc/squid/badhttp.txt"  //定义不允许访问的网址的文件

http_access allow mac   //允许上面定义的MAC里的MAC地址的访问
http_access deny badhttp  //拒绝访问以上定义的BADHTTP里的网址


访问控制有很多种,这里就不多述了。有空再补上这一块的,可squid权威指南里查。

至此配置完毕。保存退出。


最后:
初始化及启动squid

/usr/local/squid/sbin/squid -z     //初始化squid
/usr/local/squid/sbin/squid -s    //启动 squid
/usr/local/squid/sbin/squid -k reconfigure  //重新载入配置
即可完成了。

注意点:存放缓存的空间要足
             日志文件不能超过2G
又发现一个问题:以上方法建成的代理服务器,只能控制本网段的。
    加上 acl http  src 192.168.0.0./255.255.0.0
            http_access allow http 后,所有的192.168.0.0的都可以上网了,就没法控制只允许MAC中定制的电脑上网了。
因为mac是二层数据,没法跨网段。所以需要多块网卡代理不同网段的。还好我们这里只有两个网段,只用了两块网卡。
以上为自已找资料配置成功过的。且一直在实用中。有一些是故障后找出的故障原因,有不对之外请高手指教 。透明代理这一块还没有搞。





以下内容是转载其他博客


Squid 错误解决一则:squid: ERROR: No running copy
Problem:
#/usr/local/squid/sbin/squid -k reconfigure
squid: ERROR: No running copy
Resolve:
#ps -aux|grep squid
nobody    2480  0.0  0.7  4088  996 ?        S    10:41   0:00 /bin/sh /usr/local/squid/bin/RunCache
nobody    2487  0.1  5.5  8980 6968 ?        S    10:41   0:02 squid -NsY
root      3104  0.0  0.5  4448  648 pts/2    S    11:10   0:00 grep squid
#cat /etc/squid/squid.conf |grep "squid.pid"
pid_filename /var/run/squid.pid
#echo /var/run/squid.pid
5049
????????
#vi /etc/squid/squid.conf
修改/var/run/squid.pid为
pid_filename /usr/local/squid/var/logs/squid.pid
此为默认的
#echo "2487" > /usr/local/squid/var/logs/squid.pid
#/usr/local/squid/sbin/squid -k reconfigure
OK!!!