Chinaunix首页 | 论坛 | 博客
  • 博客访问: 100981
  • 博文数量: 18
  • 博客积分: 1575
  • 博客等级: 上尉
  • 技术积分: 189
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-14 15:36
文章分类
文章存档

2012年(1)

2011年(5)

2010年(12)

我的朋友

分类: LINUX

2010-03-17 17:19:55

环境:
   Red Hat Enterprise Linux Server release 5.2 (Tikanga)
   squid-2.6.STABLE6-5.el5_1.3
安装:
#mount  /dev/cdrom /mnt   //挂载系统光盘配置好yum
#yum -y install squid
配置:
#service squid start 
[root@alin squid]# service squid start
Starting squid: /etc/init.d/squid: line 53:  6872 Aborted                 $SQUID $SQUID_OPTS >> /var/log/squid/squid.out 2>&1
                                                           [FAILED]
此报错是由于主机名设置问题需要添加一下字段
#vim  /etc/squid/squid.conf
visible_hostname myhostname
#service squid start        //启动正常
以下为squid几个重要字段:
1.http_port 3128   //表示squid代理服务默认的监听端口,如果有多个网络接口可指定固定接口的ip地址监听例如:http_port 192.168.0.1:3128
2.cache_mgr   //指定管理员邮箱,当发生故障时可发送邮件到管理员邮箱。
3.cache_dir ufs /var/spool/squid  1000 16 256  /指定缓存的文件系统(ufs)和缓存位置,缓存目录大小为1000M 此空间可放在独立分区或磁盘调整相应大小,可提高命中率。 一级有16个缓存目录,二级有256个缓存目录。
4.cache_mem 256M  //squid缓存占用的物理内存大小,此值不能大于cache_dir中的硬盘缓存目录空间大小,否则会出现:
WARNING cache_mem is larger than total disk cache space
5.acl管理

Squid可以通过IP地址、主机名、MAC地址、用户/密码认证等识别用户,也可以通过域名、域后缀、文件类型、IP地址、端口、URL匹配等控制用户的访问,还可以使用时间区间对用户进行管理,所以访

问控制是Squid配置中的重点。Squid用ACL(Access Control List,访问控制列表)对访问类型进行划分,用http_access deny 或allow进行控制。

下面列出一些重要的 ACL 元素类型

src : 源地址 (即客户机IP地址)
dst : 目标地址 (即服务器IP地址)
srcdomain : 源名称 (即客户机名称)
dstdomain : 目标名称 (即服务器名称)
time : 一天中的时刻和一周内的一天
url_regex : URL 规则表达式匹配
urlpath_regex: URL-path 规则表达式匹配,略去协议和主机名
proxy_auth : 通过外部程序进行用户验证
maxconn : 单一 IP 的最大连接数


为了使用控制功能,必须先设置 ACL 规则并应用。ACL 声明的格式如下:

ACL的基本格式如下: acl 列表名称 控制方式 控制目标

以上设置即可实现普通代理。
 
透明代理需要设置一下字段:
  http_port 3128  transparent
iptables -t nat -A PREROUTING -p tcp --dport 80 -j  REDIRECT --to-ports 3128
 
squid反向代理:
反向代理 (也称web加速器、cache缓存服务器)
                      proxy
internet ------------ cache --------------- www
                  (可以多台、集群)

实验环境:
internet: 10.1.1.1
squid服务器: 10.1.1.2
            192.168.0.222
www服务器: 192.168.0.223
配置:
1.squid服务器:
修改配置文件squid.conf如下(918行左右位置):
    http_port 80 vhost  <---------------------------------------------------- vhost 让服务器支持反向代理
   
2.配置代理服务器,添加端口为81的虚拟主机的配置信息:
    cache_peer 192.168.0.222 parent 8000 0 no-query originserver weight=1 name=web1
将节点设为no-query以及originserver说明这些节点是实际服务器
    cache_peer_domain web1
    cache_peer_access web1 allow all
 
阅读(1231) | 评论(0) | 转发(0) |
0

上一篇:linux 路由表维护

下一篇:nagios经典

给主人留下些什么吧!~~