nsquid代理服务器详细配置及介绍

防伪码:天道酬勤,冲向理想的彼岸

简介:

squid 是 Linux系统中最常用的一款开源代理服务软件

(官方网站:http//www.squid-cache.org

可以很好地实现HTTP和FTP,以及DNS查询、SSL等应用的缓存代理,功能十分强大。

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


代理的工作机制

  当客户机通过代理来请求web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已有客户机需要的页面,则直接将缓存中页面内容反馈给客户机;如果缓存中没有客户机要访问的页面,则由代理服务器向Internet发送访问请求,当获得返回的web页面以后,将网页数据保存到缓存中并发送给客户机


   HTTP代理的缓存加速对象主要是文字、图像等静态web元素。当客户机在不同的状态下访问同一网站应用时,或者不同的客户机访问同一网站应用时,可以直接从代理服务器的缓存中获取相应的结果。这样就大大减少了向Internet提交重复的网站web页面请求的过程,提高了客户机的访问响应速度。

由于客户机的web访问请求实际上是由代理服务器来代替完成的,从而可以隐藏用户的真实IP地址,起到一定安全保护作用。

  代理的基本类型:


    1.传统代理:

必须在客户机通过浏览器、QQ聊天工具、下载应用软件程序中,手动设置代理服务器的IP地址和端口。

才可以使用代理来访问网络应用。

传统代理适用于Internet互联网环境中。

   2.透明代理:

 和传统代理一样,主要区别在于客户机不需要指定代理服务器的地址和端口号,而是通过默认路由、防火墙策略将访问web请求的80端口重定向到代理服务器的3128端口做映射,重定向的过程对客户机来说是透明的

透明代理使用于局域网环境中。

安装squid服务的相关配置及命令

  • squid的版本:3.4.6
  • squid的版本:3.4.11 特性:辅助协议扩展、腾讯云SSL证书、Store-ID、交易注释、组播DNS

一、搭建传统代理服务

  1.编译安装squid

  


上述编译模块参数含义如下:

 --prefix=/usr/local/squid  //安装目录

 --sysconfdir=/etc       //单独将配置文件修改到其他目录

 --enable-arp-acl  //可以在规则中直接通过客户端MAC进行管理,防止客户端使用IP欺骗

 --enable-linux-netfilter //使用内核过滤

 --enable-linux-tproxy   //支持透明模式

 --enable-async-io=值   //异步I/O提升存储性能

 --enable-err-language="Simplify_Chinese"  //错误信息的显示语言

 --enable-underscore    //允许URL中有下划线

 --enable-poll        //使用poll()模式,提升性能

--enable-gnuregex     //使用GNU正则表达式


安装完后,创建链接文件,创建用户和组

2.Squid的配置文件

 Squid的配置文件位于/etc/squid.conf,更详细的配置项请参考/etc/squid.conf.documented文件。

3.Squid的运行控制

(1)检查配置文件语法是否正确

(2.)启动、停止Squid

第一次启动squid服务时,会自动初始化缓存目录。在没有可用的Squid服务脚本的情况下,也可以直接调用Squid程序来启动服务,这时需要先进行初始化。

(3.)使用squid服务脚本

为了使squid服务的启动、停止、重载等操作更加方便,并使用chkconfig和service工具来进行管理。

将编写好的脚本受予执行权限,然后再将squid的程序添加为系统服务

在squid服务器上添加一条防火墙规则,允许客户端通过squid代理去访问web网站

客户机的代理配置

注意:如果客户机是一台Linux的话,要想使用代理服务器(如elinks网页浏览器、wget下载工具),必须通过环境变量来指定代理服务器的地址、端口等信息。

传统代理服务的验证方法

       

 (1.)查看squid访问日志的新增记录

     tail /usr/local/squid/var/logs/access.log

通过查看squid的服务器的访问日志,可以发现客户机172.16.16.110去访问web网站服务器172.16.16.172的记录消息。

(2.)查看web访问日志的新增记录

     tail /var/log/httpd/access_log

在被访问的web服务器中,通过访问日志发现来自代理服务器172.16.16.22的访问记录,说明当使用代理服务器时,web服务器并不知道客户机的真实IP地址,因为实际是由代理服务器替它在访问。

172.16.16.22的IP地址是代理服务器的地址。

二、搭建透明代理服务

  1.    在Linux网关上,构建squid代理服务为局域网客户机去访问Internet提供服务
  2. 在所有的局域网客户机上,只需正确配置IP地址、默认网关即可。

1.配置squid支持透明代理

squid服务的默认配置是不支持透明代理的,因此需要修改配置文件。squid2.6以上版本的只需在http_port配置行后面加上一个transparent选项即可。

2.设置iptables的重定向策略

注意:透明代理服务中的squid服务器是构建在Linux网关主机上的,所以要设置防火墙策略将客户机访问外网的数据包交给squid服务器去处理,在防火墙上设置一条REDIRECT(重定向策略),其作用就是将客户机访问互联网的端口映射给squid服务器的3128端口。

注意:REDIRECT也是一种数据包控制类型,只能在nat表的PREROUTING或OUTPUT链以及被调用的链中使用。

注意:此时还要开启路由转发功能,否则数据是过不去的!!!

3.验证透明代理的使用

  注意:清除手动代理相关的配置

验证结果:

在squid代理服务器日志发现,客户机192.168.4.110访问过目标网站172.16.16.172的记录信息

在被访问的web网站服务器上发现,来自代理服务器的IP地址为172.16.16.1的访问记录,从而隐藏了真实IP。

三、ACL访问控制

可以针对源地址、目标地址、访问的URL路径、访问的时间等各种条件进行过滤

ACL访问控制通过以下两个步骤来实现:其一,使用acl配置项定义需要控制的条件 其二,通过http_access配置项对已定义的列表做允许 或 拒绝 访问的控制。

1.定义访问控制列表

  acl 列表名称 列表类型 列表内容

  

常用的访问控制列表类型:

   src  :  源IP地址、网段、IP地址范围

   dst  : 目标IP地址、网段、主机名

  port : 目标端口

  dstdomain :目标域,匹配域内所有站点

  time :  使用代理服务的时间段

  maxcom : 每个客户机的并发连接数

 url_regex : 目标资源的URL地址,-i表示忽略大小写

 urlpath_regex :目标资源的整个URL路径。


2.设置访问权限

    http_access  allow或deny  列表名  取反时,加!符号

验证访问控制结果

.

时间: 2024-08-25 07:07:23

nsquid代理服务器详细配置及介绍的相关文章

Exchange2013 SP1 CAS实现NLB的详细配置及介绍

上一篇我们介绍了Exchange2013 sp1 DAG详细安装配置及介绍, 今天呢介绍如何部署Exchange2013 SP1 CAS服务NLB配置,那什么是NLB呢,说白了,NLB就是Exchange CAS角色的高可用,为了提高服务器可用性的一个高可用服务,需要在本机启用windows 系统自带的网络负载均衡来完成.在Exchange2010版本的啥时候启用网络负载均衡后,还需要为CAS均均衡创建一个CAS阵列,而在Exchange2013版本开始就不需要单独创建CAS阵列了,NLB会自动

Exchange2013 SP1 DAG详细配置介绍

上一篇我们介绍了Exchange2013 sp1的安装及详细配置,今天呢就主要介绍Exchange2013 sp1的DAG配置介绍,那什么是DAG(Database Availability Group)呢,DAG就是数据库可用性组是内置于 Microsoft Exchange Server 2013 中的高可用性和站点恢复框架的基础组件. DAG 是一组邮箱服务器(最多可包含 16 个邮箱服务器),其中承载了一组数据库,可提供从影响单个服务器或数据库的故障中自动执行数据库级恢复的功能. 当然创

详细图解 Flume介绍、安装配置

写在前面一: 本文总结"Hadoop生态系统"中的其中一员--Apache Flume 写在前面二: 所用软件说明: 一.什么是Apache Flume 官网:Flume is a distributed, reliable, and availableservicefor efficientlycollecting, aggregating, and moving large amounts of log data. It has a simple and flexible arch

Linux- nginx+tomcat的详细配置

一切来源于工作,先谈一下需求. 为了使测试环境尽量模仿线上环境,四台台式机搭建测试环境.nginx + tomcat + mysql + red5pro(视频直播). nginx用来做代理,通过nginx来访问后端的tomcat. nginx服务器的配置文件里简单配置(nginx.conf)的话只需要复制一下server部分就行,修改其中的listen端口以及proxy_pass后面跟的路径.如果不做负载均衡的话,可以加链接(如http://192.168.1.2:8080 ) .如果做负载均衡

Universal-Image-Loader解析(一)——ImageLoaderConfiguration的详细配置

本篇文章主要介绍了"Universal-Image-Loader解析(一)——ImageLoaderConfiguration的详细配置 ",主要涉及到Universal-Image-Loader解析(一)——ImageLoaderConfiguration的详细配置 方面的内容,对于Universal-Image-Loader解析(一)——ImageLoaderConfiguration的详细配置 感兴趣的同学可以参考一下. Universal-Image-Loader这个开源框架又

【OpenHW12参赛手记】ZedBoard-自定义IP核实现+PS成功调用【详细步骤+流程介绍+源码】 转载

文章来源 图片无法复制,请看原文 http://www.eefocus.com/jefby1990/blog/13-03/291975_490bc.html [OpenHW12参赛手记]ZedBoard-自定义IP核实现+PS成功调用[详细步骤+流程介绍+源码] 2013-03-07 17:56:30 分享: (图片请点击查看原图) 软件环境:WIN7_64 + ISE 14.4 (system_edition) 硬件:Zedboard.USB-Cable线 搭建图: 经过前几天的学习,查看数据

nginx详细配置教程

一.安装nginx 安装nginx之前首先需要安装"Development Tools"和 "Development Libraries"两个基本组包.yum groupinstall "Development Tools" "Development Libraries".另外还需要安装pcre-devel包. 安装pcre-devel: yum install pcre-devel 安装nginx: 添加nginx账号gro

关于腾讯云服务器使用FTP详细配置教程

1.腾讯云服务器介绍 2.关于腾讯云服务器使用感受 3.作为开发者使用过程中遇到的问题 4.腾讯云服务器FTP Server环境搭建 5.腾讯云常见FTP客户端安装方法及注意事项 首先非常感谢CSDN联合腾讯云提供的免费云资源,我是一个开发者,目前从事软件外包.教育培训相关工作.在技术方面还可以,但是在服务器管理方面还欠缺很多知识,所以遇到了一些问题,顺便花点时间研究下,把自己的心得分享给大家,供大家学习交流. 1.腾讯云服务器介绍 腾讯云(http://www.qcloud.com)-腾讯公司

gpg-agent详细配置

gpg(gnupg)工具使用非常广泛,在前面一篇文章中就详细介绍:http://blog.csdn.net/dongtingzhizi/article/details/26362205,有一个问题值得关注,那就是使用GPG私钥时需要输入密码,如果只使用一次倒好说,只需要输入一次密码就好,但是如果需要批量使用,那就麻烦了!例如,最近的工作中,创建debian软件仓库需要使用gpg对deb包进行签名,加入上千个包需要输入上千次密码,显然没法做到,此时就要用到gpg-agent了! 网上关于gpg-a