acl 列表名称 列表类型 列表内容...
http_access allow或deny 列表名称...
设备 | IP |
---|---|
Squid代理服务器 | 192.168.50.133 |
Web服务器 | 192.168.50.134 |
客户机 | 192.168.50.128 |
①方法一:直接将IP设为黑名单
1、首先安装Squid服务,安装过程请参考这篇博文:https://blog.csdn.net/u014042047/article/details/108433703
2、安装完Squid后,编辑squid服务配置文件
vim /etc/squid.conf ## 编辑配置文件
在 # should be allowed 下方插入一行拒绝列表:
acl test src 192.168.50.128/32 ## win10客户端的IP地址
在 # Deny requests to certain unsafe ports 下方插入一行,调用刚才设置的列表:
http_access deny test
3、重载服务配置文件
service squid reload
4、在客户机上访问192.168.50.134可以发现已经被拒绝访问了
②方法二:使用列表文件
针对少量个别IP我们可以采用第一种方式,但如果有成百上千乃至数万个IP呢,若全部写入配置文件则会使配置文件臃肿不堪不便于管理,所有产生了方法二:
1、编辑配置文件写入ACL规则
vim /etc/squid.conf ## 编辑配置文件
acl test src "/etc/squid/dest.list" ## 设置拒绝列表
http_access deny test ## 调用拒绝列表
service squid reload ## 重新加载配置文件
2、创建列表文件
mkdir /etc/squid
vim dest.list
写入要禁止访问的IP:
192.168.50.128
3、重载服务配置文件
service squid reload
1、安装依赖环境
yum -y install gd gd-devel pcre pcre-devel
2、解压缩安装包
tar zxvf /opt/sarg-2.3.7.tar.gz -C /opt
3、进入软件目录进行配置
cd /opt/sarg-2.3.7
./configure --prefix=/usr/local/sarg \
--sysconfdir=/etc/sarg \
--enable-extraprotection ##额外安全防护
4、编译&安装
make && make install
5、对服务进行配置
vim /etc/sarg/sarg.conf ## 编辑配置文件
进行如下设置(前面的数字代表行号):
7 access_log /usr/local/squid/var/logs/access.log ## 注释去掉(指定访问日志文件)
25 title "Squid User Access Reports" ## 注释去掉(网页标题)
120 output_dir /var/www/html/squid-reports ## 注释去掉(报告输出目录)
178 user_ip no ## 注释去掉(使用用户名显示)
184 topuser_sort_field connect reverse ## 注释去掉(top排序中有连接次数connect、访问字节、降序排列、升序是normal)
190 ## 默认不动
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 ## 注释去掉(网页根目录)
6、创建不计入站点文件:添加的域名将不被显示
touch /usr/local/sarg/noreport
7、让命令让系统识别
ln -s /usr/local/sarg/bin/sarg /usr/local/bin
8、启动服务
[root@localhost sarg]# sarg ## 启动sarg服务
SARG: 纪录在文件: 353, reading: 100.00%
SARG: 成功的生成报告在 /var/www/html/squid-reports/2020Sep07-2020Sep07
9、安装并开启httpd服务
yum -y install httpd
systemctl start httpd
10、访问Web页面查看日志统计信息
http://192.168.50.133/squid-reports
11、当有其他IP的主机访问时,使用如下命令进行日志更新即可
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)
如果Squid反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端;否则反向代理服务器将后台的WEB服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用
1、分别在Web1与Web2服务器上安装http服务并关闭防火墙
yum -y install httpd ## 安装http服务
systemctl start httpd ## 启动服务
setenforce 0 ## 关闭核心防护
systemctl stop firewalld ## 关闭防火墙
2、分别在Web1与Web2中创建一个站点页面
vim /var/www/html/index.html ## 创建站点页面
在文件中输入以下内容:
Test1 Web
## 在web1服务器写入
Test2 Web
## 在web2服务器写入
3、在squid代理服务器上修改配置文件
vim /etc/squid.conf ## 编辑配置文件
##http_port 3128 //这一行注释掉
在 http_port 3128 行下插入:
http_port 192.168.175.128:8080 accel vhost vport
cache_peer 192.168.175.130 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1
cache_peer 192.168.175.129 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web2
cache_peer_domain web1 web2 www.yun.com
4、回到win10客户端,修改host文件
添加一行:192.168.50.133 www.yun.com