squid代理服务器介绍与配置(理论+实践)二

ACL访问控制

ACL访问控制方式

  • 根据源地址、目标URL、文件类型等定义列表

    • acl 列表名称 列表类型 列表内容 ...
  • 针对已定义的acl列表进行限制
    • http_access allow或deny 列表名称 ...

ACL规则优先级

  • 当一个用户访问代理服务器时, Squid会顺序匹配Squid中定义的所有规则列表,一旦匹配成功,立即停止匹配。当所有规则都不匹配时,Squid会使用与最后一条相反的规则

常用的ACL列表类型

  • src → 源地址
  • dst → 目标地址
  • port → 目标地址
  • dstdomain → 目标域
  • time → 访问时间
  • maxconn → 最大并发连接
  • url_regex → 目标URL地址
  • Urlpath_regex → 整个目标URL路径

实验搭建

实验环境

squid服务器IP地址:ens33:192.168.80.184
                  ens36:192.168.10.1 (仅主机模式)
web服务器IP地址:192.168.80.151
client客户端IP地址:192.168.10.10  (仅主机模式)

在squid服务器上修改配置文件

[email protected] ~]# vim /etc/squid.conf      //修改配置文件
# should be allowed
acl hostlocal src 192.168.10.10/32        //控制hostlocal10.10的主机
# Deny requests to certain unsafe ports
http_access deny hostlocal                //拒绝访问
[[email protected] ~]# service squid reload       //重启squid服务

在测试机上访问web网页

sarg日志配置

在squid服务器上安装sarg

[[email protected] ~]# mount.cifs //192.168.80.2/LNMP-C7 /mnt/      //挂载
Password for [email protected]//192.168.80.2/LNMP-C7:
[[email protected] ~]# cd /mnt/
[[email protected] mnt]# tar zxvf sarg-2.3.7.tar.gz -C /opt/        //解压
[[email protected] mnt]# cd /opt/sarg-2.3.7/
[[email protected] sarg-2.3.7]# yum install gd gd-devel -y       //安装gd库
[[email protected] sarg-2.3.7]# ./configure --prefix=/usr/local/sarg \     //安装路径
> --sysconfdir=/etc/sarg \        //指定配置文件位置
> --enable-extraprotection        //开启安全防护
[[email protected] sarg-2.3.7]# make && make install       //编译安装

修改sarg配置文件

[[email protected] sarg-2.3.7]# vim /etc/sarg/sarg.conf      //修改sarg配置文件
access_log /usr/local/squid/var/logs/access.log    //开启指定访问日志文件
title "Squid User Access Reports"                  //网页标题
output_dir /var/www/html/squid-reports             //报告输出目录
user_ip no                                        //使用用户名显示
exclude_hosts /usr/local/sarg/noreport            //不计入排序的站点列表文件
topuser_sort_field connect reverse               //top排序中有连接次数,访问字节,降序排列,升序是normal
overwrite_report no                        //同名日志是否覆盖
mail_utility mailq.postfix                //发送邮件报告命令
charset UTF-8                             //使用字符集
weekdays 0-6                              //top排行的时间周期
hours 0-23                               //top排行的时间周期
www_document_root /var/www/html           //网页根目录
[[email protected] ~]# sarg                       //生成报告
SARG: 纪录在文件: 91, reading: 100.00%
SARG: 成功的生成报告在 /var/www/html/squid-reports/2019Dec11-2019Dec12
[[email protected] sarg-2.3.7]# cd /var/www/html/squid-reports/        //切换到html目录下
[[email protected] squid-reports]# ls
2019Dec11-2019Dec12   images  index.html
[[email protected] squid-reports]# yum install httpd -y               //安装httpd服务
[[email protected] squid-reports]# systemctl start httpd.service     //开启服务
[[email protected] squid-reports]# systemctl stop firewalld.service      //关闭防火墙
[[email protected] squid-reports]# setenforce 0                       //关闭selinux

在client客户机访问网页查看访问记录

在squid服务器上配置周期性计划任务,每天收集访问信息

sarg -l /usr/local/squid/var/logs/access.log -o /var/www/html/squid-reports/ -z -d $(date -d "1 day ago" +%d/%m/%Y)-$(date +%d/%m/%Y)

再次在client客户机访问网页查看访问记录

squid反向代理配置

实验环境

squid服务器IP地址:ens33:192.168.80.184
                  ens36:192.168.10.1 (仅主机模式)
web1服务器IP地址:192.168.80.151
web2服务器IP地址: 192.168.80.185
client客户端IP地址:192.168.10.10  (仅主机模式)

在web1服务器上编辑网页内容

[email protected] ~]# cd /var/www/html/
[[email protected] html]# echo "<h1>this is test web!</h1>" > index.html

client客户机上访问网页

在web2服务器上编辑网页内容

[[email protected] ~]# systemctl stop firewalld.service       //关闭防火墙
[[email protected] ~]# setenforce 0
[[email protected] ~]# yum install httpd -y                  //安装httpd服务
[[email protected] ~]# cd /var/www/html/                     //创建网页内容
[[email protected] html]# echo "<h1>this is test2 web!</h1>" > index.html
[[email protected] html]# systemctl start httpd.service 

在squid服务器上配置反向代理

[[email protected] squid]# vim /etc/squid.conf
# Squid normally listens to port 3128
http_port 192.168.80.184:80 accel vhost vport        //监控本机80端口
cache_peer 192.168.80.151 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1        //节点服务器1最大访问30,权重1,别名web1
cache_peer 192.168.80.185 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1
cache_peer_domain web1 web2 www.yun.com     //访问yun.com匹配web1,web2节点
[[email protected] squid]# service squid restart      //重启squid服务

在client客户机的admin用户下配置解析域名地址,并设置代理



原文地址:https://blog.51cto.com/14473285/2461131

时间: 2024-11-02 18:00:51

squid代理服务器介绍与配置(理论+实践)二的相关文章

squid代理服务器介绍与配置(理论+实践)一

缓存的概述 Web代理的工作机制 缓存网页对象,减少重复请求 代理的基本类型 传统代理:适用于Internet,需明确指定服务端 透明代理:客户机不需要指定代理服务 器的地址和端口,而是通过默认路由.防火墙策略将Web访问重定向给代理服务器处理 使用代理的好处 提高Web访问速度 隐藏客户机的真实IP地址 传统代理实验搭建 实验环境 squid服务器IP地址:192.168.80.179 web服务器IP地址:192.168.80.151 client测试机IP地址:192.168.80.135

MyBatis基本配置和实践(二)

一.前言 从上一篇文章的junit单元测试环节可以看到,每一次调用MyBatis需要先加载SqlMapConfig.xml文件,再通过SqlSessionFactoryBuilder创建SqlSessionFactory,然后从SqlSessionFactory获取SqlSession,最后调用SqlSession的selectOne.selectList.insert.delete方法完成数据库操作,编码效率低下. 二.若干概念的解释 1.SqlSession的使用范围 SqlSession中

linux 搭建squid代理服务器

实验环境: 一台linux搭建Web服务器,充当内网web服务器(同时充当内网客户端) 202.100.10.100 一台linux系统充当网关服务器,两个网卡,开启路由转发 192.168.133.131和202.100.10.1 一台linux搭建Web服务器,充当外网web服务器(同时充当外网客户端)) 192.168.133.131 实验步骤: 1.配置内网web服务器.网关服务器.外网Web服务器的IP地址,开启网关的路由转发,关闭网关的防火墙,测试内网web服务器与外网Web服务器的

Squid代理服务器(二)——配置Squid服务器

一.传统代理 (一)需求分析 局域网内,客户机访问自家的Web服务器,通过Squid代理服务器访问Web服务器,再由Squid反馈给客户机;在Squid主机上,构建Squid为客户机访问网站提供代理服务,但禁止通过代理下载超过10MB大小的文件,在客户机上,指定Squid主机作为Web访问代理 (二)配置 1.在Squid服务器上的配置: 1 ~]#vim /etc/squid.conf 2 添加 3 reply_body_max_size 10 MB #允许下载的最大文件大小为10MB,注意1

Linux -- 代理服务器(Squid Server)的配置与应用1

一.代理服务器的配置与应用 随着Internet的迅速发展,宽带网络接入量快速增多,Internet终端用户数迅速膨胀,网络管理员面临的问题越来越多,问题也越来越严重,如IP资源匮乏.用户访问计费.内部网络安全等一系列问题.面临如此多的问题,我们迫切需要一个行之有效的方案应对,这个方案就是我们本章要重点学习的代理服务器.本章将介绍代理服务器的基本概念.工作原理.配置和使用方法等. 二. 代理服务器概述 在我们工作.生活和学习的这个社会环境中,代理服务是一种大家所熟知的服务形式,普遍存在于各个领域

Linux -- 代理服务器(Squid Server)的配置与应用2

代理客户端的配置 本节分别以Linux和Windows系统环境下典型的Web浏览器Firefox和IE为例,为大家讲述代理客户端的配置工作过程. 16.5.1  Firefox代理设置 在Linux环境下通常都使用Firefox作为Web浏览器.下面我们就以在Red Hat Enterprise Linux 5 操作系统中的Firefox V1.5.0.9为例,讲解如何进行代理客户端的配置工作. 在Firefox浏览器中,选择"编辑"菜单中的"首选项"子菜单,如图1

CentOS 6.4下Squid代理服务器的安装与配置

一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用户想要下载一个主页时,可以向Squid 发出一个申请,要Squid 代替其进行下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户,使用户觉得速度相当快.Squid 可以代理HTTP.FTP.GOPH

[转]CentOS 6.4下Squid代理服务器的安装与配置

一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用户想要下载一个主页时,可以向Squid 发出一个申请,要Squid 代替其进行下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户,使用户觉得速度相当快.Squid 可以代理HTTP.FTP.GOPH

squid代理服务器的安装和配置

CentOS 6.4下Squid代理服务器的安装与配置 一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用户想要下载一个主页时,可以向Squid 发出一个申请,要Squid 代替其进行下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户,使用户觉得速