CentOS6.2安装配置Squid(2)

第三步:安装squid
yum install squid* -y
============================================================================================Installing:
squid                                    x86_64                                 7:3.1.10-1.el6_2.4                                   base                                 1.7 M
Installing for dependencies:
perl-DBI                                 x86_64                                 1.609-4.el6                                          base                                 705 k

Transaction Summary
============================================================================================Iinstall       2 Package(s)

第三步:编译squid.conf
先备份squid.conf
cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
备不备份都行,其实在squid目录下有一个squid.conf.default文件就是这个conf的备份,这只是我个人习惯
vim /etc/squid/squid.conf
在后面修改及增加以下内容(黑色字体为原有的,栗红字体为增加部分,绿色字体为修改部分)
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl pm_equipment src "/etc/squid/ip_server" #设置内网IP列表
acl pm_qiantai src "/etc/squid/ip_special"  #设置内网IP列表
acl pm_backup src "/etc/squid/ip_limited"   #设置内网IP列表 
acl pm_dhcp src "/etc/squid/ip_dhcp"   #设置内网IP列表
acl deny_ip dst "/etc/squid/deny_ip"   #设置禁止访问外网的IP
acl deny_dns dst "/etc/squid/deny_dns" #设置禁止访问的域名
acl deny_urlpath urlpath_regex -i "/etc/squid/deny_urlpath"  #设置禁止访问包含关键字的url,如:\.jpg$
acl deny_url url_regex -i "/etc/squid/deny_url" #设置禁止访问的url,如^">
acl deny_urlhead dstdom_regex -i "/etc/squid/deny_urlhead"   #设置禁止访问某些关键字开头的网址,如:^game
acl ban_down url_regex -i "/etc/squid/deny_downfile" #设置禁止下载的文件类型,如:\.mp3$ \.vbs$ \.rmvb$
acl server_time time SMTWHFA 01:00-03:00 #设置服务器连网时间

===========下面内容不是写在squid.conf内的,只是上面配置的说明=================

注:为了方便日后的管理,acl定义的ip地址段都做为一个文件放到/etc/squid/下,例如/etc/squid/ip_server
touch /etc/squid/ip_server
vim /etc/squid/ip_server
写入所要用到的地址段
192.168.88.1-192.168.88.40
SMTWHFA:表示周日~周一,每个字母表示一天
注意:同一网段内的地址范围不用写子网掩码,而分几个网段的就要写了例如:192.168.88.0/24 172.31.1.0/16或者192.168.88.0-192.168.89.0/24,写法为一网段一行)

===========上面内容不是写在squid.conf内的==================


acl SSL_ports port 443
acl Safe_ports port 80           # http
acl Safe_ports port 21           # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70           # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT


acl pmfsip src 192.168.88.3
acl pmfsrmac arp 00:14:78:31:ED:D2
http_access deny pmfsmac !pmfsip
http_access deny !pmfsmac pmfsip
这是ip与mac的绑定,我本也想把它做到一个文件里,不然几十台服务器一个个写,真要吐了,但一直未能成,这回头再试吧。

http_access allow manager localhost   #允许manager访问localhost
http_access deny manager     #禁止manager访问

http_access deny !Safe_ports   #禁止访问不在Safe_ports里的端口
http_access deny CONNECT !SSL_ports     #禁止访问非443,563端口

http_access allow localnet
http_access allow localhost
http_access allow pm_qiantai SSL_ports #允许特殊用户使用443端口,但不能上网
http_access allow pm_equipment server_time #服务器上网时间
http_access deny deny_ip
http_access deny deny_dns
http_access deny deny_url
http_access allow pm-dhcp                                            
http_access deny all

http_port 192.168.88.254:8080 transparent
#squid的http监听端口为8080,目地是把目标端口为80重定向到8080端口(默认是3182,改不改看个人),如果要设置为普通的代理这句写成:
http_port 8080

hierarchy_stoplist cgi-bin ?

coredump_dir /var/spool/squid

refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

#禁止缓存  URL中有包含cgi-bin和https:\\开头的都不缓存,asp、cgi、php等动态脚本不缓存
hierarchy_stoplist -i ^https:\\ ?                               
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex -i cgi-bin \? \.asp \.php \.jsp \.cgi
acl denyssl urlpath_regex -i ^https:\\
no_cache deny QUERY
no_cache deny denyssl

#Cache setup
cache_dir ufs /var/spool/squid 2048 16 256

#设置硬盘缓冲位置大小存储类型,注意:加粗的这个值一定要比cache_mem大,不然会报错。
cache_mem 1024 MB #指定缓冲内存大小(根据服务器配置以及需要来配置,一般设置1/3-1/2倍的内存大小即可)
cache_swap_low 90 #最低缓存率百分比
cache_swap_high 95 #最高缓存率百分比,当高速缓存占用到95%时,自动减小到90%
maximum_object_size 4096 KB #设置squid磁盘缓存最大文件,超过4M的文件不保存到硬盘
minimum_object_size 0 KB #设置squid磁盘缓存最小文件
maximum_object_size_in_memory 4096 KB #设置squid内存缓存最大文件,超过4M的文件不保存到内存

#dns_children 10  #设置DNS查询程序的进程数,默认是5,据说最高是32
redirect_children 100 #指定squid应该开启多少重定向进程,默认值是5个进程
ipcache_size 1024  #DNS解析后的IP放在缓存中,可免去重复查询DNS,提高访问速度
ipcache_low 90
ipcache_high 95
fqdncache_size 1024

visible_hostname pmproxy  #设置主机名
error_directory /usr/share/squid/errors/zh-cn   #设置报错为中文
cache_access_log /var/log/squid/access.log      #设置访问日志
cache_log /var/log/squid/cache.log                     #设置缓存日志
squid logfile_rotate 6    #设置日志轮转,6表示会生成0~6共7个日志文件
cache_mgr itadmin@163.com    #设置管理员邮箱
forwarded_for off     #不传递被代理地址      
via off  #不传递代理服务器信息

配置完成后保存,并启动squid
service squid start
init_cache_dir /var/spool/squid... 正在启动 squid:.       [确定]

将squid加入系统启动项
chkconfig --level 35 squid on

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/60634ee2840e4254252c1786e69fa546.html