牛骨文教育服务平台(让学习变的简单)
博文笔记

代理缓存服务-squid

创建时间:2017-01-19 投稿人: 浏览次数:2170
一 Squid简介    代理缓存服务器:接收到用户请求后,自动下载指定资源并存储到本地服务器,以后用户请求相同资源时,直接把存储在本地服务器的资源直接传给用户。    Squid服务程序支持HTTP、FTP、SSL等多种协议的数据缓存,支持ACL权限列表和ARL访问权限列表功能的内容过滤和权限管理功能。
   Squid可以部署代理缓存服务,有效提高访问静态资源效率(用户),降低原服务器负载(服务器)。禁止用户访问存在威胁或不适宜网站资源,保证内网安全,整体提高客户机访问速度。    Squid作用分为正向代理和反向代理。
       正向代理:标准代理模式与透明代理模式(用于企业局域网)
           将网站数据缓存在服务器本地,提供数据资源在此被访问的效率,节省网络带宽资源,限制访问页面。
           标准正向代理模式:用户必须在上网时指定代理服务器的IP地址与端口。
           透明正向代理模式:用户不需要指定代理服务器,代理服务对用户透明。        反向代理:(用于大型网站结构中)            降低对网站服务器的负载,用于回复用户对静态网站的请求,降低原始服务器的访问。
二 Squid的相关文件简介    (yum install squid 安装squid服务)
   /user/bin/squid 主服务程序
   /etc/squid/ 配置文件目录
   /etc/squid/squid.conf 主配置文件
   /var/log/squid/access.log 访问日志文件
   /var/log/squid/cache.log 缓存日志文件

   /etc/squid/squid.conf 主配置文件参数
参数(部分参默认隐藏,需自行添加) 作用
http_port 3128 监听端口
cache_mem 64M 内存缓存区大小
cache_dir ufs /var/spool/squid 2000 16 256 硬盘缓存大小(2000M)
cache_effective_user squid 设置缓存有效用户
cache_effective_group squid 设置缓存有效用户组
dns_nameservers IP 地址 服务器默认DNS地址(一般不设)
cache_access_log /var/log/squid/access.log 访问日至保存路径
cache_log /var/log/squid/cache.log 缓存日志文件保存路径
visible_log msun.com 设置Squid服务主机名称
三 代理缓存服务搭建    1.正向代理
主机 IP
代理缓存服务器(linux) 外网:192.168.1.168(桥接模式)
内网:192.168.10.66(主机模式)
客户端(windose) 192.168.10.88
(内网192.168.10网段不能上网,外网192.168.1网段可以上网)     1.标准正向代理
       1.windose客户端            配置IP192.168.10.88,现在windose不能正常上网(电脑连接着网段为192.168.1能上网的路由器)          
           进入浏览器(搜狐),进入网络选项中选择代理如下
         
        2.linux代理服务器            1.网络配置
          
          2.防火墙设置
              firewall-cmd --add-port=3128/tcp --perment               firewall-cmd --reload
           3.重启并设置自启(默认squid配置文件可以直接用)               systemctl restart squid 重启
              systemctl enable squid 自启
       (OK!现在客户端就可以正常上网)。
   2.透明正向代理        1.windose客户端
           IP配置
          
           (浏览器记得还原)
       2.linux代理服务器
           1.配置squid                vim /etc/squid/squid.conf(添加 transparent) (squid -k parse 判断配置文件正确性)
                   http_port 3128 transparent 
               systemctl restart squid 重启squid 
           2.防火墙配置(80端口要开启)                firewall-cmd --permanent --add-masquerade 允许伪装
               firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=192.168.10.0/24 masquerade"                 firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=3128:toaddr=192.168.1.168 端口转发,使用squid服务                firewall-cmd --reload         (经测试,windose访问出现问题,可ping通192.168.10.66无法ping通192.168.1.168 后令开启一台虚拟机,环境设置同windose,访问成功 。。 (建议直接用俩个台linux虚拟机测试))     3.反向代理(取消正向代理的转发策略,并记得关闭http服务)
       1.vim /etc/squid/squid.conf
      
       (106.184.1.125 为要访问网站 )
       2.客户端            用户要访问106.184.1.125 直接访问192.168.10.66就行。    4.ACl访问限制        定义语法:
           acl aclname acltype string            acl aclname acltype "file"
       具体定义:            来源地址
               acl aclname src ip-address/netmask
               acl aclname src addr1-addr2/netmask
           目标地址
               acl aclname dst ip-address/netmask
           访问端口指定
               acl aclname port 80 1024
               acl aclname port 80-1024
           访问网站关键字限制
               acl aclname url_regex [-i] patter
           定义代理服务协议
               acl aclname proto HTTP FTP
           指定请求方法
               acl aclname method DET POST
                       acl匹配规则自上而下 
           eg1:(限制squid访问ip仅为192.168.1.188)                acl client src 192.168.1.188
               http_access allow client
               http_access deny all
           eg2:(禁止访问带"linux"关键词网站)
               acl deny_keyword url_regex -i linux                http_access deny deny_keyword             eg3:(禁止访问百度)                acl deny_url url_regex http://www.baidu.com                http_access deny deny_url             eg4:(禁止代理服务器下载mp3与rarh后缀文件)                acl deny_file urlpath_regex -i .mp3$ .rar$                 http_access deny deny_file            
 
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。