Squid是一个应用级代理,在承接保险客户端主机和服务器主机网络连接后,须求客户端软件做相应的装置后技术选用,例如给
Internet Explorer设置代理服务器地址、端口等。
WEB缓存功能对于三个规模很大、访问繁忙的网络来讲是有不可或缺的,IBM网址上的一篇小说,详细解析介绍了WEB缓存给上网用户带来的补益:
http://www-900.ibm.com/developer …
achinga/index.shtml

上面我们就介绍一下squid的有关内容。

§§ 安装运营squid

Redhat
7.3自带Squid的rpm包squid-2.4.STABLE6-1.7.2.i386.rpm,这里我们直接使用rpm来设置Squid:

[root@rh73 /mnt/cdrom/RedHat/RPMS]# rpm -ivh
squid-2.4.STABLE6-1.7.2.i386.rpm

Preparing…
###########################################
[100%]

1:squid
###########################################
[100%]

安装后的Squid配置文件在/etc/squid/目录下,只必要轻便的布署一下/etc/squid/squid.conf就能够让它专业起来了。

澳门凯旋门注册网址,默许安装的Squid配置文件是四个两千多行的公文,实事上您用不到安装那么多。用编辑器张开该配置文件,找到http_access设置有个别,把
http_access deny all

一行改成

http_access allow all

下一场运行Squid:
/etc/rc.d/init.d/squid start

近年来你的Squid代理服务器已经足以选取了。到客户端设置上网软件的代办选项,以Internet
Explorer
6.0为例,在Internet属性设置里设置“连接”属性,点“局域网设置”按键。

在弹出的对话框中当选“为LAN使用代理服务器”,在地方栏填入代理服务器地址,这里是:192.168.100.254,端口为squid默许的3128。

认同。此时你再用Internet
Explorer上网就是使用squid代理。你能够调查squid的log文件来考查到客户端主机通过squid的拜访意况:

[root@rh73 ~]# tail -f /var/log/squid/access.log

在此地,上边的安装只对Internet
Explorer起成效。假若您依据前面包车型大巴章节在Linux接入服务器上贯彻了NAT的功效,除了IE浏览器里拜访http、ftp服务是在用squid
代理外,别的上访问Internet的操作,如收发Email,telnet,还是经过NAT完结访问。当你把浏览器的代办设置选项清除后,你又能够过来到NAT方式访问Internet。

§§ 设置squid

前方的配置是不加限制的同意内部有着用户使用该代理上Internet,鲜明那不是贰个很好的拜会攻略。大家说过,代理情势对用户权限的调节有着极度丰盛的支撑。上边就看看squid怎么着促成多种化的权能决定的。

让我们先明白一下squid.conf的多少个布局选项和访问调控天性:

Squid 的定制是因而设置它的布置文件 squid.conf 来达成的,squid.conf
文件一般在 /etc/squid
目录下。那些布局文件内容繁多,但它的各类选项皆有详实的求证。上边是几个常用的配置参数:

http_port

第一来改动一下 http_port,这一个选项钦赐了 Squid
监听客户央求的端口,暗许值是 3128。要选用代理成效,提出这一个端口值和平运动转
Squid 的机器的 IP 地址一同使用,能够修改成上边那样:

http_port 192.168.100.254:3128

上述注明表示 Squid 绑定在 IP 地址 192.168.100.254 上,端口为
3128。端口能够安装为大肆值,但要确认未有别的程序会利用同样的端口。/etc/services文件列出了常用端口,如若你想为squid设置任何的端口,能够参考这几个文件的开始和结果,防止再一次设置。

visible_hostname 192.168.100.254

运转squid的主机的名字,可以写上该机器的IP地址。

[email]cache_凯旋门074网址,mgrpangty@usa.net[/email]

组织者的邮件地址。在造访产生错误时,visible_hostname和cache_mgr那多少个选项的值展现在错误提醒页面内的相干岗位。

cache_mem 16 MB

概念缓存内部存款和储蓄器,一般定义为概况内部存款和储蓄器大小的52%。暗中认可设置为8MB。

cache_dir Type Directory-Name Fs-specific-data [options]

概念硬盘缓存空间以存款和储蓄访问过的页面或任何财富的正片。Type是指积攒类型,一般设置为ufs。Directort-Name代表缓存的岗位,暗许的装置是cache_dir
ufs /var/spool/squid 100 16
256。其中100意味缓存空间最大为100M;16和256表示缓存目录下的拔尖和二级目录数。

访问调控
决定用户的拜会权限等效用是选择squid的访问调整性子来落到实处的。Squid
访问调控有五个成分:ACL和做客列表。访问列表能够允许或拒绝有些用户对一定服务的拜访。

澳门凯旋门游戏网址,为了利用调节功效,必须先安装 ACL。ACL 表明的格式如下:

acl acl_element_name type_of_acl_element values_to_acl

上面列出部分器重的 ACL类型(type_of_acl_element)

l src : 源地址(即客户机IP地址)

l dst : 目的地址(即服务器IP地址)

l srcdomain : 源名称 (即客户机名称)

l dstdomain : 目的名称 (即服务器名称)

l time : 一5月的时刻和一周内的一天

l url_regex : UEnclaveL 准则表明式相配

l urlpath_regex: U兰德途睿欧L-path 法则表明式相称,略去协交涉主机名

l proxy_auth : 通过外部程序开始展览用户验证

l maxconn : 单一 IP 的最罗安达接数

注:

  1. acl_element_name 能够是任多个在 ACL 中定义的称谓。

  2. 其他多少个 ACL 成分不能用同样的名字。

  3. 每一种 ACL
    由列表值组成。当实行相配检查测试的时候,多个值由逻辑或运算连接;换言之,即任一
    ACL的值被相配,则那个 ACL即被相配。

  4. 并不是持有的 ACL都能运用访问列表中的全体体系。

  5. 不一样的 ACL写在差别行中,Squid 将把它们构成在多个列表中。

作者们得以选择过多不等的访问列表。大家常用的是http_access: 允许 HTTP
访问,这几个是第一的访问调整列表。

做客列表的条条框框由一些看似 ‘allow’ 或 ‘deny’
的严重性字组合,用以允许或拒绝向特定或一组 ACL 成分提供劳务。

注:

1.
那一个法则依照它们的排列顺序进行相配检查评定,一旦质量评定到万分的平整,相称检验就马上终止。

  1. 四个做客列表能够又多条法则组成。

3.
万一未有此外准则与走访央求相配,私下认可动作将与列表中最后一条法规对应。

  1. 二个造访条目款项中的全数因素将用逻辑与运算连接:

http_access Action 声明1 AND 声明2 AND 声明 OR.

http_access Action 声明3

多个 http_access
评释间用或运算连接,但各类访问条目款项标成分间用与运算连接。

  1. 请牢记列表中的法则总是遵从由上而下的顺序。

我们实际来探望哪些行使acl和http_access。首先把squid.conf的安插改回原状,即修改http_access
allow all为http_access deny all。上边给出二种常用访问调整:

根据IP鉴权

只有地址为192.168.100.10和192.168.100.100的终点能够行使代理

在squid.conf的ACCESS CONTROL配置部分增多

acl authorizedip src 192.168.100.10

acl authorizedip src 192.168.100.100

然后到http_access部分

在http_access deny all这一行前边加多

http_access allow authorizedip

要是必要设置的IP地址许多,又不总是,是否要写上一大堆的acl xxx xxx
x.x.x.x?有贰个简短的方法,把这个IP地址写在二个文件里,譬如/etc/squid/authorizedip.txt,每行三个。然后在squid.conf里这么写

acl authorizedip src “/etc/squid/authorizedip.txt”

依附时间决定

至于时间段的设置,能够崇敬squid.conf中的表达,具体是S – Sunday, M –
Monday, T – Tuesday, W – Wednesday, H – Thursday, F – Friday A –
Saturday,假诺七日都允许,也得以不写。时间格式是H1:M1-H2:M2,供给是前边的要低于前边的。

#
定义七个访问时间段:周周礼拜六到星期日的早上八点到上午五点,允许alloweduser用户在那几个时间段内上网

acl accept_time time MTWHF8:00-17:00

http_access allow alloweduser accept_WEB缓存效率对于三个规模一点都不小、访问繁忙的网络来讲是有供给的。time

http_access deny alloweduser

访问特定URubiconL地址

即使大家不愿意保有的人都应用代理自由的走访Internet,但有多少个网址是能够让内部终端都能访问的。在squid.conf里增多访问调整:

acl alloweddomain dstdomain .linuxforum.net .linuxaid.com.cn

http_access allow alloweddomain

一模二样的,假若参数诸多的情事,也得以把这一个允许的地方名写到叁个文本里:

acl alloweddomain dstdomain “/etc/squid/alloweddomain.txt”

alloweddomain.txt里是同意访问站点的列表,每行三个。

据说重大字过滤网站

稍稍网址(色情网址,广告网址)很让人讨厌,通过设置acl能够很轻便屏蔽掉那么些站点:

acl denyurl url_WEB缓存效率对于三个规模一点都不小、访问繁忙的网络来讲是有供给的。regex sex boylink xxx city69 asiaadult sehu

WEB缓存效率对于三个规模一点都不小、访问繁忙的网络来讲是有供给的。http_access deny denyurl

以此装置将过滤带有sex boylink xxx city69 asiaadult
sehu那个入眼字的U普拉多L地址。

和前边同样,也可以把这个首要字写到叁个文书里

acl denyedurl url_regex “/etc/squid/sex.txt”

http_access deny denyurl

依赖用户的辨证

Squid自个儿并不帮助用户验证,它是经过外部程序提供用户验证作用,用户通过squid访问前须求输入有效的用户名和密码。能够用
proxy_auth ACL 和 authenticate_program
来完成那一个效应,在同意访问前强制实行用户名和密码的稽核。下边列出有个别Squid 能用到的证实程序:

NCSA : 使用 NCSA 风格的用户名和密码档

LDAP : 使用 Linux Lightweight 目录访问协议(Linux Lightweight Directory
Access Protocol)

SMB : 使用 SMB 协议的劳动,如 SAMBA 或 Windows NT

MSNT : 使用 Windows NT 的域验证

PAM : 使用 Linux 的可装载验证模块

getpwam : 使用 Linux 密码档

使用表明效能亟须用authenticate_program
选项内定使什么申明程序,并且请确认选定的辨证程序已安装并能很好的工作。默许的,那个验证程序放在/usr/lib/squid/目录下。

以NCSA认证为例,修改 squid.conf 文件选定验证程序:

authenticate_WEB缓存效率对于三个规模一点都不小、访问繁忙的网络来讲是有供给的。program /usr/lib/squid/ncsa_auth /etc/squid/passwd

acl alloweduser proxy_auth pangty

http_access allow alloweduser

中间/etc/squid/passwd是用户和密码列表,那几个文件能够用apache软件包带的htpasswd来发生,它的剧情恐怕是那样的:

pangty:wCQhCeZOOF3vk

pangty是用户名,“:”号后边的是该用户的密码。

专注:修改了squid.conf配置后,供给再行启航squid也许告诉squid重新装入配置文件本领起效果。那样实施:

WEB缓存效率对于三个规模一点都不小、访问繁忙的网络来讲是有供给的。重起squid:

[root@rh73 ~]# /etc/rc.d/init.d/squid restart

不重起,只装入新的配备文件:

[root@rh73 ~]# /etc/rc.d/init.d/squid reload

如上是squid的常用的布局选项,那对于一般的使用来讲已经足足了,假设您需求越多的性状支持,请阅读上边包车型地铁剧情。

§§ 必要越来越多的意义

展现中文错误提示消息

私下认可的,squid在爆发错误时显得的是英文提醒音讯,squid的提醒消息已经被翻译成好多语言,可以很便利的让她显得中文消息:

[root@rh73 ~]# cd /etc/squid/

[root@rh73 ~]# rm -f errors

[root@rh73 /etc/squid]# ln -s
/usr/lib/squid/errors/Simplify_Chinese/ errors

/usr/lib/squid/errors上边有squid的各样语言版本的提醒消息,按目录存放在分裂的子目录上面。

支撑基于MAC的垄断以及走访带有下划线的U福睿斯L

是因为计算机的IP地址是时刻能够变动的,所以正是你设置了ACL限制只有少数IP的管理器能够访问Internet,别的人依然能够在该Computer关机的情况下,修改成那几个允许上网的IP地址后走访Internet。其它,前边大家是采取DHCP来治本之中互连网上的微管理器的IP地址,每台Computer每便拿到的IP地址只怕是差异的,所以,单纯的通过IP地址来调节上网权限并不切合全体的地方,而MAC地址相对是平稳的,一般网卡的MAC地址不可见转移,所以听大人说MAC地址的用户调控特别适合化解那三种情景带来的主题材料。

其它,大家走访Internet时,一时候会碰着这么的网站地址:http://www.hello\_world.com,在网址的URAV4L地址里面有下划线,那时Red
Hat Linux自带的squid软件包也许会告诉不可能访问该网址。

那个意义须求再行编写翻译squid源代码扩充对应的编写翻译选项来贯彻。下边我们就来看一下怎么行使rpm重新编写翻译软件包源代码得到供给的职能。

当小说写到这里的时候,Red Hat
Linux网址公布了squid的晋级换代软件包,大家得以从互连网获得它的新式源代码rpm包:

ftp://updates.redhat.com/7.2/en/ …
ABLE6-6.7.3.src.rpm

在开班编写翻译前,有一点软件包是必要首先安装,那只怕包括rpm-build、sgml-tools,前面一个在Red
Hat Linux的光盘上得以找到,前面一个能够从那边下载:

ftp://ftp.freesoft.cei.gov.cn/.m …
s-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=Simplify_Chinese \

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

–enable-underscores是增加对下划线网址的帮忙,–enable-arp-acl是扩充扶助MAC地址方式的鉴权。

起来编写翻译发生新的RPM包:

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

那条命令将依照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参数建议那一个操作是对原来版本软件包的进步。今后您的squid就足以支撑MAC地址鉴权和湿疮划线的U奥迪Q5L地址了。
8)

布局squid.conf来协助MAC地址鉴权,在squid.conf里投入那样的内容:

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

http_access allow allowedmac

上面只是常用的两种ACL设置的亲自去做,关于ACL能够访问squid主页上FAQ文书档案的Access
Controls部分别获得得越多的音讯:

§§ 配置透南陈理

透明清理是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 on

httpd_accel_uses_host_header on

运营/etc/rc.d/init.d/squid
reload使设置生效,然后修改fw.sh脚本,在终极加多这么一行:

iptables -A PREROUTING -t nat -i eth1 -p tcp –dport 80 -j REDIRECT
–to-port 3128

那将把具备局域网用户通过Linux接入服务器访问www服务的拜会央求重定向到职业在3128端口的squid处理。运维fw.sh脚本,使设置生效。就这么简单!

您可能还记得fw.sh里面包车型客车关于NAT的条条框框:

iptables -A POSTROUTING -t nat -s 192.168.100.0/24 -o eth0 -j SNAT
–to-source 61.156.35.114

鉴于PREROUTING法规总在POSTROUTING准则在此之前运用,所以不要忧郁squid被NAT法则屏蔽掉。

瞩目:使用透西魏理时,无法同不常候采纳squid基于用户帐号的求证效能!

想询问越来越多关于透西夏理的素材,请访问TLDP(The Linux Documentation
Project)上有关透西夏理的HOWTO文书档案:

§§ 三个squid.conf的计划实例

前些天交给三个辅助透西夏理并利用MAC地址调控用户上网权限的squid配置文件,该配置还支持特定网址(如色情网址)的过滤效果:

#概念服务器地址和端口

http_port 192.168.100.254:3128

#概念服务器名字

visible_hostname 192.168.100.254

#概念管理员邮件地址

cache_mgr [email]pangty@usa.net[/email]

#概念缓存内部存款和储蓄器空间和缓存目录

cache_mem 16 MB

cache_dir ufs /var/spool/squid 100 16 256

#支撑透汉代理

httpd_accel_host virtual

httpd_accel_port 80

httpd_accel_with_proxy on

httpd_accel_uses_host_header on

#定义acl

#sexurl.txt列出要过滤色情网址地址的关键字,各类首要字占一行,如xchina

#maclist.txt列出允许上网的主机的MAC地址,每种地点占一行,如00:50:56:C0:00:08

acl all src 0.0.0.0/0.0.0.0

acl sexurl url_regex “/etc/squid/sexurl.txt”

acl allowedmac arp “/etc/squid/maclist.txt”

#概念访问攻略

http_access deny sexurl

http_access allow allowedmac

http_access deny all

12下一页翻阅全文

您可能感兴趣的篇章:

  • mysql数据库应付大流量网址的的3种架构扩充格局介绍
  • Nginx反向代理+DNS轮询+IIS7.5 千万PV 百万IP 双线
    网址架构案例
  • 重型网址框架结构演化和学识系统
  • 说说大型高并发高负载网址的种类架构
  • 特大型网址高并发消除方案深入分析之图片服务器分离架构

相关文章