|
|
发表于 2004-1-16 21:19:57
|
显示全部楼层
# cat /etc/squid/squid.conf
#________________________________________________________________
#
# 代理服务器同时也是网关,内部网络接口 eth0 的 IP 地址为 192.168.0.1
#
http_port 192.168.0.1:3128
#
# 此句法指定了远程服务器的 IP 地址,使用 255.255.255.255 指定为所有地址
#
# tcp_outgoing_address 255.255.255.255
#
# 这里可以使用http_port语法进行绑定端口和IP地址,表示客户端的请求。可以不使用。
#
# tcp_incoming_address
#
# 当错误发生时,该地址会显示在错误页面上
#
cache_mgr 21@21cn.com
# hierarchy_stoplist cgi-bin ?
#
# 设置缓存根目录为 /var/cache/squid,类型为 ufs
# 缓存区大小为 300M,可以有 16 个二级子目录,每有二级目录有 256 个三级子目录。
#
# 如果不想使用缓存请用 cache_dir null /tmp
#
# squid -k check 输出会告诉你 Squid 的当前状态
#
cache_dir ufs /var/cache/squid 300 16 256
#
# 所有缓存数据以组 squid 和用户 squid 身份保存
# cache_effective_user squid squid
#
cache_effective_user squid
cache_effective_group squid
#
# 由于 Squid 在读写磁盘,I/O 通道,数据转贮等需要大量内存,
# 我们可以把内存值稍微设置大一些,这样可以提供服务器性能(最好不要超过内存的 1/3 )。
#
cache_mem 32 MB
#
# 这用做表示缓存内部对象的替换的衡量基线。
# 当交换分区的磁盘利用率超越这个基线,那么缓存对象替换也就随之开始。
#
cache_swap_low 90
#
# 此标记用于缓存对象替换的最高程度。
# 当交换分区磁盘利用率接近此设置,则表示对象的更新程度更为剧烈。
#
cache_swap_high 95
#
# 此标记用于当缓存新对象时,使用缓存策略来清除缓存中特定对象
# 这里使用 lru 表示:它只替换长时间没有被访问过的对象。其他策略请参看配置文档介绍。
#
# cache_replacement_policy lru
#
# 此用法同上,区别在于替换内存对象。
#
# memory_replacement_policy lru
# 超过此尺寸的对象将不缓存
# maximum_object_size 4096 KB
# 小于此尺寸的对象将不缓存
# minimum_object_size 0 KB
# 内存中能缓存的最大对象尺寸
# maximum_object_size_in_memory 8 KB
# 指定 IP 缓存大小
# ipcache_size 1024
# 缓存 IP 地址的最低基线
# ipcache_low 90
# 缓存 IP 地址的最高极限
# ipcache_high 95
# 缓存 DNS 全域名解析的尺寸
# fqdncache_size 1024
#
# 下面的几个关于缓存的策略配置中,较主要的是第一行,即用户的访问记录,可以通过
# 分析它来了解所有用户访问的详尽地址
#
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
cache_swap_log /var/log/squid/swap.log
#
# 记录客户端主机的 IP 地址。
#
# log_ip_on_direct on
#
# 记录全 DNS 域名解析。
#
# log_fqdn on
#
# Squid 所用 mime 的文件路径
#
# mime_table /usr/local/squid/etc/mime.conf
#
# Squid 进程 ID 的文件。
#
# pid_filename /usr/local/squid/logs/squid.pid
#
# 这里可以使用匿名登陆 FTP 服务器。
#
ftp_user Squid@ynst.net.cn
#
# FTP 文件列表长度,超过长度则截断文件名 (32)。
#
ftp_list_width 64
#
# 允许主动连接 FTP 服务器。
#
ftp_passive on
# ftp_sanitycheck on
#
# 指定代理的域名解析服务器。
#
dns_nameservers 202.96.128.143
#
# 告诉 Squid 在错误页面中显示的服务器名称
#
visible_hostname 192.168.0.1
#
# 错误信息的语言
#
error_directory /usr/lib/squid/errors/Simplify_Chinese
#
# 如何处理用户,对每个请求的 IP 地址作为单独地址处理
#
client_netmask 255.255.255.255
#
# 透明代理
#
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
#
# 用户行为控制
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 方案一:基本设置
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl normal src 192.168.0.2-192.168.0.254/32
acl all src 0.0.0.0/0.0.0.0
http_access allow normal
http_access deny all
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 方案二:每周星期一至星期五的上午八点到下午六点,允许用户在这个时间段内上网
# 可以通过修改 /etc/errorurl.txt 限制网络访问。
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# S - Sunday, M - Monday, T - Tuesday, W - Wednesday, H - Thursday, F - Friday
# A - Saturday,如果七天都允许,也可以不写。
# 时间格式是 H1:M1-H2:M2,要求是前面的要小于后面的
# acl accept_time time MTWHF 8:00-18:00
# acl normal src 192.168.0.2-192.168.0.254/32
# acl all src 0.0.0.0/0.0.0.0
# acl errorurl dstdomain "/etc/squid/errorurl.txt"
# http_access allow normal accept_time
# http_access deny errorurl
# http_access deny normal
# http_access deny all
# ……
# errorurl.txt 列出要过滤色情网站地址的关键字,每个关键字占一行,如 xchina |
|