当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > RedHat6.2服务器配置方案大全(五):Squid

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

Linux服务器 中的 RedHat6.2服务器配置方案大全(五):Squid


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 54 ::
收藏到网摘: n/a


作者:汤海京

第五章Squid
5.1简介
作为一种免费的网络操作系统,Linux越来越受到广大网络爱好者的欢迎,目前因特网(Internet)上运行的主机有相当一部分采用的就是linux操作系统,而且中国已经把linux操作系统作为政府上网年的指定网络操作系统,种种迹象表明,linux操作系统正在逐渐走向成熟。在本章我将向大家介绍一种能在Linux系统下使用的比较优秀的代理服务器软件的配置方法。

众所周知,当今因特网发展速度极其迅猛,IP地址资源非常紧张。而如果您想访问因特网,共享因特网的丰富资源,您的机器必须拥有一个标准的IP地址。在因特网上,IP地址是识别您的机器的唯一标志。目前,有两种方式可以让您的机器拥有标准的IP地址:一种是局域网通过专线接入因特网,您的机器可以拥有静态的IP地址。所谓静态IP地址,就是对使用者来说,是固定不变的IP地址,这个IP地址给您使用后,其他人就不能再用了。一种是通过电话线拨号或ISDN拨号等方式接入因特网,您的机器可以在您拨号上网的在线期间从ISP的访问服务器的IP地址池中获得一个临时的标准IP地址,这个IP地址在您下线后就不归您使用了,而您下次拨号再上网,很可能分配给您的机器的是另外一个临时的IP地址了。这种临时分配的IP地址,称为动态IP地址。无论是静态地址还是动态地址,在您的机器访问因特网时,使用起来没有什么区别。

现在因特网发展速度这么快,而IP地址资源又这么紧张,这不能不说是一个尖锐的矛盾。虽说Ipv6正在开发中,但远水不解近渴,好多的企业、公司内部的Intranet现在就想接入因特网这个浩瀚的资源海洋,但又苦于没有充足的IP地址资源,怎么办?还好,有代理服务这个好东西。代理服务是指由一台拥有标准IP地址的机器代替若干没有标准IP地址(以下称内部地址)的机器和因特网上的其他主机打交道,提供代理服务的这台机器称为代理服务器。拥有内部地址的机器想到因特网上查找资料时,先把这个请求发给拥有标准IP地址的代理服务器,由代理服务器把这个请求通过它的标准IP地址发到请求的目标地址。然后目标地址的服务器把返回的结果发回给代理服务器,代理服务器再原封不动的把资料发给最初那台拥有内部IP地址的机器。这样就完成了一次内部机器访问因特网的一个过程。若干拥有内部地址的机器就组成了内部网,代理服务器的作用就是勾通内部网和因特网,解决内部网访问因特网的问题。而且这种代理是不可逆的,因特网上的主机不能访问任何一台拥有内部地址的机器,这样又可以保障内部资料的安全性。

能够完成这种代理功能的服务器软件有好多,我给大家推荐一种能在linux下使用的比较优秀的代理服务器软件Squid。之所以说它比较优秀,是因为它可以在代理服务器上作一个很大的缓存,可以把好多常去的网站内容存储到缓存中,这样,内部网的机器再访问那些网站,就可以从缓存里调用了。这样一方面可以加快内部网浏览因特网的速度,这就是所谓的提高客户机的访问命中率,另一方面,Squid不仅仅支持HTTP协议,而且还支持FTP,GOPHER,SSL和WAIS等协议考虑到简捷实用的原则,我们本章只向大家介绍如何设置HTTP代理,而其他的代理大同小异,各位理解了HTTP的配置也就明白应该如何配置其他的代理了。

5.2所需系统资源
5.2.1配置文件:

文件 来源

/etc/squid/squid.confsquid-2.3.STABLE1-5

5.2.2相关工具:

文件 来源

/etc/rc.d/init.d/squidsquid-2.3.STABLE1-5

/etc/spool/squid squid-2.3.STABLE1-5

5.3配置方案
1./etc/squid/squid.confsquid主配置文件

作用:包括了全部的squid配置选项,管理员只需编辑此文件便可达到提供代理服务的目的。

实例:

http_port3128

#HTTP协议代理默认代理端口

cache_mem42MB

#开劈一块内存区域作为缓冲

cache_dirufs/home/squid/cache204816256

#开劈一块硬盘空间,作为硬盘缓冲区,这块区域的分布是连续的,逻辑关系由管理员设定

cache_access_log/var/log/squid/access.log

#该log文件是用来描述每次客户请求HTTP内容时,高速缓存命中或未命中的项目。同时描述提出请求的主机身份及它们所需的内容。

cache_log/var/log/squid/cache.log

#用于描述当squid守护进程启动时,可看到有多少内存、交换空间,高速缓存目录的位置,所接受的连接类型及接受连接的端口。

cache_store_log/var/log/squid/store.log

#用于描述页面从高速缓存中被调入调出的情况。

pid_filename/var/run/squid.pid

#管理员可以通过查看此文件了解当前执行的squid进程。

dns_nameservers192.168.10.1

#定义域名解析服务器的地址

aclallsrc0.0.0.0/0.0.0.0

#定义all

aclmanagerprotocache_object

acllocalhostsrc127.0.0.1/255.255.255.255

aclSSL_portsport443563

aclSafe_portsport8021443563702101025-65535

aclSafe_portsport280#http-mgmt

aclSafe_portsport488#gss-http

aclSafe_portsport591#filemaker

aclSafe_portsport777#multilinghttp

aclCONNECTmethodCONNECT

http_accessallowall

#对所有来自子网的HTTP请求均不作限制

http_accessdeny!Safe_ports

#禁止来自!Safe_ports的HTTP请求

http_accessdenyCONNECT!SSL_ports

icp_accessallowall

miss_accessallowall

[email protected]

#设置cache管理员的邮件箱地址

aclwhitehousedst209.67.27.247

#设置地址变量

aclBADdstwhitehouse

#设置禁止访问的外部地址变量

http_accessdenyBAD

aclwhitehouseurlurl_regexhttp://www.whitehouse.com

#设置禁止访问的外部URL

aclBADdstwhitehouseurl

http_accessdenyBAD

#管理员可以通过IP和URL两种方式实现对外部网站的屏蔽

reference_age1week

#设置缓冲区的更新周期

maximum_object_size4096KB

#设置允许被缓存的一次性最大请求

2./etc/rc.d/rc.local

echo1>/proc/sys/net/ipv4/ip_forward

#增加该行的意思是,打开ip_forward,使得系统能够支持IP转发。

ipchains-Iforward-s192.168.10.0/24-d0/0-jMASQ

#设置透明代理的一种方式。

5.4测试及管理方法
1.管理员更改了配置选项之后需要执行/etc/rc.d/init.d/squidrestart使得更改生效。

2.在客户端的IE浏览器中需要设置代理服务器为192.168.10.1,端口为3128。

3.在配置文件中设定的cache_dir需要通过squid-z使得这个目录生效,当然,在squid-z之前先要更改这个目录的权限:chmod0777/home/squid/cache。

5.5本章小结
看完本章之后,我想各位一定有个深切的感受,squid的配置文件十分的长,而且能干的事情实在是太多了,但是我们作为一名合格的管理员应该从需求方案出发,以客户的需求为导向,配置出我们自己需要的服务器,这样不但可以满足需要,还能大大减少我们的工作量,配置squid就是一个鲜明的例子。