免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1038 | 回复: 0
打印 上一主题 下一主题

学习笔记:Squid配置注意事项 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-13 17:11 |只看该作者 |倒序浏览
Squid(代理服务器)

安装
rpm -ivh /mnt/Server/squid-2.6.STABLE6-5.el5_1.3.i386.rpm
启动前先编辑配置文件,否则服务起不来

配置文件一共有4K多行……狂晕。(不过大部分是注释)

先添加一行
visible_hostname 192.168.0.1 --让服务器知道自己是谁,这就是为什么前面装完直接启服务起不来的原因了
然后修改缓存目录相关的信息:

#       (hard coded at 1 MB).
#
#Default:
# cache_dir ufs /var/spool/squid 100 16 256
                                                              993,3         22%
这里就是执行squid -Z初始化的时候的配置
意思为:缓存目录  存储格式  路径 大小(MB) 一级目录 二级目录
默认是100MB,16个一级目录,每个一级目录下有256个二级目录,存放分类的缓存内容,默认的目录应该是够了,所有我们不用改它
还有个高速缓存的配置
#
#Default:
# cache_mem 8 MB (大小根据实际空闲内存大小设置,空闲内存60%)
直接缓存在内存里面

注意这里虽然有#号注释,但是squid的注释文件里如果有Default这个关键字就说明下面的配置是默认有效的;一旦这里的缓存设置设置好以后启动服务,以后都不要去更改它了,不然会有问题。


保存以后启动服务:
service squid start (不用squid -Z初始化)

这样就可以工作了,但是默认是拒绝所有的,我们还要配置访问规则
编辑配置文件

#Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
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的别名,在写acl的时候可以引用定义好的acl别名。我们可以自己设置一个
acl internal src 10.0.0.0/24  --所有内部主机
然后写个最简单的,允许internal上网
#Default:
# http_access deny all

#
#Recommended minimum configuration:
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
#
http_access allow internal
http_access deny all
最后面写上拒绝所有,(这段话有点问题,我自己做实验没有写最后一行,也可以,有待核实。因为上面有个default的deny all,所以按这个顺序,默认拒绝所有就不会再匹配后面的规则了。写到下面的没注释,应该是优先。(不放心可以吧上面那个Default的删除))

squid默认代理端口3128,在客户机的浏览器设置就可以了。(client不用设网关)

vim /etc/sysctl.conf
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0    --没开内核转发,即没有启用linux的路由功能,证明是通过代理的
透明代理:

iptables -t nat-A PREROUTING -s 10.0.0.0/8 -p tcp -dport 80 -j REDIRECT \
--to-port 3128

下班,待续

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/100991/showart_2026569.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP