- 论坛徽章:
- 0
|
目的
整合网域验证
禁止访问指定网站,因特殊需求经审核后方可访问
禁止访问外部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
your_email_addrees@email.com
当用户请求被拒绝,在拒绝页面显示管理员的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 ^http://mail.
定义一个使用正则表达式匹配所有
http://mail
开头的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
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/1727/showart_1407073.html |
|