Squid 传统、透明、日志、ACL、反向,你想要的都在这个

一、Squid代理服务器

  • Squid 主要提供缓存加速,应用层过滤控制的功能

1、代理的工作机制

  • 代替客户机向网站请求数据,从而可以隐藏用户的真实IP地址
  • 将获得的网页数据(静态 web 元素)保存到缓存中并发给客户机,以便下次请求相同的数据时快速响应

2、Squid代理的类型

  • 传统代理:使用于Internet,需在客户机指定代理服务器的地址和端口
  • 透明代理:客户机不需指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理
  • 反向代理:如果Squid反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端;否则反向代理服务器将向后台的Web服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用

二、操作步骤

1、安装squid服务

在这里插入图片描述

[root@localhost squid-3.5.27]# tar xvf squid-3.5.27.tar.gz //解压安装包
[root@localhost opt]# ls
rh  squid-3.5.27  squid-3.5.27.tar.gz
[root@localhost opt]# cd  squid-3.5.27/  //切换到该文件下
./configure --prefix=/usr/local/squid \     //指定安装目录/usr/local/squid
--sysconfdir=/etc \    //指定配置文件路径 /etc/
--enable-arp-acl \     //MAC底子管控,防止客户端使用ip欺骗
--enable-linux-netfilter \   //使用内核过滤  netfilter:内核态
--enable-linux-tproxy \    //支持透明模式
--enable-async-io=100 \   //异步io,提升存储性能
--enable-err-language="Simplify_Chinese" \   // 错误信息的显示语言
--enable-underscore \   // 允许URL中有下划线
--enable-poll \    //使用poll()模式,提升性能
--enable-gnuregex  //使用GNU正则表达式
[root@localhost squid-3.5.27]# make && make install  //编译并安装

在这里插入图片描述

2、修改squid的配置文件

在这里插入图片描述

3、Squid的运行控制

3.1 检查配置问价语法是否正确
在这里插入图片描述
在这里插入图片描述

4、创建Squid服务脚本

[root@squid squid-3.5.27]# cat /etc/init.d/squid
#!/bin/bash
#chkconfig: 35 90 25
#config: /etc/squid.conf
#pidfile: /usr/local/squid/var/run/squid.pid
#Description: Squid - Internet Object Cache

PID="/usr/local/squid/var/run/squid.pid"
CONF="/etc/squid.conf"
CMD="/usr/local/squid/sbin/squid"

case "$1" in
        start)
                netstat -utpln | grep squid &>/dev/null
                if [ $? -eq 0 ]
                        then
                                echo "Squid is running"
                else
                        $CMD
                fi
        ;;
        stop)
                $CMD -k kill &>/dev/null
                rm -rf $PID &>/dev/null
        ;;
        status)
                [ -f $PID ] &>/dev/null
                        if [ $? -eq 0 ]
                          then
                                netstat -utpln | grep squid
                        else
                                echo "Squid is not running"
                        fi
	;;
        restart)
                $0 stop &>/dev/null
                echo "正在关闭Squid..."
                $0 start &>/dev/null
                echo "正在启动Squid..."
        ;;
        reload)
                $CMD -k reconfigure
        ;;
        check)
                $CMD -k parse
        ;;
        *)
                echo "用法:{start | stop | restart | status| reload }"
       ;;
      esac 
[root@squid squid-3.5.27]# chmod +x /etc/init.d/squid  //给与该服务启动脚本可执行权限
[root@squid squid-3.5.27]# chkconfig  --add squid   //将该服务加入chkconfig管理
[root@squid squid-3.5.27]# chkconfig --level 35 squid on  //能在级别3:字符界面,级别5:视图界面中自启动
[root@squid squid-3.5.27]# systemctl status squid
● squid.service - SYSV: Squid - Internet Object Cache
   Loaded: loaded (/etc/rc.d/init.d/squid; bad; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:systemd-sysv-generator(8)

三、构建传统代理服务器

1、配置squid配置文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
生产环境中需要设置防火墙规则

[root@squid opt]# iptables -F #清空规则
[root@squid opt]# 
[root@squid opt]# iptables -I INPUT -p tcp --dport 3128 -j ACCEPT  #允许来自tcp3128的流量进入
[root@squid opt]# 
[root@squid opt]# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:squid

2、客户机的代理配置

2.1 配置网络适配器
在这里插入图片描述
2.2 打开浏览器,配置大力功能
在这里插入图片描述

3、在web1服务器配置

3.1 安装http服务
在这里插入图片描述
在这里插入图片描述

4、在客户机上检测

在浏览器输入web服务器IP地址访问,查看web服务器访问日子,显示的是有代理服务器替客户机在访问
在这里插入图片描述
查看web1服务器访问日志的新增记录
在这里插入图片描述

四、构建透明代理服务器

1、在web1服务器上配置网卡信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、在squid服务上配置网卡信息

2.1 现将虚拟机关机,添加一块网卡,开机
在这里插入图片描述
在这里插入图片描述
2.2 修改squid的配置文件,提供内网服务的ip地址和支持透明代理
在这里插入图片描述

在这里插入图片描述
2.3 添加开启路由转发,实现本机中不同网站的地址转发
在这里插入图片描述
2.4 修改防火墙规则

[root@squid opt]# iptables -F
[root@squid opt]# iptables -t nat -F
[root@squid opt]# iptables -t nat -I PREROUTING -i ens33 -s 192.168.159.0/24 -p tcp --dport 80 -j REDIRECT --to 3128
[root@squid opt]# iptables -I INPUT -p tcp --dport 3128 -j ACCEPT

3、客户机测试

3.1 关闭客户机的浏览器之前设置的代理服务器的功能,之后访问:12.0.0.12
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
3.2 查看squid访问 日志的新增记录
在这里插入图片描述
3.3 查看代理服务器外网口12.0.0.1访问的12.0.0.12
在这里插入图片描述

五、ACL访问控制

5.1 在squid修改配置文件
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.2 在web1上将httpd服务开启
在这里插入图片描述
5.3 在客机上访问查看当前效果

在这里插入图片描述

在这里插入图片描述

六、squid 日志分析

6.1 安装图像处理软件包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.2 修改sarg配置文件

[root@squid sarg-2.3.7]# 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排序中,指定连接次数采用降序排列,升序是normal
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@squid sarg-2.3.7]# touch /usr/local/sarg/noreport  #创建不计入站点文件
[root@squid sarg-2.3.7]# ln -s /usr/local/sarg/bin/* /usr/local/bin/  #创建软链接,

6.3 运行sarg;并安装httpd服务
在这里插入图片描述
在这里插入图片描述
6.4 浏览器访问,查看sarg报告网页
在这里插入图片描述

七、Squid 反向代理

7.1 在squid中先清空防火墙,在进入配置文件中修改

[root@squid sarg-2.3.7]# iptables -F
[root@squid sarg-2.3.7]# iptables -t nat -F
[root@squid sarg-2.3.7]# cd /opt
[root@squid opt]# vim /etc/squid.conf

在这里插入图片描述

在这里插入图片描述
7.2 在web1中编写网页
在这里插入图片描述

7.3 在web2中编写网页
在这里插入图片描述
7.4 客户机上修改hosts文件
修改 C:\Windows\System32\drivers\etc\hosts 文件
在这里插入图片描述
7.5 在客户机配置代理服务器
在这里插入图片描述
7.6 进入浏览器访问
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值