专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »web服务器 » squid缓存:缓存Cache代理服务器Squid »正文

squid缓存:缓存Cache代理服务器Squid

来源: 发布时间:星期日, 2009年1月4日 浏览:32次 评论:0
代码增加相应编译选项来实现下面我们就来看下如何使用rpm重新编译软件Software包源代码获得必要功能











当文章写到这里时候Red Hat Linux网站WebSite发布了squid升级软件Software包我们可以从网上获得它最新源代码rpm包:











ftp://updates.redhat.com/7.2/en/os/SRPMS/squid-2.4.STABLE6-6.7.3.src.rpm











在开始编译前些软件Software包是需要首先安装这可能包括rpm-build、sgml-tools前者在Red Hat Linux光盘上可以找到后者可以从这里下载:











ftp://ftp.freesoft.cei.gov.cn/.mirror2/ftp.redhat.com/redhat-7.2/i386/RedHat/RPMS/sgml-tools-1.0.9-12.i386.rpm











安装squid源代码包











[root@rh73 ~]# rpm -ivh squid-2.4.STABLE6-6.7.3.src.rpm











安装后源代码包在/usr/src/redhat/SOURCES目录下我们关心是另外个文件/usr/src/redhat/SPECS/squid.spec这里面有squid相关编译选项修改该文件%configure部分如下:











%configure \





   --exec_prefix=/usr --bindir=/usr/sbin --libexecdir=/usr/lib/squid \





   --localstatedir=/var --sysconfdir=/etc/squid \





   --enable-poll --enable-snmp --enable-removal-policies="heap,lru" \





   --enable-storeio="aufs,coss,diskd,ufs" \





   --enable-delay-pools --enable-linux-netfilter \





   --with-pthreads \





   --enable-underscores \





   --enable-arp-acl \





   --enable-err-language=Simply_Chinese \





   --enable-auth-modules="LDAP,NCSA,PAM,SMB,MSNT"   # --enable-icmp











--enable-underscores是增加对下划线网址支持--enable-arp-acl是增加支持MAC地址方式鉴权











开始编译产生新RPM包:











[root@rh73 ~]# rpm -ba squid.spec











这条命令将根据squid.spec配置重新编译生成新rpm包编译过程视机器性能好坏而定大概需要几分钟到几十分钟不等如果没有什么最后产生rpm包在/usr/src/redhat/RPMS/i386/目录下:squid- 2.4.STABLE6-6.7.3.i386.rpm











安装新rpm包:











[root@rh73 ~]# rpm -Uvh /usr/src/redhat/RPMS/i386/squid-2.4.STABLE6-6.7.3.i386.rpm











注意这里使用了-U参数我们前面已经安装过squid个较旧版本-U参数指出这个操作是对原有版本软件Software包升级现在你squid就可以支持MAC地址鉴权和带下划线URL地址了 8)











配置squid.conf来支持MAC地址鉴权在squid.conf里加入这样内容:











acl allowedmac arp00:10:DC:8F:5B:FF





http_access allow allowedmac











上面只是常用几种ACL设置举例有关ACL可以访问squid主页上FAQ文档Access Controls部分获得更多信息:





http://www.squid-cache.org/Doc/FAQ/FAQ-10.html











§§ 配置透明代理









透明代理是NAT和代理完美结合的所以称为透明在这种工作方式下你感觉不到代理存在和单纯使用NAT对上网客户端没有任何特殊设置Squid可以通过配置支持透明代理











很多文章讲到共享上网就会讲有关透明代理(iptables + squid或ipchains + squid)内容我个人认为对于规模不大网络又没有内容过滤等功能要求使用squid是没有必要单纯使用NAT方式就足够了并且这样对运行NAT服务器要求就更加低比如使用台486 + 4M内存机器如果使用那些经过特殊定制Linux系统甚至连硬盘都不需要只要张软盘就可以了











如果是源代码方式编译安装squid请在编译选项里指明--enable-linux-netfilter选项Red Hat Linux自带squid支持透明代理我们可以直接修改/etc/squid/squid.conf文件设置必要参数:











httpd_accel_host virtual





httpd_accel_port 80





httpd_accel_with_proxy _disibledevent="_blank">缓存Cache


0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: