搜档网
当前位置:搜档网 › 基于Linux的Squid代理服务器配置

基于Linux的Squid代理服务器配置

基于Linux的Squid代理服务器配置
基于Linux的Squid代理服务器配置

目录

1.绪论 (2)

1.1.课题研究的背景和意义 (2)

1.2.代理服务器的定义 (2)

1.3.代理服务器的硬件要求 (3)

1.4.S QUID代理服务软件的作用和优越性 (3)

1.4.1.Squid代理服务软件的作用 (3)

1.4.2.Squid代理服务软件的优越性 (4)

1.5.S QUID的国内外研究现状 (5)

1.6.本文主要研究内容与结构 (5)

2.代理服务器的工作机制探索 (5)

3.网络环境及可行性分析 (6)

3.1.网络环境分析 (7)

3.2.可行性分析 (7)

3.3.代理服务网络环境设计 (8)

4.SQUID代理服务的原理及实现 (8)

4.1.S QUID功能简介 (8)

4.2.S QUID服务基本配置 (9)

4.2.1.Squid服务启动前准备工作 (9)

4.2.2.Squid常规配置项 (9)

4.3.普通正向代理 (11)

4.3.1.原理探究 (11)

4.3.2.实验验证 (11)

4.4.透明代理 (16)

4.4.1.原理探究 (16)

4.4.2.实验验证 (16)

4.5.反向代理 (22)

4.5.1.原理探究 (22)

4.5.2.实验验证 (23)

5.虚拟网络环境下代理实现方案 (27)

6.总结 (29)

基于Linux的Squid代理服务器配置

作者黎妙指导教师蔡广基教授

(湛江师范学院信息学院,湛江 524048)

摘要:随着互联网技术的日益普及,各类操作系统逐渐呈现百花争艳的景象。Windows曾以其强大的桌面操作系统雄霸一方,然而,21世纪的互联网技术更新换代更加迅猛,而Linux 以其独特地魅力吸引着众多的追慕者,作为一种免费的网络操作系统,它极大地扩张了自己的普及度。随着Linux越来越受到广大网络爱好者的追捧,Internet上随处可见Linux主机,而Linux 在我国的发展更是不可一日而语,Linux在这种环境之下逐渐成熟,Red Hat Linux则是Linux 的主要流行版本。

关键词: Linux;代理服务器;红帽子;服务器

Base on the Linux Squid Proxy Configuration

LiMiao

Science and Technology School, Zhanjiang Normal University, Zhanjiang, 524048 China

Abstract:Along with the Internet technology is becoming increasingly popular, all kinds of operation system becomes the scene of a hundred flowers coutend in beauty. Windows has worked with its powerful desktop operating system and used by a lot of people.However ,twenty-first Century’s Internet technology is updating so quickly that we cann’t imagine,Linux is attracting a large number of fans by its unique charm.As a kind of free network operating system,it greatly expanded their popularity.With t he vast number of network lovers,linux hosts can be seen everywhere on the Internet. And the development of Linux in our country is not in one day,linux is becommig more and more mature under the envirment,and Red Hat Linux is a Linux major pop version.

Key word: Linux;Proxy Server; Red Hat Linux; Server

1. 绪论

如今发生在Internet的一个尤其棘手的矛盾是日益发展迅速的Internet与IP地址资源紧张之间的矛盾,随着这个矛盾的激化,代理服务器的使用开始越来越广泛。代理服务是指由一台拥有标准IP地址的机器代替若干没有标准IP地址的机器和Internet 上的主机相互交流,提供代理服务的这台机器就是我们通常所说的代理服务器(Proxy Server),在代理服务器中实现代理服务的软件被称为代理软件。

1.1.课题研究的背景和意义

伴随企业化网络的发展,代理服务器的发展如日中天,企业内部拥有内部地址的机器想连接到Internet上时,需先把这个请求发送给拥有标准IP地址的代理服务器,由代理服务器把这个请求通过他的标准IP地址发到请求的目的地址。然后目标地址的服务器把返回的结果发回给代理服务器,代理服务器再原封不动地把资料发给内部主机,并且把内容保存在自己的缓存里,这样当内部主机再一次请求相同内容时,代理服务器可以从缓存里取数据,这样就极大地加快了访问速度。概而言之,代理服务器是发挥了桥梁的作用。拥有内部地址的主机就组成了一个内部网络,代理服务器使得内部网络和Internet之间能够互相通信,这种代理既可以帮助管理内部主机访问Internet的规范性,比如可以限制内部主机的访问时间,限制访问某些危害不健康的网页,同时,因为这种代理是不可逆的,所以它也保障了内部主机资料的安全性。

1.2.代理服务器的定义

代理服务器可以代表其它计算机传递数据包或信息,这些数据包和信息包括网页、电子邮件、多媒体文件和其它网络应用程序等。通过它的文件缓存和访问控制等功能,可以实现快速浏览和对用户访问的有效管理。

我们通常所说的代理服务器是指Web代理服务器,它是介于浏览器和Web服

务器之间的一台服务器,当用户通过代理服务器上网浏览时,浏览器不是直接到Web 服务器去取回网页而是向代理服务器发出请求,由代理服务器来取回浏览器所需要的数据并传送给用户浏览器。大部分的代理服务器都具有缓冲的功能,就好比如一个大的Cache,这个相当大的存储空间则允许其不断地将新取得的数据储存在它本机的存储器上,如果浏览器所请求的数据在它的本机的存储器上已经存在并且是最新的,那它就不需要重新从Web服务器取数据,而直接将存储器上的数据传送给用户的浏览器,达到显著提高浏览速度和效率。

1.3.代理服务器的硬件要求

代理服务器对于硬件有一定的要求,尤其是对于内存的要求,它要求内存要高,通常不应小于128MB,硬盘最好使用服务器SCSI专用硬盘,处理器则要求350MHZ以上即可。

1.4.Squid代理服务软件的作用和优越性

Squid代理服务软件是Linux下使用频繁且非常优秀的流行代理服务软件。在网络上流传着一句话,颇能代表网民的心声,最长的时间不是一辈子,而是打开网页等待的那几秒。研究显示,如果用户打开网页时等待12秒以后,那么99%的用户会选择关闭这个网页,可见,网络访问速度是可以直接影响到网民们上网的幸福度。对于Web用户来说,Squid是一个高性能的代理缓存服务器,可以加快内部网浏览Internet 的速度,对于增加网民幸福度所作的贡献则不言而喻。

1.4.1.Squid代理服务软件的作用

代理服务器是Internet链路级网关所提供的一种重要的安全功能,它工作在开放系统互联(OSI)模型的对话层。主要功能可以分为三个方面:

第一方面是代理服务器是Internet与Intranet充当firewall(防火墙):因为所有内部网的用户通过代理服务器访问外界时,只映射为一个IP地址,所以外界不能直接访问到内部网;同时可以设置IP地址过滤,限制内部网对外部的访问权限;另外,两个没有互联的内部网,也可以通过第三方的代理服务器进行互联来交换信息。

第二方面是可以共享因特网连接,节省IP资源开销:所有的内部网用户对外只

占用一个IP(公用IP),所以就不必租用过多的IP地址,这样可以降低网络的维护成本。局域网内没有与外网直接相连的众多机器都可以通过内网中的一台代理服务器连接外网,大大减少了费用。但是,值得一提的是与这个优越性并存的一个隐忧,许多网络黑客则利用代理服务器的这种特性隐藏自己的真实IP地址,逃过监视,这给网络带来一定的隐患。

第三方面则是提高访问速度,节约通讯带宽。通常代理服务器都设置有一个较大的硬盘缓冲区,这个硬盘缓冲区的大小因情况而定,可能高达几个GB甚至更大的空间,当有外界的信息通过代理服务器时,它将这些信息保存到自己的缓冲区里,当内部网用户再次访问相同的信息时,则可以直接由缓冲区中取出信息,传给用户,从而达到提高网络访问速度的目的。

1.4.

2.Squid代理服务软件的优越性

Squid性能优秀,并且由于它是一款开源软件,所以它仍然在世界各地的Squid 开发者的共同努力之下不断更新和发展。Squid与Linux下的其它代理软件如Apache、Sockes、TIS FWTK和delegate相比,下载安装简单,配置简单灵活,不仅支持HTTP 协议,还支持FTP、gopher、SSL和WAIS等协议。和一般的代理缓存软件不同的是,它是一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。

它能快速响应,减少网络阻塞,Squid将远程Internet对象保存为在本地缓存。当本地用户再次访问这些对象时,Squid可以直接快速地提供对这些对象的访问,正所谓进水楼台先得月,而不必“长途跋涉”再次占用带宽访问的远程服务器上的对象。它能增强访问控制,提高网络安全性,可以针对特定的网站、用户、网络、数据类型实施访问控制。管理员可以根据Squid的这些特性,配合具体的网络需求情况,合理规范网络管理。

此外,Squid可以工作在普通代理模式、透明代理模式以及反向代理模式三大模式之下。

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

1.5.Squid的国内外研究现状

在国际上,Squid软件来源于一个名为Harvest Cache的项目,它得到了美国国家科学基金的资助,某些特征的加入和BUG的修复由一个在线的工作组来完成。美国国家科学基金的资助与2007年7月结束,目前的Squid是由很多志愿者进行开发和管理的,其经济来源主要是一些公司的资助,这些公司从Squid中获得收益。

这几年,我国对于Linux的重视达到前所未有的高度,一个出色的Linux服务器管理员往往能赢取更多的福利,越来越多的中国网络爱好者加入到Squid研究的行列,使得Squid成为当下最流行的代理服务软件之一。

1.6.本文主要研究内容与结构

本论文通过对Linux下Squid代理软件的基本知识的了解之后,根据Web代理服务器的配置方案与工作方式,我把Web代理分为3类分别实现:一是传统的代理方式,它需要在客户端进行配置,而且客户端指导代理的存在;第二种是透明代理,它一般用于为内部网络中的主机提供外网的访问服务,但不需要配置客户端,而且客户端不知道代理的存在;第三种是反向代理,它为外部网络上的主机提供内网的访问服务。

2. 代理服务器的工作机制探索

代理服务器一般构建在内部网络和Internet之间,负责转发内网计算机对Internet 的访问,并对转发请求进行控制和登记。代理服务器作为连接Intranet(局域网)与Internet(广域网)的桥梁,在实际应用中有着重要的作用。利用代理,除了可以实现最基本的连接功能外,还可以实现安全保护、缓存数据、内容过滤和访问控制等功能。下图,是Web代理的原理图。

图2-1

多台客户机通过内网与Web代理服务器连接,Web代理服务器除了与内网连接外,还有一个网络接口与外网连接。Web代理平时维护着一个很大的缓存Cache,当某一台客户机,例如A客户机,访问外网的某台Web服务器时,发过去的HTTP请求进行分析,如果发现数据在缓存中已经存在,则直接把这些数据发送给客户机A。

如果Web代理在缓存中找不到所请求的数据,则会转发这个HTTP请求到客户机要访问的Web服务器。Web服务器响应后,把数据发给了Web代理,Web代理再把这个数据转交给客户机A,同时把这些数据存储在缓存中。于是,下次客户机A 或其他客户机再次要求同样的数据时,Web代理就直接用缓存里的数据进行响应,而不需要再次向Web服务器请求数据。

对于客户机来说,它是感觉不到代理的存在的,以为所看到的网页是由真实的Web服务器回复的。但实际上,很多的回复是从代理服务器的缓存中得到的,由于没有通过Internet与真实的Web服务器进行通信,而内网的速度比Internet要快很多,因此用户会感觉到访问速度有很大的提高。特别是对一些访问量很大的热门网站,速度是有更明显的提高。

当然,如果客户机每一次请求的数据代理服务器的缓存中都没有,都要通过代理服务器向Internet上的Web服务器请求,则比客户机自己直接请求的速度要慢,但由于能加快访问的速度,因此,站在长远的角度来看,速度的提高还是很明显的。

3. 网络环境及可行性分析

在进行设计之前,对网络环境的分析将有利于设计的合理性,对于是否能顺利完成实验起到尤为关键的作用。

3.1.网络环境分析

如图3-1所示,两台计算机通过一台路由器连接外网,在本设计中,我利用其中一台计算机进行实验,分别实现普通正向代理、透明代理、反向代理三种代理方式。

图3-1

3.2.可行性分析

本设计宿主机系统采用稳定的windows7旗舰版,虚拟机采用VMstation8版本,虚拟机的操作系统采用成熟的Red Hat Linux 9。Red Hat Linux 9自带了squid软件包,是squid-2.5.STABLE1-2,能够满足实现所需的软硬件要求。使用虚拟机进行系统实现,能够方便控制,也可以节约实验成本。此外,为了提高实验效率,本设计使用putty软件远程登录虚拟机。

根据环境分析结果,本次试验拓扑图如图3-2所示,其中A、B、C、F分别表示虚拟机Red Hat Linux-A、Red Hat Linux-B、Red Hat Linux-C以及Red Hat Linux-F。

图3-2

3.3. 代理服务网络环境设计

根据普通正向、透明、反向三种代理方式,设计了如下三种实现方案,正向代理方案如图3-3,透明代理方案如图3-4,反向代理如图3-5,如下所示:

User (浏览器设置代理) Red Hat Linux -A

图3-3

User(无需浏览器做任何设置) Red Hat Linux –B(网关+iptables) 图3-4

客户端

图3-5

4. Squid 代理服务的原理及实现

4.1. Squid 功能简介

Squid 服务器效率高,功能强大,提供丰富的访问控制、用户认证和日志功能,它可以运行在各种UNIX/Linux 、Windows 等操作平台之上,要求机器的内存一定要大,硬盘访问速度要快,主要功能如下所列出的几项:

? 加速内部网络与Internet 的连接; ? 保护内部网络免受Internet 的攻击;

? 获得内部网络用户访问Internet 的上网行为记录;

?阻止不合适的Internet访问;

?支持用户认证功能;

?过滤敏感信息;

?加速Web服务器的页面访问速度。

Squid支持以下内部缓存和管理协议。

?HTTP协议,用于从其他缓存抽取Web对象的副本;

?ICP(Internet Cache Protocol,互联网缓存协议)协议,用于从其他缓存中查

找一个特定的对象;

?Cache Digests协议,用于生成其他缓存中所存对象的索引;

?SNMP协议,为外部工具提供缓存信息;

?HTCP协议,是一个用来发现HTTP缓冲区、并储存、管理HTTP数据的协

议。

4.2.Squid服务基本配置

4.2.1.Squid服务启动前准备工作

装完VMware8虚拟机之后在虚拟机里安装Red Hat Linux 9,用putty成功连接虚拟机后,输入以下命令查看是否已安装Squid软件包,:

#rpm –qa | grep squid

由于Red Hat Linux9本身安装了Squid,所以可以看到如下图5-1所示,说明已成功安装了Squid,版本为:squid-2.5.STABLE1-2。

图4-1

4.2.2.Squid常规配置项

Squid服务的启动状态:

可用chkconfig命令设置squid服务在运行级别3(等级3表示:有网络连接的多用户命令行模式)和5(等级5表示:带图形界面的多用户模式)中自动启动。

#chkconfig - - level 35 squid on

确认主机具有完整的域名:

由于Squid服务运行要求Linux主机具有完整的域名,查看及修改域名的命令如下:

#hostname

#vi /etc/hosts

#vi /etc/sysconfig/network

Squid服务器初始化:

在第一次使用Squid服务器之前需要先对Squid服务器进行初始化工作,主要是在Squid 服务器的工作目录中建立需要的子目录,使用以下命令:

#squid –z

初始化完毕之后可查看生成的子目录:

#ls /var/spool/squid

启动脚本:

Squid服务的启动脚本名称为“squid”,位于/etc/init.d/squid

启动与停止squid服务

?启动squid服务

#service squid start

?停止squid服务

#service squid stop

配置目录

Squid具有独立的目录保存文件,在/etc/squid/目录下存放着squid的主配置文件squid.conf,查看主配置文件:

#cat /etc/squid/squid.conf

Squid.conf文件中的配置选项

?配置服务端口

http_port 3128

?缓存内存数量数量

cahe_mem 8 MB

值得注意的是,“cache_mem”的值设置为服务器物理内存的三分之一较为合适。

?工作目录

cache_dir ufs /var/spool/squid 100 16 256

“cache_dir”设置项的缺省值为设置squid的工作路径,上述“100 16 256”分别表示目录中最大容量为100MB,目录中一级子目录的数量为16个,二级子目录为256个。

?访问控制设置

“http_access”用于设置允许或拒绝控制对象

http_access allow localhost

http_access deny all

?访问控制列表(ACL)的定义

“acl”配置项用于设置访问控制列表的内容,如:

acl all src 0.0.0.0/0.0.0.0

acl localhost src 127.0.0.1/255.255.255.255

4.3.普通正向代理

4.3.1.原理探究

图2-1所示就是传统代理方式,它是用户最熟悉的,需要在浏览器中运行代理设置,明确指出代理服务器的IP地址和网络端口,使得浏览器访问指定的服务时,先把访问请求发送给代理服务器。这种方式的优点是便于用户对访问进行管理,使用的服务种类多,并且可以再需要时进行设置。同时代理服务器配置简单,不需要其他服务器或网络设备的配合。

但传统的代理方式也存在着缺点。首先是需要发布代理服务器的地址和端口信息,并且改变后要及时通知用户,当用户数很多的时候,这对管理员来说将是一个不小的负担。其次,由于用户需要配置浏览器,虽然步骤比较简单,但对于有些初学者来说可能还是有一定的难度。最后就是如果存在多个网络出口时,用户可以不使用代理,直接跳过代理服务器访问Internet,代理服务器也就失去了意义。

4.3.2.实验验证

根据图3-3设计图,按照以下四个步骤进行验证:

步骤一:

(1)首先删除客户机的网关,使其不能直接连上Internet,如下图:

4-2

图Array图4-3

(2)检查Linux主机域名完整和得到解析以及检查软件包是否安装;

图4-4

(3)代理服务器在代理之前,首先得保证自己可以联网,如图4-5所示,Red Hat Linux-A 能成功连接外网;

图4-5

步骤二:进入squid的主配置文件修改squid.conf,使其能够实现普通正向代理。(1)进入squid.conf;

图4-6

(2)把服务端口改为8080;

图4-7

(3)修改acl,使服务器为指定网段192.168.1.0/24提供代理服务;

图4-8

(4)初始化服务器,查看工作目录/var/spool/squid/;

图4-9

(5)启动代理服务,查看8080端口是否已经成功开启;

图4-10

步骤三:客户端设置代理服务器,此时客户端又可以正常访问Internet,访问一个不存在

的网站时,出现图4-13,这说明代理服务器已经成功发挥代理的作用;

4-11

4-12

图4-13

4.4.透明代理

4.4.1.原理探究

透明代理的原理图如图4-14所示,它一般为内网计算机提供外网的访问服务,不需要客户端做任何的设置。当客户端的某种数据包经过内部网的出口路由是,可以被路由器重定向到本地的代理服务器的代理端口,然后由本地代理服务器对HTTP请求进行处理。如果所请求的数据在数据缓存中已经存在的,直接响应,如果没有的,则向外网的Web服务器请求,然后再响应。

透明代理克服了传统代理的缺点,不需要客户端进行配置,能够强制客户端使用代理,容易实现平衡,但它也有自己的缺点:首先是需要其他网络设备的配合,把某种数据包转发给代理服务器,其次是需要从大量的外出Internet流量中过滤出所需的数据包,增加了网络设备的负担,而且会有一定的延时;最后就是当应用程序的一系列请求是相关的并涉及到多个目标对象时,如果要求是有状态的,这时使用透明代理可能会有问题。

图4-14

4.4.2.实验验证

步骤一:

(1)透明代理必须要在网关上实现,客户机经过网关访问互联网,因此首先需要

把主机Red Hat Linux-B配置为网关,然后利用squid+iptables实现使其实现透明代理。

●开通路由功能命令如下:

#echo 1 > /proc/sys/net/ipv4/ip_forward

●查看路由转发功能是否开启命令如下:

#cat /etc/sysctl.conf

●Red Hat Linux-B已经开启了路由功能,如图4-15所示:

图4-15

(2)检查Linux主机域名完整和得到解析以及检查软件包是否安装;

图4-16

(3)保证Red Hat Linux-B能成功连接外网,如图5-17所示;

图4-17

步骤二:进入squid的主配置文件修改squid.conf,使其能够实现透明代理。(1)进入squid.conf;

图4-18

(2)修改代理服务端口为8080;

图4-19

(3)修改acl,使服务器为指定网段192.168.1.0/24提供透明代理服务;

图4-20

(4)在配置文件中添加httpd_accel_host virtual以及去除httpd_accel_port 80的注释,使服务器支持虚拟主机和设置web请求端口为80;

图4-21

(5)在配置文件中把httpd_accel_with_proxy off 改为httpd_accel_with_proxy on,使服务器支持缓存代理;

图4-22

(6)在配置文件中把httpd_accel_uses_host_header off改为httpd_accel_uses_host_header on,使服务器支持主机头,修改完毕之后,

保存退出;

图4-23

步骤三:初始化服务器并重启服务器,并查看8080端口是否已成功开启;

图4-24

步骤四:这是非常重要的一个步骤,关乎透明代理服务器成功与否,利用Squid与iptables 重定向结合实现透明代理,如下命令表示在iptables的nat表中增加一个规则,从网卡eth0进来的192.168.1.0/24网段并且访问想80端口,即想访问外网的web服务器的数据包重定向到本机的8080端口:

#iptables -t nat -A PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 8080

squid代理服务器泄露客户ip和服务器信息的解决

squid代理服务器泄露客户ip和服务器信息的解决 在局域网通过透明代理访问外部的web服务器时, 在web服务器端, 通过header HTTP_X_FORWARDED_FOR 可以知道代理服务器的服务器名以及端口, 通过HTTP_VIA可以知道客户的内部ip,这会带来一些安全问题,并且某些论坛会发现用的是代理访问,怎么让squid隐藏这些信息呢. 通过研究squid的源代码,发现在/etc/squid/squid.conf中添加2行: header_access Via deny all header_access X-Forwarded-For deny all 就可以把它关闭(king9413注:新版本命令为:via off forwarded_for of) 要去掉其他的header,也可以照此操作: Accept HTTP_ACCEPT Accept-Charset HTTP_ACCEPT-CHARSET Accept-Encoding HTTP_ACCEPT-ENCODING Accept-Language HTTP_ACCEPT-LANGUAGE Accept-Ranges HTTP_ACCEPT-RANGES

Age HTTP_AGE Allow HTTP_ALLOW Authorization HTTP_AUTHORIZATION Cache-Control HTTP_CACHE-CONTROL Connection HTTP_CONNECTION Content-Base HTTP_CONTENT-BASE Content-Disposition HTTP_CONTENT-DISPOSITION Content-Encoding HTTP_CONTENT-ENCODING Content-Language HTTP_CONTENT-LANGUAGE Content-Length HTTP_CONTENT-LENGTH Content-Location HTTP_CONTENT-LOCATION Content-MD5 HTTP_CONTENT-MD5 Content-Range HTTP_CONTENT-RANGE Content-Type HTTP_CONTENT-TYPE Cookie HTTP_COOKIE Date HTTP_DATE ETag HTTP_ETAG Expires HTTP_EXPIRES From HTTP_FROM Host HTTP_HOST If-Match HTTP_IF-MATCH If-Modified-Since HTTP_IF-MODIFIED-SINCE

Squid代理服务器实验报告

Squid代理服务器实验报告 班级:10网工三班学生姓名:谢昊天学号:1215134046 实验目的和要求: 任务一:实现正向代理 任务二:实现透明代理 任务三:实现反向代理 实验拓扑图参考课本P215,图10-4,完整实现以上功能。 实验目的和要求: 提示1、在启动squid服务程序之前需要先确认Linux主机具有完整的域名,如果没有可以在hosts文件中进行设置 提示2、squid服务器第一次启动前的初始化工作可以使用squid –z命令手工完成,如不手工进行,squid启动脚本也会自动完成初始化工作。 实验详细步骤: 1.在Linux 操作系统中查看是否已经安装了Squid 服务: 【root@RHEL4~】#rpm –q squid Squid-2.5.STABL E6-3 这表明系统已经安装了Squid 服务。 2.启动Squid 服务 启动和重新启动Squid 服务的命令如下: //启动Squid服务 【root@RHEL4~】#service squid start 启动squid:【确定】 //重新启动Squid 服务 【root@RHEL4~】#service squid restart 停止squid:【确定】 启动squid:【确定】 配置Squid服务器 一. squid.conf配置 激活squid. 1). 开启squid 运行# squid -k parse命令即可 2). 初始化cache目录. 在第一次启动squid服务之前执行# squid -z 3). 启动squid服务

# service squid start 4). 停止squid 最安全的停止squid的方法是使用squid -k shutdown命令: # squid -k shutdown 5). 重配置运行中的squid进程 6). 滚动日志文件 二. 透明代理 1. 配置Proxy 主机: 1)更改squid配置文件中的下列指令: [root@test root]# vi /etc/squid/squid.conf httpd_accel_host virtual # 告诉web加速器,针对所有的URL httpd_accel_port 80 # 告诉web加速器,要监听的端口是80! httpd_accel_with_proxy on # 这个很重要!因为配置httpd_accel_host 之后,cache 的配置httpd_accel_uses_host_header on 2)在squid 2.6,更改squid配置文件中的一个指令: http_port 192.168.63.50:3128 transparent #192.168.63.50 就是squid服务器的地址[root@test root]# squid -k reconfigure 2. 配置NAT 主机的port map : 3. 配置转发 4. 配置客户端 三.反向代理: 1.Squid的配置如下: httpd_accel_host virtual httpd_accel_port 80 httpd_accel_single_host off httpd_accel_uses_host_header on 2.然后设置设置反响代理需要的域名解析(Internet用户通过这里解析三个网站的域名)如下: https://www.sodocs.net/doc/f95079989.html, 202.102.240.74 https://www.sodocs.net/doc/f95079989.html, 202.102.240.74 https://www.sodocs.net/doc/f95079989.html, 202.102.240.74 3.使三个域名都指向反向代理服务器的IP地址202.102.240.74。 4.设置反向代理所需要的DNS入口信息(即设置内部DNS,仅仅是squid在内部使用,Internet用户不可见)。有两种方法可以设置内部DNS,使用内部DNS 服务器来解析或者使用/etc/hosts文件来实现。 5.使用内部DNS服务器的资源记录如下: https://www.sodocs.net/doc/f95079989.html, IN A 192.168.62.2 https://www.sodocs.net/doc/f95079989.html, IN A 192.168.62.3 https://www.sodocs.net/doc/f95079989.html, IN A 192.168.62.4 如果使用/etc/hosts文件来实现内部DNS(编译时应使用disable internal dns选项),编辑/etc/hosts文件添加如下条目:192.168.62.2 https://www.sodocs.net/doc/f95079989.html, 192.168.62.3 https://www.sodocs.net/doc/f95079989.html, 192.168.62.4 https://www.sodocs.net/doc/f95079989.html,

单机运行多个Squid代理服务

多代理(SQUID)同时运行的配置方法 作成日期:2012/8/24 多代理用途: 1、HTTP反向加速; 2、权限控制部分客户端,而权限控制选项是全局设置时; 总之,一般的代理服务器运行一个即可,当有特殊要求的时候,才有此需要,HTTP反向代理本文没有涉及,仅是为了权限控制,一台机器同一网卡运行了2个Squid,对于HTTP反向代理,有兴趣者可自行研究配置。 环境: 1、Cent OS 5 2、Squid (Version 2.6.STABLE21) 3、DELL R710 配置: 在配置多Squid同时运行时,我的服务器已经安装配置好的Squid,并正常运行,如果你的服务器还不具备此条件,请先配置好Squid,并确保可以正确运行。 1、复制一份Squid .conf配置文件 2、编辑新文件,配置如下的选项与第一个Squid区分开 3、初始化缓存目录 命令如下:Squid –z –f 新的配置文件 注意,“-f”参数后面一定要写上新配置文件,一般设定2个Squid同时运行时,都是这一步没有处理或者处理错误,比如没有加“-f”参数的话,就会初始化原有的Squid缓存目录而不是新Squid 缓存目录。 4、运行第2个代理服务器 命令如下:Squid –D –f 新的配置文件

维护: 至此,服务器上已经运行两个代理服务器,使用不同的端口,就会通过不同代理服务器进行网络连接,设定配置文件,可为客户端设定不同的网络权限。 1、关于配置文件的更新后Reload 如更新第1个代理,使用默认系统命令:squid –k reconfigure 如更新第2个代理,squid –k reconfigure –f 新的配置文件 2、第2个代理的自动启动 当系统重新时,想第2个代理随机启动,请参照以下脚本(第1个代理启动,可以在系统中设定): #! /bin/sh echo "Start special squid” #输出一些提示信息 squid -D -f /etc/squid/squidnew.conf #我的新配置文件在/etc/squid下面 echo "Please wait ...." #输出一些提示信息 sleep 5 #等待5秒,给Squid启动时间,实际可能不需要怎么久cd /var/cache/squidnew/ #进入缓存目录,我的PID文件放在这里 if [ -s squid.pid ]; #判断PID文件是否存在,存在squid启动成功,否则失败 then echo "Squid start success" else echo "Squid start failed" fi exit 0 将该脚本放置到启动目录,自行启动即可,另外我不是自行启动,因有时候不运行,如自行启动,可将判断的部分删除,因为系统启动,可能看不到脚本提示信息。 关于关闭Squid,请使用多次的 squid –k shutdown 命令关闭服务, 同时使用ps –ef |grep squid 判断代理服务是否全部关闭完成。 调试过程如有问题,使用tail –f /var/log/messages 排错也是个不错的办法。 备注: 另外,系统究竟可以运行多少个Squid?没有测试,猜测如CPU足够快、内存足够大,应该可以运行很多副本。 以上

squid 代理服务器 用户认证配置实例

squid 代理服务器用户认证配置实例 如果你以前没有加过认证,那么不必重新安装,只需把你下载的squid文件重新编译下 下面附安装实例: 我这里安装的是最新的squid 3.0 进入下载的squid源码目录,重新编译squid,并声明支持NCSA认证 ./configure --enable-basic-auth-helpers="NCSA" make 然后进入下面这个目录 cd helpers/basic_auth/NCSA 拷贝生成的执行文件ncsa_auth到/usr/local/squid/bin目录 cp ./ncsa_auth /usr/local/squid/bin 编辑squid.conf 加入 auth_param basic program /usr/local/squid/bin/ncsa_auth /usr/local/squid/etc/passwd aclpasswderproxy_auth REQUIRED http_access allow passwder http_access deny all 如果不想进行用户认证,去掉上述四行,换成 http_access allow all 利用apache携带的工具软件htpasswd在/usr/local/squid/etc下生成密码文件并添加相应的用户信息 /usr/local/bin/htpasswd -c /usr/local/squid/etc/passwd squid 输入密码并确认 如果你的htpasswd不在这个目录,那你进入/etc/local 使用 find . -name htpasswd 查询一下你的文件在那里啦

squid三种代理方式原理与配置

一、代理分类 1)、传统代理 适用于内网访问外网,客户端需要设置代理IP和端口 2)、透明代理 适用于内网访问外网,客户端只需要设置网关,网关就是代理服务器

3)、反向代理 适用于外网访问内网,可以实现负载均衡

二、传统代理搭建及配置 1、修改主配置文件 vim /etc/squid/squid.conf 将http_access deny all 改成http_access allow all 2、开启服务 squid 3、客户端设置——浏览器设置代理 4、测试 客户端访问后,在web服务器查看访问记录,确认访问IP 三、透明代理配置 1、修改主配置文件 vim /etc/squid/squid.conf 将http_access deny all 改成http_access allow all 将http_port 3128 改成 http_port 内网IP:3128 transparent 2、重启服务 killall -9 squid && squid 3、编写防火墙规则 开启端口重定向 firewall——定义内外网卡所在区域——对内网卡所在区域设置端口重定向——将80端口重定向到本机3128端口 4、客户端设置——网关指向代理服务器内网卡IP

5、测试 客户端访问后,在web服务器查看访问记录,确认访问IP 四、反向代理配置 1、修改主配置文件 vim /etc/squid/squid.conf 将http_access deny all 改成http_access allow all http_port 192.168.1.88:80 accel vhost cache_peer 192.168.1.80 parent 80 0 originserver name=sina cache_peer 192.168.1.80 parent 80 0 originserver name=baidu ## cache_peer 指定后端服务器地址,80 为后端服务端口,0 为 ICP 端口号(多个Squid 时用),originserver 指定资源服务器,name 指定一个别名 2、重启启服务 killall -9 squid && squid 3、测试 客户端访问代理服务器外接口IP后,在web服务器查看访问记录,确认访问IP

squid代理服务器、iptables防火墙(安全)的设置和各自的功能

Squid是Linux下最为流行的代理服务器软件,它功能强大,支持对HTTP、FTP、Gopher、SSL、WAIS等协议的代理; 设置简单,只需对配置文件稍稍改动就可使代理服务器运转起来。此外,Squid具有页面缓存功能,它接受用户的下载申请,并自动处理所下载的数据。 前期准备 Squid对硬件的要求是: 内存不应小于128M,硬盘转速越快越好,最好使用服务器专用SCSI 硬盘,对CPU的要求不高,400MHz以上即可。笔者所管理的代理服务器是Inter2150,安装了Red Hat Linux 7.2,安装时就带有Squid。有两块网卡,一块eth0配外部地址(比如211.88.99.66),一块eth1配内网地址(比如192.168.5.1)。如果安装了Gnome或其他图形界面,就可以在netconfig 中给两块网卡配置IP地址,不然的话,可在/etc/sysconfig/network-script路径下更改文件ifcfg-eth0和ifcfg-eth1。 首先编辑ifcfg-eht0,有以下几项: DEVICE=eth0 (表示用哪块网卡) IPADDR=211.88.99.66 (设置该网卡的IP地址) NETMASK=255.255.255.252 (设置子网掩码) 同样编辑ifcfg-eth1,然后运行命令network restart就可以使配置生效了。对eth0、eth1进行配置后,可以用ifconfig命令来查看是不是配置成功。 如果服务器只有一张网卡,也不用担心,Linux可以在一块网卡上绑定多个IP地址。在图形界面下配置很简单,不赘述。如果在文本状态下配置,可以将ifcfg-eth0复制并命名为ifcfg-eth0:1,把它完全当成两块网卡来配就可以了。 Squid的安装 1. 安装Linux 安装Linux在硬盘分区时要注意,最好不要让系统自己分区,而是手动分区。通常,在Linux 系统中有且仅有一个交换分区(在文件系统形式中选择Linux swap),它用做虚拟内存,建议将交换分区的大小设置为内存的两倍。当硬盘的大小超过了8G,要再建立一个128M(稍稍大一点,不会出错)的boot分区,这是为了避免将系统内核文件放到1024磁道以外,如果将boot 作为root分区的一个子目录,内核文件就会安装在root分区的任何地方。因为要用做代理服务器,建议再分一个分区“var”,作为Squid的缓冲区,所以根据磁盘大小尽量分配大一点,最后将硬盘的剩余空间全部分给root分区。 2. 安装Squid 新手安装Squid,建议在安装Linux时就选中Squid,它并不是默认选中项,而且也不在选择的大类中,要在详细列表中查找。如果没有安装,又不想重装系统,可以从https://www.sodocs.net/doc/f95079989.html, 下载Squid软件。 Squid代理服务器的设置

squid反向代理设置功略

代理服务器是使用非常普遍的一种将局域网主机联入互联网的一种方式,使用代理上网可以节约紧缺的IP地址资源,而且可以阻断外部主机对内部主机的访问,使内部网主机免受外部网主机的攻击。但是,如果想让互联网上的主机访问内部网的主机资源(例如:Web 站点),又想使内部网主机免受外部网主机攻击,一般的代理服务是不能实现的,需要使用反向代理来实现。本文将详细介绍反向代理服务的概念以及如何利用反向代理服务器提高WEB服务器的性能和安全性。一.反向代理的概念什么是反向代理呢?其实,反向代理也就是通常所说的WEB服务器加速,它是一种通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器(即:WEB反向代理服务器)来降低实际的WEB服务器的负载。 典型的结构如下图所示: Web服务器加速(反向代理)是针对Web服务器提供加速功能的。它作为代理Cache,但并不针对浏览器用户,而针对一台或多台特定Web服务器(这也是反向代理名称的由来)。实施反向代理(如上图所示),只要将ReverseProxyCache设备放置在一台或多台Web服务器前端即可。当互联网用户访问某个WEB服务器时,通过DNS服务器解析后的IP地址是ReverseProxyServer的IP地址,而非原始Web服务器的IP地址,这时ReverseProxyServer 设备充当Web服务器,浏览器可以与它连接,无需再直接与Web服务器相连。因此,大量

Web服务工作量被卸载到反向代理服务上。不但能够防止外部网主机直接和web服务器直接通信带来的安全隐患,而且能够很大程度上减轻web服务器的负担,提高访问速度。 二.反向代理和其它代理的比较下面将对几种典型的代理服务作一个简单的比较。 在网络上常见的代理服务器有三种: 1.标准的代理缓冲服务器一个标准的代理缓冲服务被用于缓存静态的网页(例如:html 文件和图片文件等)到本地网络上的一台主机上(即代理服务器)。当被缓存的页面被第二次访问的时候,浏览器将直接从本地代理服务器那里获取请求数据而不再向原web站点请求数据。这样就节省了宝贵的网络带宽,而且提高了访问速度。但是,要想实现这种方式,必须在每一个内部主机的浏览器上明确指明代理服务器的IP地址和端口号。客户端上网时,每次都把请求送给代理服务器处理,代理服务器根据请求确定是否连接到远程web服务器获取数据。如果在本地缓冲区有目标文件,则直接将文件传给用户即可。如果没有的话则先取回文件,先在本地保存一份缓冲,然后将文件发给客户端浏览器。 2.透明代理缓冲服务器透明代理缓冲服务和标准代理服务器的功能完全相同。但是,代理操作对客户端的浏览器是透明的(即不需指明代理服务器的IP和端口)。透明代理服务器阻断网络通信,并且过滤出访问外部的HTTP(80端口)流量。如果客户端的请求在本地有缓冲则将缓冲的数据直接发给用户,如果在本地没有缓冲则向远程web服务器发出请求,其余操作和标准的代理服务器完全相同。对于Linux操作系统来说,透明代理使用Iptables 或者Ipchains实现。因为不需要对浏览器作任何设置,所以,透明代理对于ISP(Internet 服务器提供商)特别有用。 3.反向代理缓冲服务器反向代理是和前两种代理完全不同的一种代理服务。使用它可以降低原始WEB服务器的负载。反向代理服务器承担了对原始WEB服务器的静态页面的请求,防止原始服务器过载。它位于本地WEB服务器和Internet之间,处理所有对WEB服务器的请求,组织了WEB服务器和Internet的直接通信。如果互联网用户请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。如果没有缓冲则先向WEB服务器发出请求,取回数据,本地缓存后再发送给用户。这种方式通过降低了向WEB服务器的请求数从而降低了WEB服务器的负载。 三.反向代理工作原理

squid介绍及其简单配置

1.Squid是什么?Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说, 1.Squid是什么? Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如:http://https://www.sodocs.net/doc/f95079989.html,/)并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理 HTTP,FTP,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。 2.squid代理的作用: 3.接下来我们主要探讨的是squid各种代理的定义 正向代理 a.标准的代理缓冲服务器

一个标准的代理缓冲服务被用于缓存静态的网页(例如:html文件和图片文件等)到本地网络上的一台主机上(即代理服务器)。当被缓存的页面被第二次访问的时候,浏览器将直接从本地代理服务器那里获取请求数据而不再向原web 站点请求数据。这样就节省了宝贵的网络带宽,而且提高了访问速度。但是,要想实现这种方式,必须在每一个内部主机的浏览器上明确指明代理服务器的IP 地址和端口号。客户端上网时,每次都把请求送给代理服务器处理,代理服务器根据请求确定是否连接到远程web服务器获取数据。如果在本地缓冲区有目标文件,则直接将文件传给用户即可。如果没有的话则先取回文件,先在本地保存一份缓冲,然后将文件发给客户端浏览器。 b.透明代理缓冲服务器 透明代理缓冲服务和标准代理服务器的功能完全相同。但是,代理操作对客户端的浏览器是透明的(即不需指明代理服务器的IP和端口)。透明代理服务器阻断网络通信,并且过滤出访问外部的HTTP(80端口)流量。如果客户端的请求在本地有缓冲则将缓冲的数据直接发给用户,如果在本地没有缓冲则向远程web服务器发出请求,其余操作和标准的代理服务器完全相同。对于Linux操作系统来说,透明代理使用Iptables或者Ipchains实现。因为不需要对浏览器作任何设置,所以,透明代理对于ISP(Internet服务器提供商)特别有用。 反向代理: a. 反向代理缓冲服务器 反向代理是和前两种代理完全不同的一种代理服务。使用它可以降低原始WEB 服务器的负载。反向代理服务器承担了对原始WEB服务器的静态页面的请求,防止原始服务器过载。它位于本地WEB 服务器和Internet之间,处理所有对WEB 服务器的请求,组织了WEB服务器和Internet的直接通信。如果互联网用户请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。如果没有缓冲则先向WEB服务器发出请求,取回数据,本地缓存后再发送给用户。这种方式通过降低了向 WEB服务器的请求数从而降低了WEB服务器的负载。 4.Squid主要组成部分 服务名:squid 主程序:/usr/sbin/squid 配置目录:/etc/squid 主配文件:/etc/squid/squid.conf 监听tcp端口号:3128 默认访问日志文件:/var/log/squid/access.log

Iptables+squid透明代理配置及测试

1 开启内核路由功能 echo 1 > /proc/sys/net/ipv4/ip_forward 2 配置iptables设定nat,即透明代理 iptables -t nat -A PREROUTING -s 10.0.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128 如果只设置下面一句而上面一句不设置,客户端也可以上网,只是不通过squid哈~ /sbin/iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-source 192.168.202.246 保存iptables设置 service iptables save 2、修改selinux设置 setsebool -P squid_disable_trans on 配置iptables设定nat,即透明代理

Iptables设好如上 Cat /usr/local/squid/etc/squid.conf 下面是ACL访问控制列表,可以设置黑名单,也可以设置过滤字符,可以设置访问文件类型来实现限制下载等功能 客户端10.0.0.2不用作任何设置,打开IE输入网址就可以了,默认WEB端口为80,访问就自动转向192.168.202.246的3128代理端口 Netstat –anut 查看端口状态,可以看到10.0.0.2是通过192.168.202.246代理端口3128访问外网的,可以下载,当然也可以限制! 上面我设置不允许访问https://www.sodocs.net/doc/f95079989.html,这个网址,结果如下!

squid

squid介绍及其简单配置 1.Squid是什么? Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如:http://https://www.sodocs.net/doc/f95079989.html,/)并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理HTTP,FTP,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。 2.squid代理的作用:

3.接下来我们主要探讨的是squid各种代理的定义正向代理 a.标准的代理缓冲服务器 一个标准的代理缓冲服务被用于缓存静态的网页(例如:html文件和图片文件等)到本地网络上的一台主机上(即代理服务器)。当被缓存的页面被第二次访问的时候,浏览器将直接从本地代理服务器那里获取请求数据而不再向原web站点请求数据。这样就节省了宝贵的网络带宽,而且提高了访问速度。但是,要想实现这种方式,必须在每一个内部主机的浏览器上明确指明代理服务器的IP 地址和端口号。客户端上网时,每次都把请求送给代理服务器处理,代理服务器根据请求确定是否连接到远程web服务器获取数据。如果在本地缓冲区有目标

文件,则直接将文件传给用户即可。如果没有的话则先取回文件,先在本地保存一份缓冲,然后将文件发给客户端浏览器。 b.透明代理缓冲服务器 透明代理缓冲服务和标准代理服务器的功能完全相同。但是,代理操作对客户端的浏览器是透明的(即不需指明代理服务器的IP和端口)。透明代理服务器阻断网络通信,并且过滤出访问外部的HTTP(80端口)流量。如果客户端的请求在本地有缓冲则将缓冲的数据直接发给用户,如果在本地没有缓冲则向远程web服务器发出请求,其余操作和标准的代理服务器完全相同。对于Linux 操作系统来说,透明代理使用Iptables或者Ipchains实现。因为不需要对浏览器作任何设置,所以,透明代理对于ISP(Internet服务器提供商)特别有用。 反向代理: a. 反向代理缓冲服务器 反向代理是和前两种代理完全不同的一种代理服务。使用它可以降低原始WEB服务器的负载。反向代理服务器承担了对原始WEB服务器的静态页面的请求,防止原始服务器过载。它位于本地WEB服务器和Internet之间,处理所有对WEB服务器的请求,组织了WEB服务器和Internet的直接通信。如果互联网用户请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。如果没有缓冲则先向WEB服务器发出请求,取回数据,本地缓存后再发送给用户。这种方式通过降低了向WEB服务器的请求数从而降低了WEB 服务器的负载。 4.Squid 主要组成部分 服务名:squid

CentOS 7中Squid代理服务器的配置与实现

CentOS 7中Squid代理服务器的配置与实现 作者:刘春景建强邵国强孙涛张丽华 来源:《现代信息科技》2020年第03期 摘; 要:Squid代理服务器是下载速度快、缩短延时并缓存Internet数据的软件,可以通过正向代理、反向代理实现加快内部浏览互联网速度,提高网络的安全性。文章首先分析代理工作原理,提出正向代理、透明代理和反向代理三种类型的应用机制,然后详细阐述了ACL访问控制特性来灵活地控制用户访问时间、站点等,最后通过实验实现了Squid服务器的代理机制应用。 关键词:代理缓存服务器;正向代理;反向代理;ACL访问控制 中图分类号:TP316.81; ; ; 文献标识码:A 文章编号:2096-4706(2020)03-0038-04 Abstract:Squid proxy server is a software with fast download speed,short delay time and cache Internet data,which can speed up the internal browsing speed and improve the network security through forward proxy and reverse proxy. This paper first analyzes the working principle of the agent,and puts forward three types of application mechanisms:forward agent,transparent agent and reverse agent. Then it elaborates the ACL access control characteristics to flexibly control user access time,site and other restrictions. Finally,it realizes the application of Squid server’s agent mechanism through experiments. Keywords:proxy cache server;forward proxy;reverse proxy;ACL access control 0; 引; 言 為推动高校积极开展面向互联网应用创新的科研与教学改革,教育部科技发展中心设立“新一代信息技术创新项目”。我校获批教育部科技发展中心高校产学研创新基金项目,进行基于Docker在Kubernetes中实现容器的高可用的研究,促进信息技术与教育深度融合,提升高校创新型应用成果的产业化,其中Squid服务器是应用于该项目的一个代理服务器,是高性能的代理缓存服务器。Squid缓存不仅可以节省宝贵的带宽资源,也可以大大降低服务器的I/O。从经济角度考虑,它是很多网站架构中不可或缺的角色。Squid服务器主要支持HTTP、FTP 等应用协议,一般用来做前置的Web缓存,加快用户访问Web的速度;代理内网用户访问互联网资源;设置访问控制策略,控制用户的上网行为。 1; 代理服务器机制

Linux1 代理服务器 squid主配置文件squid.conf

Linux1 代理服务器squid主配置文件squid.conf Squid.conf是最核心的配置文件,位于/etc/squid/目录下。squid的主配置文件的内容远比其他服务的主配置文件多得多,大概有4300多行的内容,不过不用担心,因为绝大部分的内容是注释信息,而且注释内容相当丰富,完全可以通过注释来了解squid的功能、语法以及使用。 下面是squid.conf文件的结构以及一些常用的选项,其可以分为十三个部分,这十三个部分分别是: ●NETWORK OPTIONS 设置与网络相关的选项。如设置监听那些IP地址 的哪些端口。 ●OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM 作用是设置与邻居选择算法有关的选项。 ●OPTIONS WHICH AFFECT THE CACHE SIZE 作用是设置与cache大小 有关的选项。如设置内存缓冲区的大小。 ●LOGFILE PATHNAMES AND CACHE DIRECTORIES 作用是设置日志 文件的路径及cache的目录。 ●OPTIONS FOR EXTERNAL SUPPORT PROGRAMS 作用是设置与外部 支持程序有关的选项。 ●OPTIONS FOR TUNING THE CACHE 作用是调整cache选项。 ●TIMEOUTS 作用是设置与超时有关的选项。 ●ACCESS CONTROLS 作用是设置与访问控制有关的选项。 ●ADMINISTRA TIVE PARAMETERS 作用是设置与管理参数有关的选项。 ●OPTIONS FOR THE CACHE REGISTRATION SERVICE 作用是设置与 cache注册服务有关的选项。 ●HTTPD-ACCELERATOR OPTIONS 作用是设置与HTTPD加速有关的选 项。 ●MISCELLANEOUS (相关杂项) ●DELAY POOL PARAMETERS 作用是设置延时池参数。 虽然squid的配置文件很庞大,但是如果只是为一个中小型网络提供代理服务,并且只准备使用一台服务器,那么,只需要修改配置文件中的几个选项。这几个常用选项如下。 1.设置监听的端口号 为squid设置端口号的意思就是告诉squid在那个端口上监听http请求。用户可以使用默认设置,在默认情况下监听的端口号为3218,如果使用HTTPD加速模式则为80。用户可以指定多个端口(所有指定的端口都必须在一行上)。使用http_port 字段进行设置,如图11-35所示。

相关主题