Chinaunix首页 | 论坛 | 博客
  • 博客访问: 127213
  • 博文数量: 24
  • 博客积分: 825
  • 博客等级: 准尉
  • 技术积分: 280
  • 用 户 组: 普通用户
  • 注册时间: 2004-11-02 09:09
个人简介

打不死的蟑螂

文章分类

全部博文(24)

文章存档

2017年(1)

2016年(2)

2014年(1)

2013年(3)

2012年(1)

2011年(1)

2010年(1)

2009年(1)

2008年(3)

2006年(1)

2005年(7)

2004年(2)

我的朋友

分类: LINUX

2008-11-11 21:22:37

目的
整合网域验证
禁止访问指定网站,因特殊需求经审核后方可访问
禁止访问外部mail站点, 因特殊需求经审核后方可访问
禁止使用MSN QQ软件, 因特殊需求经审核后方可访问
 
软件环境
 OS Version:         Linux EL 5.0 Update2
 Squid Version:     Squid -2.6.STABLE6-5.e15_1.3
 
安装squid
安装squid rpm包
Rpm –ivh squid-2.6.STABLE6-5.e15_1.3.i386.rpm
将squid设定为系统服务
键入setup,选择“系统服务”,选择“squid”

Squid 代理功能设定

squid.conf

开启中端机,键入vi /etc/squid/squid.conf,编辑squid设定文件
     http_port 3128
启用squid这个daemon 的port ,默认proxy port为3128
 icp_port  3130
监听端口 默认3130
 cache_dir ufs /cache/cache1 80000 256 16
指定cache目录的大小与纪录档案所在的目录,cache存放目录为/cache/cache1 大小为400000*20%=80000 ;Q1=256,Q2=16, Q1为当Squid停止打开新文件时未回复的I/O请求数目,如果有太多的信息在队列中,squid将不会开启新文件.默认为64.Q2为当squid开始blocks时未回复的信息数目,如果有太多的信息在对列中,squid 在收到回复前将一直block,默认为72.当Q1>Q2的时候用于高的点击率,低的响应时间,Q1
cache_mem 1024
指定额外提供给squid使用的内存,一般设置为实体内存的三分之一计算squid使用掉的内存方法是X*10+15+cache_mem X为磁盘快取空间,80GB,X=80
access_log /cache/squid/log/squid.log squid
设定访问日志存放位置
cache_log /cache/squid/log/cache.log
设定cache log存放位置
 cache_store_log /cache/squid/log/store.log
指定cache_store_log 存放位置
 pid_filename /cache/squid/log/squid.pid
指定写入进程ID的文件
maximum_object_size1024KB
大于该值的对象将不被存储在缓存里。如果要提高访问速度,就降低该值;如果想最大限度节约带宽,降低成本,就增加该值。默认值为4094KB。
 maximum_object_size_in_memory 32KB
指最大的能保存在内存中的对象。如果内存足够多,可以适当将数值调整得大一些,可以加快客户机读取大对象的速度。
visible_hostname fsc-prx
设定主机名
cache_mgr 
当用户请求被拒绝,在拒绝页面显示管理员的e-mail地址
Cache_effective_user nobody
设定squid启动账户为权限最小的nobody
Cache_effective_group nobody
设定squid启动群组为权限最小的nobody
保存以上设定后,在终端机键入如下命令:

生成cache目录

在终端机中键入:Squid -z

更改目录权限

在终端机中键入:
chown –R nobody:nobody /cache/cache1
chown –R nobody:nobody /cache/squid
chown  -R nobody:nobody /var/spool/squid

启动squid服务

在终端机中键入: Squid –N –d l –D

整合网域验证

编辑squid.conf,在auth_param标签下输入以下内容:
auth_param basic program /usr/lib/squid/squid_ldap_auth -u -cn -R
-b "dc=example,dc=com"
 -D "cn=test001,cn=Users,dc=example,dc=com"
-w "test001"
-f sAMAccountName=%s -h 192.168.16.16
-u 指定 包含用户名登陆的DN属性名字
-b 指定查询的DN
-D 指定登陆查询ldap用户名test001所在DN
-w pilot01的密码
-f ldap 搜索过滤用户的DN
-h 指定ldap server 地址
auth_param basic children 5                         验证进程数目
auth_param basic realm example Software Corporation指定用户输入用户名和密码看到的文本文文件
auth_param basic credentialsttl 15 minutes指定用户多少时间验证时间
在acl标签下,键入如下内容:
acl ldapauth proxy_auth REQUIRED          定义ldapauth一个acl对象,需要密码验证
http_access allow ldapauth                          允许所有通过验证用户
http_access deny all                                      阻止所有访问internet

阻止访问指定SITE

在acl标签下,键入如下内容:
acl disable_site dstdomain "/cache/squid/deny_site.txt"
定义acl对象,并指定deny site存放位置,deny_site.txt中URL地址写法为:.example.com
http_access deny disable_site
阻止定义对象访问internet

MSN,QQ限制

acl msnmessenger req_mime_type  ^application/x-msn-messenger$
根据access.log,msn登陆时会返回一个值^application/x-msn-messenger$,定义acl一个对象
acl msn_allow src "/cache/squid/allow_msn_ip.txt"
定义允许使用MSN的acl对象,并指出允许访问MSN的IP列表,地址写法为:192.168.16.16/32
http_access allow msn_allow SSL_ports
允许特殊用户使用443端口
http_access deny CONNECT SSL_ports
不允许用户使用443端口
http_access allow msn_allow msnmessenger
允许特殊用户使用msn
http_access deny msnmessenger
不允许用户使用msn

外部e-mail限制

acl email url_regex -i ^
定义一个使用正则表达式匹配所有开头的acl对象
acl email_allow src "/cache/squid/allow_email_ip.txt"
定义一个允许使用email的acl对象,并指定存放位置,地址写法为:192.168.16.16/32
http_access allow email_allow email
允许指定用户访问email
http_access deny email
不允许所有用户访问外部email
 
 
 
阅读(2497) | 评论(0) | 转发(0) |
0

上一篇:转MIME简介

下一篇:Tomahawk安裝指導說明

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