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
下班,待续
阅读(739) | 评论(0) | 转发(0) |