Squid:是一个高性能的代理缓存服务器,可以加快内部浏览互联网速度(正/反向)、IP伪装“×××”提高网络的安全性,还可使用访问控制与访问权限清单来防止非法连接或者有威胁等站点。(代理服务器功能:代理、缓存、ACL(访问控制))。firefox插件:firebug

  curl -I http://域名:可以体现出每个网站详细信息

  分为三大分类:正向代理(客户端程序需指定代理服务器地址和端口),透明代理(客户端需要设置特定的网关),反向代理(负载均衡)

正向代理配置如下:

      首先需要3台Linux系统虚拟机,一台客户机(192.168.4.11),一台squid代理服务器(内网192.168.4.5 | 公网1.0.0.254),一台web客户机(1.0.0.1)。实现192.168.4.0/24网络的所有主机可以通过squid代理服务器访问外部网络。

在1.0客户机配置:

   yum -y install httpd

      service httpd restart

      chkconfig https on

   netatst -anptu | grep 80

ech0 www192.168.4.11 > /var/www/html/index.html

在squid代理服务器配置:

   yum -y install squid

   cat /etc/squid/squid.conf

        http_port : 3128   代理服务器端口

        visible_hostname : 设置主机名称

        cache_mem :  设置内存缓存大小(物理内存4/1即可)

        cache_dir : ufs(储存格式) /vat/spool/squid 100(硬盘目录空间) 16(一级目录数) 256(二级目录数)

        http_access : allow localnet(允许本机所有网络中的所有主机使用代理服务器) 访问控制限制

 

        service squid restart   chkconfig squid on  

  netstat -anptu | grep 3128

   yum -y install httpd

      service httpd restart

      chkconfig https on

   squid默认访问日志:/var/log/squid/access.log

   httpd默认访问日志:/var/log/htppd/access.log

在4.11客户机配置:

   yum -y install httpd

      service httpd restart

      chkconfig https on

以Firefox浏览器为例 在编辑--首选项--高级--网络--设置--手工配置代理添加squid代理地址(192.168.4.5)

在地址栏输入:http://1.0.0.1:/index.html 回车会看到1.0web页面信息。

也可以通过access.log日志访问查询。

透明代理配置如下:


在1.0客户机配置:

   yum -y install httpd

      service httpd restart

      chkconfig https on

   netatst -anptu | grep 80

route add default gw 1.0.0.254  设定指定网关

ech0 www192.168.4.11 > /var/www/html/index.html

在squid代理服务器配置:

   yum -y install squid

   cat /etc/squid/squid.conf

        http_port : 3128   transparent(设置透明代理)代理服务器端口

        visible_hostname : 设置主机名称

        cache_mem :  设置内存缓存大小(物理内存4/1即可)

        cache_dir : ufs(储存格式) /vat/spool/squid 100(硬盘目录空间) 16(一级目录数) 256(二级目录数)

        http_access : allow localnet(允许本机所有网络中的所有主机使用代理服务器) 访问控制限制

  cat /etc/sysctl.conf

         net.ipv4.ip_forward = 1  开启路由功能

   iptables -t nat -A PREROUTING -s 192.168.65.0/24 -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128   设置防火墙规则开启nat端口转发

   service iptables save  保持防火墙规则

   service squid restart   重启squid代理

 在4.11客户机配置:

   yum -y install httpd

      service httpd restart

route add default gw 192.168.4.5  设定指定网关

elinks --dump http://1.0.0.1 回车会看到1.0web页面信息。

也可以通过access.log日志访问查询。

反向代理配置如下:


    环境:首先需要4台Linux系统虚拟机,一台wed客户机(192.168.4.11),一台web客户机(192.168.4.22),一台squid代理服务器(内网192.168.4.5 | 公网1.0.0.254),一台客户机(1.0.0.1)。

在(4.11)和(4.22)客户机等同配置如下:

   yum -y install httpd

     service httpd restart

     chkconfig httpd on

   mkdir /var/www/html/web1

   mkdir /var/www/html/web2

   echo www.zhangsan.com > /var/www/html/web1/index.html

   echo bbs.zhangsan.com > /var/www/html/web2/index.html

   netstat -anptu | grep httpd

在squid代理服务器配置:

   /etc/init.d/httpd stop  关闭httpd服务,避免端口冲突

   vim /etc/squid/squid.conf

         http_port : 80  vhost 设置反向代理

         cahce_peer 192.168.4.11 parent 80 0 originserver name=www

         cache_peer 192.168.4.22 parent 80 0 originserver name=bbs

  service squid restart

在1.0客户机配置:

    vim /etc/hosts

          192.168.4.5  www.zhangsan.com bbs.zhangsan.com 通过hosts文件配置域名解析,将域名为squid服务器IP地址

     elinks --aump http://www.zhangsan.com 

     elinks --dump http://bbs.zhangsan.com

根据以上反向代理配置ACL访问控制:

    实现以下要求:

  1)允许网段192.168.4.0/24在工作时间08:30至18:30通过代理访问外网

  2) 192,168,4,11网段的主机在任何时间都不可以通过代理访问外网

在squid代理服务器配置:

    vim /etc/squid/squid.conf

          Work_Hours time MTWHF 08:30--18.30  定义工作时间

          http_access allow LAN1 Work_Hours       允许该网段在工作时间访问代理

          acl  LAN1 src 192.168.4.0/24                    定义网段

          acl  PC1  src 192.168.4.11/24                    定义主机不可以访问代理

          http_access allow PCI                              允许主机

          #acl all src 0.0.0.0/0.0.0.0                         禁止所有网段

          #http_access deny all                               拒绝所有

       service squid restart

在1.0客户机进行验证看能否在合适的时间内使用代理服务器。