ACL访问控制方式
ACL规则优先级
ACL访问控制
常用的ACL列表类型
最简单的ACL控制
禁止任何客户机使用此代理服务
[root@localhost~]# vi letclsquid.conf
acKalsrc 0.0.0.0/0.0.0.0
http_access deny all
工作机制
搭建反向代理实现加速
3台服务器
1台squid代理服务器 : 192.168.136.40
1台apache服务器:192.168.136.30
1台web客户机 192.168.136.50
下面的实验基于squid传统代理基础上配置(ps:配置squid不在赘述,如有不会请回看上一篇博客)
在squid代理服务器上配置
[root@squid network-scripts]# vim /etc/squid.conf
# should be allowed
acl hostlocal src 192.168.136.50/32 #增控制的是win10的地址
# Deny requests to certain unsafe ports
http_access deny hostlocal #增加
开启服务
[root@squid network-scripts]# service squid reload
[root@squid network-scripts]# netstat -natp | grep 3128tcp 0 0 192.168.10.1:3128 0.0.0.0:* LISTEN 101064/(squid-1)
开启服务
[root@localhost ~]# vim /etc/squid.conf
#http_access deny hostlocal 注释掉
记得把前面的acl控制web端口注释掉
[root@squid network-scripts]# vim /etc/squid.conf
#http_access deny hostlocal
#acl hostlocal src 192.168.136.50/32
解压缩
[root@localhost ~]# tar zxvf sarg-2.3.7.tar.gz -C /opt/
安装图像化处理工具,gd库
[root@squid sarg-2.3.7]# yum install gd gd-devel -y
编译配置
[root@localhost ~]# cd squid-3.4.6/
[root@localhost squid-3.4.6]# ./configure --prefix=/usr/local/sarg \
> --sysconfdir=/etc/sarg \
> --enable-extraprotection
[root@localhost squid-3.4.6]# make && make install
配置sarg服务
root@squid sarg-2.3.7]# cd /etc/sarg/
[root@squid sarg]# vim sarg.conf
7 access_log /usr/local/squid/var/logs/access.log //squid的访问日志位置
25 title "Squid User Access Reports" //网页标题
120 output_dir /var/www/html/squid-reports //分析报告存放位置
178 user_ip no
//不使用IP代替用户ID
184 topuser_sort_field connect reverse //升序排列
190 user_sort_field connect reverse // 这条必读要注释掉(不要开启)
206 exclude_hosts /usr/local/sarg/noreport #这个文件待会需要创建,里面存放的是不生成报告的主机
257 overwrite_report no
289 mail_utility mailq.postfix //指定发邮件命令
434 charset UTF-8 字符集
518 weekdays 0-6 //指定top排序星期周期
525 hours 0-23 //指定top排序时间周期
633 www_document_root /var/www/html //网页根目录
检查一下
[root@localhost sarg]# grep -v "^#" sarg.conf
创建一个文件名(不生成报告的主机)
touch /usr/local/sarg/noreport
命令可以识别
ln -s /usr/local/sarg/bin/sarg /usr/local/bin/
开启服务(生成报告记录)
[root@localhost sarg]# sarg
SARG: 纪录在文件: 382, reading: 100.00%
SARG: 成功的生成报告在 /var/www/html/squid-reports/2020Sep07-2020Sep08
可以看到生成的记录在哪
2020Sep07-2020Sep07在这里
[root@localhost squid-reports]# ls /var/www/html/squid-reports/
2020Sep07-2020Sep07 images index.html
在aquid服务中安装http展现服务
[root@localhost squid-reports]# yum -y install httpd
开启并查看
[root@localhost squid-reports]# systemctl restart httpd
[root@localhost sarg]# netstat -ntap | grep httpd
tcp6 0 0 :::80 :::* LISTEN 60702/httpd
去win10客户端查看
地址 192.168.136.40/squid-reports
点击进去查了详细
更换地址访问
在squid日志服务器上配置
[root@squid squid-reports]# 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)
需要3台服务器
1台squit代理服务器 192.168.136.40
2http服务器 编译首页 web01 192.168.136.30
3http服务器 编译首页 web02 192.168.136.88
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# vim /var/www/html/index.html
this is web 01
[root@localhost ~]# systemctl restart httpd.service
[root@localhost ~]# yum -y install httpd
[root@promote ~]# vim /var/www/html/index.html
this is web 02
[root@localhost ~]# systemctl restart httpd.service
查看一下端口有没有被占用,因为httpd会占用80端口,必须关闭
[root@localhost ~]# netstat -ntap | grep 80
[root@localhost ~]# systemctl stop httpd
配置反向代理squid服务
[root@localhost ~]# vim /etc/squid.conf
#http_port 3128 注释监听端口 并在下面配置
http_port 192.168.136.40:80 accel vhost vport
cache_peer 192.168.136.30 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1
cache_peer 192.168.136.88 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web2
cache_peer_domain web1 web2 www.yun.com
开启服务
监听端口为本地80端口
[root@localhost ~]# service squid stop
[root@localhost ~]# netstat -ntap | grep squid
[root@localhost ~]# service squid start
正在启动 squid...
[root@localhost ~]# netstat -ntap | grep squid
tcp 0 0 192.168.136.40:80 0.0.0.0:* LISTEN 57844/squid-1)
配置wen10的DNS
c/windows/system32/drivers/etc
设置文件权限
文本打开
ping查看是否在线
如果显示不出来在配置正确的情况下,在两台http服务机上关闭防火墙或win10防火墙