Squid 是Linux系统中最常用的一款开源代理服务软件,可以很好的实现HTTP和FTP以及DNS查询、SSL等应用的缓存代理,功能十分强大。

Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。

Squid用途:

  • 作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度;

  • 为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索;

  • 通过过滤流量帮助网络安全;

  • 局域网通过代理上网

  • Squid是一种在Linux系统下使用的优秀的代理服务器软件。

  • squid不仅可用在Linux系统上,还可以用在AIX、Digital Unix、FreeBSD、HP-UX、Irix、NetBSD、Nextstep、SCO和Solaris等系统上。

  • Squid与Linux下其它的代理软件如Apache、Socks、TIS FWTK和delegate相比,下载安装简单,配置简单灵活,支持缓存和多种协议;

  • 用ipchains+Squid的解决方案,就可以获得通过缓存高性能的同时能够无缝的访问Internet。

Squid代理服务的优点:

  • 对于Web用户来说,Squid是一个高性能的代理缓存服务器,可以加快内部网浏览Internet的速度,提高客户机的访问命中率;

  • Squid不仅支持HTTP协议,还支持FTP、gopher、SSL和WAIS等协议;

  • 和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求;

  • Squid支持SSL,支持访问控制;

  • 使用了ICP,Squid能够实现重叠的代理阵列,从而最大限度的节约带宽;

  • Squid由一个主要的服务程序Squid,一个DNS查询程序dns server,几个重写请求和执行认证的程序,以及几个管理工具组成。当Squid启动以后,它可以派生出指定数目的dns server进程,而每一个dns server进程都可以执行单独的DNS查询,这样一来就大大减少了服务器等待DNS查询的时间。

  • Squid使用访问控制清单(ACL)和访问权限清单(ARL)。访问控制清单和访问权限清单通过阻止特定的网络连接来减少潜在的Internet非法连接,可以使用这些清单来确保内部网的主机无法访问有威胁的或不适宜的站点。

Squid的硬件要求:内存一定要大,不应小于128M,硬盘转速越快越好,最好使用服务器专用SCSI硬盘,处理器要求不高,400MH以上既可。

一、Squid 服务基础:

缓存代理概述:作为应用层的代理服务软件,Squid 主要提供缓存加速、应用层过滤控制的功能。

a. Web代理的工作机制:

过程分析:

当客户机通过代理来请求web页面的时候,指定的代理服务器会先检查自己的缓存,如果缓存中已经有客户机需求的页面,则直接将缓存中的页面内容反馈给客户机;

如果缓存中没有客户机要访问的页面,则由代理服务器向Internet中发送访问请求,当获得返回的web页面以后,将网页数据保存到缓存中并发送给客户机。

优点:

缓存网页对象;减少重复请求,从而提高客户机的web访问响应速度;由于客户机的Web请求实际上是由代理服务器来代替完成的,从而可以隐藏用户的真实IP地址,起到一定的保护作用。

Squid 代理服务器只能代理来自客户端http协议、ftp协议

b. 代理的基本类型:

根据实现方式不同,包括传统代理、透明代理两种常见的代理服务。

  • 传统代理:普通代理服务,在客户机的浏览器、QQ聊天工具、下载软件等程序中,必须手动设置代理服务器的地址和端口。对于网页浏览器来说,访问网站时的域名解析请求也会发给指定的代理服务器。

  • 透明代理:提供与传统代理相同的功能和服务,区别:客户机不需要指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将web访问重定向,实际仍然交给代理服务器来处理。使用透明代理时,网页浏览器访问网站时的域名解析请求将优先发给DNS服务器。

二、Squid的配置文件:

Squid服务端

系统服务:squid

主程序:/usr/sbin/squid

主配置文件:/etc/squid/squid.conf

默认监听端口:TCP 3128

默认访问日志:/var/log/squid/access.log

常用配置项:

  • http_port 3128        ###用来指定代理服务监听的地址和端口(默认3128),如果服务器有多个网络接口,但只希望在其中一个IP地址上提供服务,还可以同时指定IP地址,eg:http_port192.168.10.1:3128

  • access_log /var/log/squid/access.log squid        ###指定代理服务的日志文件位置及记录格式(Squid),以便记录有哪些客户机通过代理访问过哪些web对象。

  • cache_mem 64 MB        ###指定缓存功能所使用的内存空间大小,便于保持访问较频繁的web对象。大小单位可使用MB,容量应为4的倍数,建议设为实际内存的1/4到1/3,具体根据服务器的性能和负载而定。

  • cache_dir ufs /var/spool/squid 100 16 256        ###指定缓存数据所使用的目录、容量、子目录个数等相关参数。其中ufs(UNIX文件系统)是Squid最早使用的缓存文件格式,也是Squid内建的存储格式类型;/var/spool/squid是缓存数据的默认存放目录;后面三个数字依次表示为缓存目录分配的磁盘空间大小(单位为MB)、一级子目录个数、二级子目录个数。当代理的用户数量较多时,可以适当增大缓存目录的大小。

  • visible_hostname proxy.localhost.localdomain.com            ###指定代理服务器本机的可见主机名,在Squid服务的初始化或者启动过程中可能会检查此项。建议设为服务器的完整主机名(FQDN)

  • dns_testnames www.51cto.com www.163.com          ###用来执行DNS解析测试,以确保Squid服务器自身的DNS查询功能正常。按从左到右的顺序,只要成功解析出一个域名,就不再测试后边的其他域名。如果管理员确认DNS解析没问题或者不需要DNS解析,建议注释掉此项配置,以加快服务器初始化的速度。

  • maximum_object_size4096 KB                ###允许保存到缓存空间的最大对象(文件)大小,一般以KB为单位,超过大小限制的文件将不会被缓存,而是直接转发给用户。默认的4096KB限制可以满足绝大部分的HTML页面、图片、Flash等web对象,可以适当增大参数值以支持更多的缓存。

  • reply_body_max_size 10240000 allow all            ###允许用户下载的最大文件大小,以字节(byte)为单位。默认设置为0字节表示不进行限制。其中,all为默认的访问控制列表名,针对任意地址的代理用户。

squid代理服务器的介绍以及基本信息就简单的阐述到这里,传统代理服务器及透明代理服务器的构建及ACL访问控制使用后续送上。

Squid传统代理、透明代理应用、ACL控制规则:http://wenzhongxiang.blog.51cto.com/6370734/1274670

欢迎关注微信公众号:小温研习社

转载于:https://blog.51cto.com/wenzhongxiang/1271606

Squid 代理服务器相关推荐

  1. Sun Solaris 9 下Squid 代理服务器的配置笔记

    Sun Solaris 9 下Squid 代理服务器的配置也包括DNS域名解析服务器的配置. 一. squid 的工作是建立在 DNS 的服务之上的, 所以首先要配置好你的DNS服务,方可进行squi ...

  2. Linux上常用的安全技术iptables与squid代理服务器

    一.iptables 指令语法 iptables [-t table] command [match] [-j target/jump] [-t table] 指定规则表 -t 参数用来,内建的规则表 ...

  3. CentOS下搭建Squid代理服务器

    "量子扰动超导探测器.战争期间用它搜索潜艇,寻找敌人的赛伯武器系统." "哦?海军的玩意儿?打仗的时候用过?这么说,乌贼能读出你大脑芯片上储存的东西?"她停住脚 ...

  4. Squid 代理服务器 编译源码 伪造HTTP_X_FORWARDED_FOR 请求头

    本实验操作系统选用 CentOS release 5.6 (Final) 实验目的实现 Squid 代理服务器 编译源码 伪造HTTP_X_FORWARDED_FOR  请求头 .使其显示任意IP 过 ...

  5. Squid 代理服务器应用大全

    文章目录 一.Squid 服务基础 1.1 缓存代理概述 (一) 代理的工作机制 (二)代理的基本类型 1.2 编译安装及运行步骤(理论) 1.编译安装Squid(将所需的包上传到/opt目录下) 2 ...

  6. 部署Squid 代理服务器(内含传统、透明代理服务器的配置、ACL访问控制、日志分析、反向代理)

    标题 一.Squid 代理服务器 代理的工作机制 Squid 代理的类型 二.安装 Squid 服务 1.编译安装 Squid 2.修改 Squid 的配置文件 3.Squid 的运行控制 4.创建 ...

  7. 搭建Linux安全的Squid代理服务器

    本文介绍Linux下非常著名.常用的Squid代理服务器的使用,并着重讲述如何使用其提供的访问控制策略,来保证代理服务器的合法使用. 代理服务器的功能是代理网络用户取得网络信息,它 是网络信息的中转站 ...

  8. squid代理服务器详解

    本文出处不祥,好不容易发现,转到空间参考,感谢作者 再次感谢,本文的作者bye2000. Linux下架设代理服务器 作者:bye2000 一.代理服务器概述 1.1什么是代理服务器 在TCP/IP网 ...

  9. 构建Squid代理服务器-传统代理、透明代理、反向代理

    Squid是Linux系统中最常用的一款开源代理服务软件,主要提供缓存加速和应用层过滤控制的功能,可以很好的实现HTTP.FTP.DNS查询以及SSL等应用的缓存代理. 正向代理: 根据实现的方式不同 ...

  10. 10个关于linux中Squid代理服务器的实用面试问答

    10个关于linux中Squid代理服务器的实用面试问答 不仅是系统管理员和网络管理员时不时会听到"代理服务器"这个词,我们也经常听到.代理服务器已经成为一种企业常态,而且经常会接 ...

最新文章

  1. LPS25HB 气压计 参考手册中关于FIFO功能的解读
  2. Mac电脑配置Alfred、Go2shell、iTerm2+Oh My Zsh
  3. HALCON示例程序class_ndim_norm.hdev基于多通道图像的分类
  4. 【蓝桥杯官网试题 - 真题训练】生命之树(树形dp)
  5. 问卷调查 asp 源码一起研究
  6. 一种在智能对话中实现上下文功能的方法
  7. Pytest框架教程(一)
  8. 通过例子理解 k8s 架构 - 每天5分钟玩转 Docker 容器技术(122)
  9. POI3.8解决导出大数据量excel文件时内存溢出的问题
  10. 计算机的软硬件发展进程,计算机软件的发展演变简介
  11. PHP date函数参数
  12. JavaScript之promise对象及ajax的使用
  13. 禁止计算机使用u盘启动,电脑禁用u盘的设置方法
  14. 程序员必备网络基础知识清单,简单易懂
  15. php自动驾驶面试题,一篇文章看懂“L0-L5”,自动驾驶分级标准最强解读
  16. QQ功能测试(看点模块)
  17. html导航页面转换,纯CSS实现导航栏Tab切换效果
  18. OPEN.V.xx.N
  19. 乱码转中文输出(ISO-8859-1 to UTF-8)
  20. 2022-2023级中国石油大学(北京)MBA提前面试已开启-文都管联院

热门文章

  1. 银行数据仓库体系实践_案例:农发行数据交换共享平台建设实践分享
  2. java调用scala内部类_scala中的内部类 == 简单示例
  3. 630显卡驱动安装win7_Centos7 显卡驱动安装教程
  4. 实习成长之路:MySQL十三: count(*)这么慢,我该怎么办?为什么那么慢?
  5. Flutter BuildOwner之dirty elements简析
  6. 南充高中计算机老师,2021四川南充教师招聘考试高中信息技术说课稿之《表格的装饰》...
  7. Lyft 基于 Flink 的大规模准实时数据分析平台(附FFA大会视频)
  8. 把3000行代码重构成15行的牛逼操作!!!
  9. TV Metro界面(仿泰捷视频TV版)源码解析
  10. 插件开发之360 DroidPlugin源码分析(一)初识