Squid传统模式、代理模式、反向代理、acl控制、sarg日志——超详细的实验+理论

一、squid概述

1.1、squid简介

        Squid cache(简称为Squid)是流行最广的,使用最普遍的开源缓存代理服务器。squid的主要作用和应用场景有

  • 用来做前置的Web缓存,加快用户访问Web的速度
  • 代理内网用户访问互联网资源
  • 设置访问控制策略,控制用户的上网行为
  • 主要支持http、ftp等应用协议

1.2、代理工作的机制和好处

  • 缓存网页对象,减少重复请求
  • 访问速率提高
  • 隐藏客户机真是ip地址

1.3、代理的基本类型

  • 传统代理
            适用于internet ,需要指定服务端,开启代理ip地址

  • 透明代理
            客户机不需要指定代理服务器的地址和端口,而通过默认路由,防火墙策略将web访问定向给代理服务器处理

  • 反向代理
            squid反向代理服务器中缓存了该请求的资源,则将该请求直接返回给客户端;
            否则反向代理服务器将向后台的web服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用

  • 工作机制和优点
            缓存网页对象,减少重复请求
            将外网(互联网)请求,按照策略轮询或权重分配到内网web服务器
            安全,隐藏,避免用户直接访问web服务器;

在这里插入图片描述
1、客户端设置代理IP
2、客户请求的IP地址仍是WEB页面 ,不是squid代理服务器,因为客户端设置了一个代理IP。
3、客户端正常访问,但是会优先找代理服务器拿资源
4、如果缓存空间有资源,则不用找WEB拿资源
如果缓存空间没有资源squid去找WEB拿资源

二、搭建传统代理

2.1、拓扑图

在这里插入图片描述

2.2、传统代理搭建步骤

CentOS 7.4 web页面(apache) 20.0.0.23
CentOS 7.4 squid 20.0.0.22
CentOS 7.4 WIN10 20.0.0.88

2.2.1、搭建squid服务

把squid软件包传进去

[root@squid ~]# tar zxvf squid-3.4.6.tar.gz -C /opt
[root@squid ~]# cd /opt
[root@squid opt]# cd squid-3.4.6/
[root@squid squid-3.4.6]# yum -y install gcc gcc-c++
[root@squid squid-3.4.6]# ./configure \
--prefix=/usr/local/squid \
--sysconfdir=/etc \
--enable-arp-acl \
--enable-linux-netfilter \
--enable-linux-tproxy \
--enable-async-io=100 \
--enable-err-language="Simplify_Chinese" \
--enable-underscore \
--enable-poll \
--enable-gnuregex

--prefix=/usr/local/squid \                   ## 指定的安装路径
--sysconfdir=/etc \                               ## 配置文件所存在的目录
--enable-arp-acl \                                 ## 启用acl访问控制列表
--enable-linux-netfilter \                       ## 内核过滤表
--enable-linux-tproxy \                         ## 支持透明代理模式
--enable-async-io=100 \                       ## 对于io的优化
--enable-err-language="Simplify_Chinese" \   ##报错的提示是简体中文形式
--enable-underscore \                          ## 在url中支持下划线
--enable-poll \                                      ## poll是Linux的字符设备驱动中的一个函数
--enable-gnuregex \                             ## url支持正则表达式

[root@squid squid-3.4.6]# make && make install  ## 进行编译并安装

[root@squid squid-3.4.6]# ln -s /usr/local/squid/sbin/squid /usr/local/sbin/    ## 做软连接,让squid命令便于被系统识别
[root@squid squid-3.4.6]# ll /usr/local/sbin/
总用量 34992
lrwxrwxrwx. 1 root root       22 1030 19:13 sbin -> /usr/local/squid/sbin/
-rwxr-xr-x. 2 root root 35829680 1030 19:08 squid

[root@squid squid-3.4.6]# useradd -M -s /sbin/nologin squid                  ## 创建squid用户,并指定家目录,指定shell环境,无法登录终端
[root@squid squid-3.4.6]# chown -R squid.squid /usr/local/squid/var    ## 给权限,有一个run目录,跑pid进程文件的

2.2.2、修改分配缓存空间的配置文件

[root@squid squid-3.4.6]# vim /etc/squid.conf    ## 主要分配缓存空间的配置文件

56: http_access allow all    ## 添加默认允许通过
57 :#http_access deny all   ## 把原来的默认拒绝注释掉

60: http_port 3128        ## squid 端口号 3128
61: cache_effective_user squid      ## 缓存管理用户 squid
62: cache_effective_group squid   ## 缓存管理组  squid

68:coredump_dir /usr/local/squid/var/cache/squid     ## 是一个容灾备份的目录

==》》wq

[root@squid squid-3.4.6]# squid -k parse   ## 查看语法有无错误
[root@squid squid-3.4.6]# squid -z   ## 语法没有问题后,初始化缓存,等几秒敲回车即可

[root@squid squid-3.4.6]# squid  ## 启动squid
[root@squid squid-3.4.6]# netstat 
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值