squid代理服务器

一、代理服务器的原理:

    1、squid是linux系统中的一款开源代理软件,类似的带软件的有:varnish,cock5等68款代理
服务器

查询网址:

http://www.oschina.net/project/tag/102/proxyserver?lang=37&os=0&sort=view&p=1

    2、代理服务器的原理:客户端请求代理服务器、代理替客户端上网访问公网资源,并缓存资源以便于客户端再次访问。

    3、squid代理的好处:

         1)隐藏内部真实IP地址,提高安全性

         2)减少重复请求,提高访问速度

         3)通过ACL控制上网行为

     4、squid代练的类型:传统代理、透明代理、反向代理

二、部署传统代理

     1、特点:客户端必须指定代理服务器的IP及端口

     2、部署:安装、修改配置、启动服务器客户端设置代理、访问测试

三、透明代理:

    1、特点:不需要指定代理

    2、优点:使用方便可控性强

    3、缺点:代理服务器必须是网关

    4、部署:

          1)/etc/squid.conf中的http_prot    ip:3128

          2)设置防火墙:

               iptables  -t    nat  -I  PREROUTING  -s  内网网段   -p  tcp   --dport  80  -j REDIRECT  --to  3128   #抓取内网80端口数据并使用代理

               iptables  -t    nat -A POSTROUTING -s 内网网段  -o  eth1  -j  MASQUERADE    #非80端口的数据使用SNAT上网

          3)客户端不需要设置代理,如果设置必须取消

四、设置ACL控制:

     1、acl是squid应用层的控制机制,可以针对IP、端口、URL等进行过滤处理。

     2、定义acl的语法:

         1)设置ACL列表:acl   列表名称   列表类型   内容

         2)控制:http_access  deny | allow  列表名称

         3)重启squid

注意:列表类型是squid提供的,不能自定义、其他哦都是可以自定义;常见类型:src、dst(源、目的ip)、port端口、dstdomain目标域、url_regex目标URL地址、Urlpath_regex(整个URL的)路径、time时间

     3、squid提供acl匹配流程:

         1)顺序匹配,匹配及停止

         2)如果没有匹配规则与最后一条相反,如果没有最后一条拒接访问

五、squid日志管理:sarg

     1、sarg是专业分析squid日志的工具,通过分析squid的日志,生成一个html的报告文件;用户可以
通过web服务在浏览器查看到日志分析报告

     2、部署:安装、生成配置文件、分析日志生成报告、结合计划任务分析数据并生成报告,访问。

注:传统代理服务器部署、透明代理服务器部署以及squid日志分析的部署详细请看文档