squid代理

squid代理

一、squid基本概述

1. squid是什么?用来做什么?

Squid cache(简称为Squid)是流行最广的,使用最普遍的开源缓存代理服务器

2. squid的作用和应用场景有哪些?
  • 用来做前置的Web缓存,加快用户访问Web的速度

  • 代理内网用户访问互联网资源

  • 设置访问控制策略,控制用户的上网行为
  • 主要支持http、ftp等应用协议
  • 官网地址:http://www.squid-cache.org/
3. 常见的代理服务器软件
  • squid 非常古老,功能齐全
  • varnish 性能优于squid,功能相对没有squid多
  • 其他 haproxy 、nginx等
4. squid的工作原理

缓存服务器原理

二、squid代理类型

1. 正向代理

正向代理1

正向代理

2. 透明代理

透明代理

正向代理的过程隐藏了真实的请求客户端,服务器不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替请求。我们常说的代理也就是正向代理,正向代理代理的是请求方,也就是客户端;

3. 反向代理

反向代理

反向代理的过程隐藏了真实的服务器,客户不知道真正提供服务的人是谁,客户端请求的服务都被代理服务器处理。反向代理代理的是响应方,也就是服务端;

总结:
  1. 正向代理和透明代理中的代理服务器和客户端同属一个LAN,对server端是透明的,服务器并不知道自己为谁提供服务。作用都是让内网用户可以通过代理服务器上互联网,也可以提高访问速度,并且可以通过代理服务器的访问控制限制内网用户的上网行为。
  2. 反向代理的过程隐藏了真正的服务器,对client端是透明的,客户端并不知道真正提供服务的服务器。可以起到负载均衡的作用,提高用户的访问速度。
  3. 两者的区别在于代理的对象不一样:正向代理代理的对象是客户端,反向代理代理的对象是服务端
  4. 应用场景
    • 正向和透明代理:一般用于公司内网用户访问互联网,根据需求进行访问控制
    • 反向代理:一般用于公司服务器集群前做web缓存,提高用户访问效率,同时可以起到负载均衡作用,为互联网提供可持续的web服务

三、squid代理服务器和SNAT|DNAT的区别

1. SNAT和DNAT
  • 网络层次:网络层

    局域网用户访问外网走snat模式,同一个数据包,改变数据包头部的来源地址,再把数据包发到internet。

  • 作用:内网用户上外网(SNAT)和内网服务发布到公网(DNAT)

2. 代理服务器模式
  • 网络层次:应用层

    不改变数据包头信息,把数据包代理给internet的服务器,基于应用层的过滤。

  • 应用层:

    • 协议:http、ftp、pop、smtp、p2p等
  • 作用:缓存页面,加速访问,ACL资源访问控制
  • 反向代理:
    • internet用户访问局域网服务器
    • Squid做反向代理服务器,把用户的请求转发到后方的真实的服务器,可以做到负载均衡的效果,同时缓冲用户经常访问的页面提高访问速度

四、了解squid代理软件相关信息

1. 安装软件

~powershell
//squid在本地镜像里有,只需要配置好本地yum源即可
[root@squid-server ~]# yum -y install squid
~

2. 软件的文件列表

~powershell
[root@squid-server ~]# rpm -ql squid
/etc/squid/squid.conf //配置文件
/etc/rc.d/init.d/squid //启动脚本
/usr/sbin/squid //二进制命令
/usr/share/doc/squid-3.1.10 //手册
/var/log/squid //日志目录
/var/spool/squid //缓存目录
~

3. 配置文件说明

~~~powershell

cat /etc/squid/squid.conf

//设置监听的IP与端口号
http_port 3128

//额外提供给squid使用的内存大小
cache_mem 默认256 MB  

//设置squid磁盘缓存最大文件,超过4M的文件不保存到硬盘
maximum_object_size 4 MB   

//设置squid磁盘缓存最小文件
minimum_object_size 0 KB

//设置squid内存缓存最大文件,超过4M的文件不保存到内存
maximum_object_size_in_memory 4096 KB   

//定义squid的cache存放路径 、cache目录容量(单位M)、一级缓存目录数量、二级缓存目录数量
cache_dir ufs /var/spool/squid 100 16 256   

//log文件日志格式
logformat combined %>a %ui %un [%tl] “%rm %ru HTTP/%rv” %Hs %

五、squid的正向代理配置

需求:内网用户通过浏览器指定代理服务器的IP和端口访问互联网中的web服务

~~~powershell
环境:
client:10.1.1.2
squid-server:10.1.1.1 和 2.2.2.1
web-server: 2.2.2.2

思路:
1. squid-server需要2个IP,一个公网一个私网
2. client端只需要和squid-server能互通即可,不需要指定gw和dns;
3. client端需要在浏览器上设置代理服务器的IP和端口
4. squid-server可以上外网,client不能上外网,目的就是让squid代理内网用户访问互联网web服务
5. 搭建一个web服务

步骤:
搭建squid-server服务器:
1. 安装软件
yum -y install squid

  1. 根据需求修改配置文件
    需求:代理内网所有用户访问互联网的web服务
    [root@squid-server ~]# vim /etc/squid/squid.conf

http_access deny all //注释掉这行

http_access allow all //将原来的deny all 改成 allow all,允许所有人来访问该代理服务器

cache_dir ufs /var/spool/squid 100 16 256 //取掉前面的注释,打开缓存目录
//增加以下2行
visible_hostname squid-server.itcast.cc //定义squid服务器主机名
access_log /var/log/squid/access.log //定义访问日志

  1. 启动squid服务
    [root@squid-server ~]# service squid start
    init_cache_dir /var/spool/squid… Starting squid: . [ OK ]

//服务器启动后会再缓存目录里产生以下一级、二级缓存目录文件
[root@squid-serv

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值