Squid配置指南
下面是一篇很好的配置说明----------------------------------------Squid 是一种源代码开放的高性能代理缓存服务器。
它可支持FTP,gopher和Http数据对象的代理。
另外,Squid也支持SSL,多样化访问控制和代理请求的完整日志功能。
通过轻量级的网际缓存协议,Squid以网状或层次的方式分配内存,这样能节省额外的带宽。
提供Http 服务加速代理,Web服务器把Http数据推到Squid缓存中,外界的请求访问可以通过缓存提取所需数据,实现Web服务器的动态镜像。
另外,为了实现对Squid服务器的监控,采用MRTG。
MRTG是Multi Router Traffic Grapher 的缩写,它主要的用途是监测网络服务设备的流量,并生成包括图片的HTML文件,可以直观的显示网络服务的流量,以提供Squid缓存服务的监测。
通过Squid+MRTG可以配置一个完善的代理服务提供方案。
下面为具体配置步骤:一.基础准备Squid下载地址:[url][/url]版本:squid-2.4.STABLE4-src.tar.gzMRTG下载地址:[url]http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/[/url]版本:mrtg-2.9.22.tar.gz机器配置为:256M内存,9G硬盘(其中4G分区专用缓存目录),PII433。
二.安装步骤解压Squid(一般做法,把软件包括在/opt目录下)#tar zxvf squid-2.4.STABLE4-src.tar.gz#cd squid//进行编译#./configure --prefix=/usr/local/squid --enable-delay-pools --enable-snmp --enable-cache-digests --enable-auth-modules=”NCSA”#make all#make install*对编译项目的解释:--prefix 为编译Squid所存放的目录,这里为/usr/local/squid--enable-delay-pools 此选项使能一个延时池,这样能对某些特定的请求限制额定带宽。
--enable-snmp 此选项可以让MRTG使用SNMP协议对服务器的流量状态进行监测,因此必须选择此项,使Squid支持SNMP接口。
--enable-cache-digests 使能缓存摘要,本来此项目的是为了在Squid集群服务之间迅速发现缓存对象,这里在本地使用,可以加快请求时,检索缓存内容的速度。
--enable-auth-modules 此编译选项启用认证模块,可以对访问代理用户进行授权。
安装MRTG#tar zxvf mrtg-2.9.22.tar.gz#cd mrtg*#./configure --prefix=/usr/local/mrtg-2#make#make install/* 几点说明:1.MRTG大部分程序是用Perl脚本写成,需要Perl版本为5.005以上才能运行,RH 7.2带有perl版本为v5.6.0,非常满足要求。
(如果版本不够,请到[url][/url]下载安装。
)2.MRTG需要zlib,gd和libpng三个处理图形的库支持,RH7.2满足此要求。
(如果没有安装,请到http: ///gd/ [url]/pub/png/src/[/url] [url]/zlib[/url] 下载安装)三.具体配置lSquid配置(仅对必要选项配置并说明):http_port 80此选项用于Squid代理所侦听的端口,由于要实现Http加速代理,则侦听端口80tcp_outgoing_address 255.255.255.255此句法指定了远程服务器的IP地址,这里我们使用255.255.255.255来指定为所有地址tcp_incoming_address这里可以使用http_port语法进行绑定端口和IP地址。
表示客户端的请求。
可以不使用。
cache_mem 64 MB由于Squid在读写磁盘,I/O通道,数据转贮等需要大量内存,我们可以把内存值稍微设置大一些,这样可以提供服务器性能。
cache_swap_low 95这用做表示缓存内部对象的替换的衡量基线。
当交换分区的磁盘利用率超越这个基线,那么缓存对象替换也就随之开始。
这里是用百分率做衡量标准。
cache_swap_high 98此标记用于缓存对象替换的最高程度,当交换分区磁盘利用率接近此设置,则表示对象的更新程度更为剧烈。
这里由于我的缓存区设置比较大,因此设置为98%。
下面几个配置标记采用系统默认配置。
{ maximum_object_size 4096 KB{ 超过此尺寸的对象将不缓存。
{ minimum_object_size 0 KB{ 小于此尺寸的对象将不缓存。
{ maximum_object_size_in_memory 8 KB{ 内存中能缓存的最大对象尺寸。
{ ipcache_size 1024{ 指定IP缓存大小。
{ ipcache_low 90{ 缓存IP地址的最低基线。
{ ipcache_high 95{ 缓存IP地址的最高极限。
{ fqdncache_size 1024{ 缓存DNS全域名解析的尺寸。
cache_replacement_policy lru此标记用于当缓存新对象时,使用缓存策略来清除缓存中特定对象。
这里使用lru表示:它只替换长时间没有被访问过的对象。
其他策略请参看配置文档介绍。
memory_replacement_policy lru此用法同上,区别在于替换内存对象。
cache_dir ufs /cache 4000 16 256设置缓存根目录为/cache,类型为ufs,缓存区大小为4G,可以有16个二级子目录,每有二级目录有256个三级子目录。
cache_access_log /var/log/squid/access.logcache_log /var/log/squid/cache.logcache_store_log /var/log/squid/store.logcache_swap_log /var/log/squid/swap.log上面几项是缓存日志记录的路径和文件名。
log_ip_on_direct on记录客户端主机的IP地址。
log_fqdn on记录全DNS域名解析。
mime_table /usr/local/squid/etc/mime.confSquid所用mime的文件路径pid_filename /usr/local/squid/logs/squid.pidSquid进程ID的文件。
ftp_user Squid@这里可以使用匿名登陆FTP服务器。
ftp_list_width 32FTP文件列表长度,超过长度则截断文件名。
ftp_passive on允许主动连接FTP服务器。
dns_nameservers 202.98.187.1指定代理的域名解析服务器。
authenticate_program /usr/local/squid/bin/ncsa_auth/usr/local/squid/etc/passwd代理认证程序,这里在/usr/local/squid/etc使用htpasswd产生一个密码文件,具体方法如下:#htpasswd –cdb passwd auth_usr1 pass1#htpasswd –db passwd auth_usr2 pass2#htpasswd –db passwd auth_usr3 pass3创建passwd文件,并添加auth_usr1,auth_usr2,auth_usr3三个认证用户。
authenticate_children 5所需要要产生的认证进程数。
authenticate_ttl 3600此标记设置认证保持时间。
authenticate_ip_ttl 1800此标记设置认证绑定IP地址的时间长度。
authenticate_ip_ttl_is_strict on此标记可在authenticate_ttl时间内,拒绝其他非认证IP地址访问。
request_header_max_size 10 KBrequest_body_max_size 1 MB设置了Http请求的包头和数据大小。
request_body_max_size 0这里,请求所返回的数据大小为0,意义为没有任何限制。
connect_timeout 180 secondsread_timeout 15 minutesrequest_timeout 20 seconds上面几项是代理服务几个超时设置,这里使用配置文件默认值。
下面是访问控制列表一些配置,这里对访问的IP地址,域名,访问类型极其访问代理的权限做的限制:acl acldomain dstdomain acl acceleratedport port 80acl acceleratedhost dst 202.98.187.17/255.255.255.255acl aclprotocol proto HTTP FTPacl aclmethod method GET POSTacl aclauth proxy_auth required(注:这里使用required表示任何passwd文件中存在的合法用户才授予访问权限。
)acl aclsnmp snmp_community secrectMRTG可以使用snmp协议检测此代理服务运行状态。
acl aclconn maxconn 20可并行连接的最大数量。
启用定义的访问控制列表http_access allow manager localhosthttp_access deny managerhttp_access allow aclauthhttp_access allow acceleratedport acceleratedhosthttp_access deny all下面为缓存管理设置cache_mgr admin@设置缓存管理者的接受邮件地址。
cache_effective_user squidusrcache_effective_group squidgrp设置执行Squid的用户和用户组。
{注:设置用户和用户组及其权限修改方法如下:#groupadd squidgrp#useradd –g squidgrp –d /home/squidusr squidusr修改log日志权限属性,使squidusr有写权限。
第3单元 Squid代理服务的配置与应用
Squid代理服务的安装 Red Hat Enterprise Linux 6安装程序默认没 有安装Squid服务,可以使用下面的命令。
yum install “squid*” rpm -ivh squid-xxxx.rpm
配置文件:/etc/squid/squid.conf 启动脚本:squid 代理Web服务的默认端口为:3128
代理服务器的原理 代理服务器将Internet上主机的回应信息传送给 客户端A。 客户端B向代理服务器提出相同的请求。代理 服务器也首先与访问控制列表中的访问规则相 对照。 如果满足规则,则将缓存中的信息传送给客户 端B。
Squid简介 Squid是Linux和UNIX平台下最为流行的高性能 免费应用层代理服务器,它具有权限管理灵活 、性能高和效率快等特点。 Squid是一个由众多在互联网上的开发人员共同 努力而完成的一款高性能的代理缓冲服务器。 Squid的另一个优越性在于它使用访问控制列表 (ACL)和访问权限列表(ARL)进行权限管 理和内容过滤,这样可阻止特定的网络连接来 减少潜在的Internet非法连接,可以使用这些清 单来确保内部网的主机无法访问有威胁的或限 制访问不适宜的站点。
共享网络 加快访问速度,节约通信带宽 防止内部主机受到攻击 限制用户访问,完善网络管理
代理服务器的理
客户端A向代理服务器提出访问Internet的请求 。 代理服务器接受到请求后,首先与访问控制列 表中的访问规则相对照,如果满足规则,则在 缓存中查找是否存在需要的信息。 如果缓存中存在客户端A需要的信息,则将信 息传送给客户端。如果不存在,代理服务器就 代替客户端向Internet上的主机请求指定的信息 。 Internet上的主机将代理服务器的请求信息发送 到代理服务器中,同时代理服务会将信息存入 缓存中。
squid缓存方案
squid缓存方案概述:本文将介绍squid缓存方案的基本原理、配置和优化方法,以帮助读者更好地理解和应用该缓存方案。
一、基本原理Squid是一种高性能的Web缓存服务器,通过存储常用的Web资源,以减少资源的下载时间和网络带宽的消耗。
其基本工作原理如下:1. 客户端发起请求:当客户端发起HTTP请求时,请求会被发送到Squid服务器。
2. Squid检查缓存:Squid会检查是否已经缓存了该请求的响应。
3. 缓存命中:如果Squid缓存中存在所需的Web资源,即缓存命中,Squid服务器会立即返回缓存中的响应给客户端。
4. 缓存未命中:如果Squid缓存中不存在所需的Web资源,即缓存未命中,Squid服务器会向源服务器发起请求,并将获取到的响应存储在缓存中,同时返回该响应给客户端。
二、配置Squid缓存方案下面是配置Squid缓存方案的基本步骤:1. 安装Squid服务器:根据不同的操作系统,选择安装适合的Squid版本,并完成安装配置。
2. 配置访问控制列表:通过配置访问控制列表,设置哪些请求可以被缓存以及访问权限的控制。
3. 配置缓存存储位置:设置Squid服务器用于存储缓存内容的位置和大小。
4. 配置Squid的上游代理:如果有其他代理服务器,可以配置Squid将请求发送到该代理服务器进行处理。
5. 配置存储策略:根据实际需求,配置Squid如何存储和管理缓存内容。
三、优化Squid缓存方案为了提升Squid缓存方案的效果和性能,以下是一些优化建议:1. 调整缓存大小:根据实际需求和可用资源,调整缓存的大小以适应更多的缓存内容。
2. 设置缓存时间:通过设置合理的缓存时间,控制缓存内容的过期时间,避免缓存过时的内容。
3. 启用压缩功能:开启Squid的压缩功能,可以减小存储空间的占用和传输数据的流量。
4. 启用SSL支持:如果需要处理HTTPS请求,配置Squid以启用SSL支持,提供更安全的缓存方案。
Linux1 代理服务器 squid.conf的其它配置选项
Linux1 代理服务器squid.conf的其它配置选项学习squid代理服务器,有必要对其他有用的配置选项做一个全面的了解。
下面就分类来介绍这些选项。
1.网络选项●tcp_incoming_address该配置选项用来指定监听来自客户或其他squid代理服务器的绑定ip地址。
●tcp_outgoing_address该配置选项用来指定向远程服务器或其他squid代理服务器发起连接的ip地址。
●udp_incoming_address该配置选项用来为ICP套接字指定接收来自其他squid代理服务器的包的ip地址。
●udp_outgoing_address该配置选项用来为ICP套接字指定向其他squid代理服务器发送包的ip地址(缺省为没有绑定任何IP地址。
该绑定地址可以用IP指定,也可以用完整的域名指定)。
2.交换空间设定选项●cache_swap_high (percent,0-100)squid使用大量的交换空间来存储对象。
经过一定的时间以后,该交换空间就会用完,所以还必须定期的按照某种指标来将低于某个水平线的对象清除。
squid使用所谓的“最近最少使用算法”(LRU)来做这一工作。
当已使用的交换空间达到cache_swap_high时,squid就根据LRU所计算的得到每个对象的值将低于某个水平线的对象清除。
这种清除工作一直进行直到已用空间达到cache_swap_low。
这两个值用百分比表示,如果用户所使用的交换空间很大的话,建议用户减少这两个值的差距,因为这时一个百分点就可能是几百兆空间,这势必影响squid的性能。
缺省设置为cache_swap_low 90和cache_swap_high 95。
●maximum_object_size该选项说明大于该值的对象将不被存储。
如果用户想要提高访问速度,就请降低该值;如果用户想最大限度地节约带宽,降低成本,请增加该值。
单位为K B,缺省设置为maximum_object_size 4096 KB。
第9季 Squid服务全攻略之高级配置(transparent)
第9季 Squid服务全攻略之高级配置企业环境公司搭建一台代理服务器,需要提高内网访问互联网速度并能够对内部员工的上网行为进行限制,采用squid代理服务器软件,对内部网络进行优化。
需求分析提高用户访问速度,需要对squid服务器进行优化并且需要使用acl对访问行为进行相应限制。
解决方案1、路由及NAT设置设置网卡IP地址eth0:192.168.8.188 netmask:255.255.255.0vim /etc/sysconfig/network-scripts/ifcfg-eth0eth1:dhcp获取vim /etc/sysconfig/network-scripts/ifcfg-eth1开启内核路由功能echo 1 > /proc/sys/net/ipv4/ip_forward配置iptables设定nat,即透明代理iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128如果只设置下面一句而上面一句不设置,客户端也可以上网,只是不通过squid 哈~iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE保存iptables设置service iptables save2、修改selinux设置setsebool -P squid_disable_trans on注意:如果配置squid透明代理,要开启selinux的squid_disable_trans,否则squid 不能启动哈~3、添加squid系统用户和组[root@rhel5 ~]# groupadd squidadmin[root@rhel5 ~]# useradd squidadmin -g squidadmin -s /sbin/nologin4、建立相应目录[root@rhel5 ~]# mkdir /usr/local/squid[root@rhel5 ~]# mkdir /usr/local/squid/cache[root@rhel5 ~]# mkdir /usr/local/squid/var[root@rhel5 ~]# mkdir /usr/local/squid/var/logs5、改变目录的所有者为了保证服务正常启动并可以写入缓存、日志等信息,我们更改目录所有者为squidadmin哈~[root@rhel5 ~]# chown -R squidadmin /usr/local/squid/cache[root@rhel5 ~]# chgrp -R squidadmin /usr/local/squid/cache[root@rhel5 ~]# chown -R squidadmin /usr/local/squid/var/logs [root@rhel5 ~]# chgrp -R squidadmin /usr/local/squid/var/logs6、修改squid配置文件vim /etc/squid/squid.conf设置监听地址和端口http_port 3128 transparent红色部分是支持透明代理,这是squid新版本的改进注意:好多资料说透明代理设置为httpd_accel_host virtualhttpd_accel_port 80httpd_accel_with_proxy onhttpd_accel_uses_host_header on实际上透明代理只是在普通代理的基础上加上了http_port 3128 transparent 及IPTABLES的端口转发功能,使用Iptables或者Ipchains实现,即把用户对外部www站点的访问转到 Squid的端口上去,相对用用户来讲是“透明”的,不需在浏览器中指明代理服务器的IP和端口。
ubuntu下安装 squid
1.安装ubuntu系统, sudo passwd root 创建root用户2.安装squidSudo apt-get install squid (保证联网状态)假如输入命令提示没有此安装包输入命令更新软件库Sudo apt-get update3.配置文件打开配置文件sudo gedit /etc/squid/squid.conf(1) 定位到# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOURCLIENTS# Example rule allowing access from your local networks. Adapt# to list your (internal) IP networks from where browsing should# be allowed#acl our_networks src 192.168.1.0/24 192.168.2.0/24#http_access allow our_networkshttp_access allow localhost########add by LfTacl my_network src 192.168.0.133 192.168.0.122 #设置你允许访问的(客户机)iphttp_access allow my_network#########end add# And finally deny all other access to this proxyhttp_access deny all(2) 定位到# Squid normally listens to port 3128########change by LfThttp_port 192.168.0.111:808 #你(服务端)的局域网IP及开放的端口;原来是:http_port 3128#########change add# TAG: https_port# Note: This option is only available if Squid is rebuilt with the# --enable-ssl option这样当你启用squid后,这几个ip就可使用这个代理了.3.对配置文件查错#sudo /usr/sbin/squid –k parse没有输出内容,则配置文件有效。
squid 转发规则 -回复
squid 转发规则-回复squid 转发规则是一种用于网络代理服务器的规则设置,它可以帮助网络管理员控制和优化数据流量,提高网络安全性和性能。
本文将介绍squid 转发规则的基本概念、设置方法以及常见应用场景。
第一部分:squid 转发规则的基本概念1. 什么是squid?squid 是一种流行的开源网络代理服务器,它可以缓存和转发网络请求,有效地减轻网络负荷,提高用户访问速度。
2. 什么是转发规则?转发规则是squid 服务器用来判断和处理网络请求的一组规则。
它可以根据请求源、目的地、内容类型等信息来对请求进行分类、重定向、限制或允许。
第二部分:squid 转发规则的设置方法1. 安装squid 服务器:首先,在你的服务器上安装squid 软件包,并进行基本的配置。
2. 编辑squid 配置文件:打开squid 配置文件,一般位于/etc/squid/squid.conf,找到"acl" 部分,它定义了用于匹配请求的访问控制列表。
3. 添加转发规则:在acl 部分,添加你需要的转发规则,可以使用IP 地址、域名、URL、内容类型等进行匹配。
4. 设置转发操作:在转发规则中,可以设置不同的转发操作,如重定向请求到其他服务器、限制访问、缓存请求等。
5. 保存配置文件并重启squid 服务器:保存配置文件并重启squid 服务器,使新的转发规则生效。
第三部分:squid 转发规则的常见应用场景1. 访问控制:squid 转发规则可以用来限制对特定网站或内容的访问,例如,你可以配置规则来禁止员工访问社交媒体网站或某些敏感信息。
2. 负载均衡:如果你有多个服务器提供相同的服务,你可以使用squid 转发规则来分发用户请求,实现负载均衡,提高性能和可用性。
3. 内容过滤:squid 转发规则可以用来过滤和阻止特定的内容,例如,你可以设置规则来屏蔽垃圾邮件、恶意软件或其他违法内容。
4. 缓存管理:squid 转发规则可以帮助管理缓存,你可以设置规则来缓存特定类型的请求或禁止缓存某些请求,以提高访问速度和效率。
squid
实验案列一:搭建标准的传统代理实验环境:Benet 教学机构有时需要在机房联网为学生上课,为了不让学生也连上网,现需要在网关上做代理服务器,为了加强安全,需要提供身份验证机制。
实验拓扑图:需求描述:教员老师可以通过指定的IP 地址和端口号来联网为了防止学员通过指定的ip 地址和端口号连上网,需要做身份验证实验步骤:1.挂载光盘安装squid 的rpm 包Squid局域网PC 机 192.168.100.1/24eth1:eth0: 173.16.16.1/24中的测试服务器2.在中配置squid代理服务器的主配置文件(因为里面有太多注释,而我们不需要那么多,我们就把它过滤掉)3.启动代理服务器4.在外网安装web服务器,并启动服务5.在内网要联网的的pc上指定代理服务器ip地址和端口6.内网访问外网服务器的web网站7. 为了防止学员通过指定的ip地址和端口号连上网,需要做身份验证◆Squid代理要实现身份验证必须要编译安装apache服务,在路径下创建用户帐号(因为编译安装时间很长,这里我就提起快照)◆在修改squid的主配置文件添加认证◆重新启动服务◆在内网验证实验案列二:搭建透明代理网关服务器实验环境:为了节省网络带宽、提高局域网访问Internet 的速度,需要在网关上搭建代理服务器,为了减少客户端的的重复设置工作,公司决定采用RHEL5服务器作为网关,并结合防火墙策略实现透明代理。
拓扑图如下:需求描述:使用iptables 设置SNAT 策略☐ 使192.168.100.0/24网段的主机通过NA T 方式共享上网 配置squid 代理服务 ☐ 对HTTP 访问进行缓存加速,并结合防火墙策略实现透明代理 在代理服务中进行访问控制 ☐ 禁止局域网用户下载rmvb 、mp3格式的文件 ☐ 对超过3M 大小的文件不做缓存,禁止下载超过8M 的文件 ☐ 禁止用户访问 、 、 等域的网站 ☐ 启用网址过滤,禁止访问包含“sex ”、“adult ”字样的链接Squid局域网PC 机 192.168.100.1/24eth1:eth0: 173.16.16.1/24中的测试服务器实现思路:准备好客户机及Internet测试服务器正确配置各主机的网络参数☐局域网主机将默认网关设为192.168.100.254☐在测试服务器上启动httpd服务修改squid.conf 文件,☐配置透明代理支持、缓存和下载文件大小限制、网址过滤开启路由转发,添加实现透明代理的REDIRECT策略初始化并启动squid服务实现步骤:1. 通过iptables使192.168.100.0/24网段的主机通过NA T方式共享上网2. 在中修改squid的主配置文件,实现对HTTP访问进行缓存加速,并结合防火墙策略实现透明代理,并编写每个需求描述的条件3.在开启路由转发功能4.禁止局域网用户下载rmvb、mp3格式的文件5.对超过3M大小的文件不做缓存,禁止下载超过8M的文件6. 禁止用户访问、、等域的网站7.启用网址过滤,禁止访问包含“sex”、“adult”字样的链接实验案列三:搭建反向代理服务器实验环境:公司的对外网站平台使用两台RHEL5服务器实现镜像负载,为了进一步提高web服务器的响应速度,需要在网关服务器上搭建反向代理服务。
Linux下的代理服务器设置
/sex /album (如上可阻塞/sex、/sex/whatever、ftp:///sex、/sex等)
#squid的代理端口,使用1024以下的端口,squid必须以root身份运行 http_access allow all #允许所有的用户通过代理进行http访问 redirect_program /usr/local/squid/bin/squidGuard -c /usr/local/squidGuard/squidGuard.conf
#tar xvzf squidGuard-1.1.4.tar.gz
#cd squidGuard-1.1.4
#./configure --with-sg-config=/usr/local/squidGuard/squidGuard.conf
--with-sg-logdir=/usr/local/squidGuard/logs
份立即传给用户,使用户觉得速度相当快。
squidGuard则是作为squid的辅助软件,完成过滤、重定向和访问控制的功能。它是一个自由软件,功能强,便于安装、易于 配置、而且处理速度快。功能主要包括:根据web服务器或URLs列表限制一些用户的访问;阻塞某些用户对黑名单上的web 服务器和URLs的访问;阻塞某些用户对正则表达式匹配的URLs的访问;在URL路径加强了使用域名访问而禁止用IP访问; 重定向阻塞的URLs到一个智能CGI的信息页;重定向非授权用户到一个注册页面;具有基于日期、每周、每天具体时间的访 问规则;对不同用户组有不同的规则。但是不能过滤、检查文档中的文本以及HTML中的JavaScript或Vbscript脚本语言。
squid详解
代理服务器的功能是代理网络用户取得网络信息,它是网络信息的中转站。
随着代理服务器的广泛使用,随之而来的是一系列的安全问题。
由于没有对代理服务器的访问控制策略作全面细致的配置,导致用户可以随意地通过代理服务器访问许多色情、反动的非法站点,而这些行为往往又很难追踪,给管理工作带来极大的不便。
部署Squid服务器1. 各种代理服务器的比较Linux下的代理服务器软件很多,但是被广泛应用的只有Squid、socks、Apache等几个实践证明是高性能的代理软件。
下面我们分别来比较一下这几个软件,如图1所示。
图1 Linux下主流代理服务器比较虽然上面所列种类还不太全面,但是所谓窥一斑而知全豹,从中我们也可以看出什么样的代理服务器是被用户广泛使用的。
Squid是Linux下一个缓存Internet数据的代理服务器软件,其接收用户的下载申请,并自动处理所下载的数据。
也就是说,当一个用户想要下载一个主页时,可以向Squid发出一个申请,要Squid代替其进行下载,然后Squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份。
当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。
目前,Squid可以代理HTTP、FTP、GOPHER、SSL和WAIS协议,暂不能代理POP3、NNTP等协议。
Squid可以工作在很多操作系统中,如AIX、Digital、Unix、FreeBSD、HP-UX、Irix、Linux、NetBSD、Nextstep、SCO、Solaris、OS/2等。
Squid支持以下协议:客户端协议:HTTP、FTP、Gopher、W AIS 、SSL缓存及管理协议:ICP、Cache Digests、SNMP、HTCP2.Squid工作原理和流程图1)代理服务器的工作机制代理服务器的工作机制很象我们生活中常常提及的代理商,假设你自己的机器为A机,你想获得的数据由服务器B提供,代理服务器为C,那么具体的连接过程是这样的。
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),它用做虚拟内存,建议将交换分区的大小设置为内存的两倍。
