代理客户端的配置

本节分别以Linux和Windows系统环境下典型的Web浏览器Firefox和IE为例,为大家讲述代理客户端的配置工作过程。

16.5.1  Firefox代理设置

在Linux环境下通常都使用Firefox作为Web浏览器。下面我们就以在Red Hat Enterprise Linux 5 操作系统中的Firefox V1.5.0.9为例,讲解如何进行代理客户端的配置工作。

在Firefox浏览器中,选择"编辑"菜单中的"首选项"子菜单,如图16-24所示。

在弹出的"Firfox首选项"对话框中,在"常规"属性页中单击"连接设置"按钮,如图16-25所示。

在弹出的"连接设置"对话框中,我们选中"手动代理配置"选项,然后在"HTTP代理"文本框中输入正确的代理服务器的IP地址和端口号。如果还想通过代理服务器使用SSL、FTP、Gopher和SOCKS协议,则可以选中"为所有协议使用相同代理"复选框,最后单击"确定"按钮完成代理客户端的配置工作,如图16-26所示。

 

 

IE代理设置

在Windows环境下通常都使用IE作为默认的Web浏览器。下面就以配置Windows XP系统的IE 7.0为例,讲解如何进行代理客户端的配置工作。

打开IE浏览器,选择"工具"菜单中的"Internet选项"子菜单,如图16-27所示。

在弹出的"Internet选项"对话框中,选择"连接"属性页,单击"局域网设置"按钮,如图16-28所示。

在弹出的"局域网(LAN)设置"对话框中,首先勾选"为LAN使用代理服务器(这些设置不会应用于拨号或×××连接)"复选框,然后在"地址"文本框中输入正确的代理服务器的IP地址,在"端口"文本框中输入正确的代理服务器的端口号。如果还想通过代理服务器使用SSL、FTP、Gopher和SOCKS等协议,则可以单击"高级"按钮,如图16-29所示。

在弹出的"代理服务器设置"对话框中,我们首先去掉已经勾选的"对所有协议均使用相同的代理服务器"复选框,然后根据各个协议代理服务器的配置情况,正确地填写相应的代理服务器地址和访问端口,最后单击"确定"按钮完成代理客户端的配置工作。

访问控制应用实例

通过前几节的学习,我们应该对Squid代理服务从理论上有了一定的认识,接下来通过应用实例的学习,希望能够使大家对Squid代理服务有一个更为深入的理解。在学习实例之前有必要强调一下,Squid访问控制列表是顺序读取的,应将配置文件squid.conf中的以下两个规则始终放置在acl语句的最后,否则这两条规则会覆盖其他的acl语句。

acl all src 0.0.0.0/0.0.0.0http_access deny all

同样的道理,当配置文件中配置多条访问控制规则时,必须注意其顺序,避免规则相互覆盖或屏蔽。另外,每次修改完配置文件后,若想使修改后的规则生效就必须重新载入配置文件,即运行命令"/etc/rc.d/init.d/squidreload"。

【实例一】禁止IP地址为192.168.1.102的客户机上网。

我们可以定义如下规则实现上述要求:

acl badclientip src 192.168.1.102http_access deny badclientip

该规则定义了一条名为badclientip的acl,acl类型为src源IP地址方式,列表值为192.168.1.102,然后使用http_access参数禁止badclientip规则。也就是在IP地址为192.168.1.102的客户机通过Squid代理服务上网的模式下,由于Squid服务器增加了如上规则,该终端客户访问Internet资源的请求将会被拦截,终端客户的Web浏览器中会显示拒绝访问的错误提示信息,如图16-31所示。

【实例二】禁止IP地址属于192.168.1.0这个子网的所有客户机上网。

我们可以定义如下规则实现上述要求:

acl badclientsubnet src 192.168.1.0/24http_access deny badclientsubnet

该规则定义了一条名为badclientsubnet的acl,acl类型为src源IP地址方式,列表值为192.168.1.0/24,然后使用http_access参数禁止badclientsubnet规则。也就是在IP地址为192.168.1.0子网的客户机通过Squid代理服务上网的模式下,由于Squid服务器增加了如上规则,当前定义子网的终端客户访问Internet资源的请求将会被拦截,终端客户的Web浏览器中会显示拒绝访问的错误提示信息。

【实例三】禁止所有终端用户访问IP地址为64.233.189.99(www.google.com)的网站。

我们可以定义如下规则实现上述要求:

acl badserverip dst 64.233.189.99http_access deny badserverip

该规则定义了一条名为badserverip的acl,acl类型为dst目标IP地址方式,列表值为64.233.189.99,然后使用http_access参数禁止badserverip规则。也就是在终端用户通过Squid代理服务上网的模式下,由于Squid服务器增加了如上规则,当前所有终端客户访问IP地址为64.233.189.99的服务器资源的请求将会被拦截,终端客户的Web浏览器中会显示拒绝访问的错误提示信息。

【实例四】禁止所有终端用户访问域名为www.google.com的网站。

我们可以定义如下规则实现上述要求:

acl baddomain dstdomain -i http_access deny dstdomain

该规则定义了一条名为baddomain的acl,acl类型为dstdomain目标域名方式,列表值为www.google.com,然后使用http_access参数禁止baddomain规则。也就是在终端用户通过Squid代理服务上网的模式下,由于Squid服务器增加了如上规则,当前所有终端客户访问域名为www.google.com的服务器的Web资源的请求将会被拦截,终端客户的Web浏览器中会显示拒绝访问的错误提示信息。但需要大家注意的是,这个限制规则仅对google.com域的WWW服务进行了限制,而对于Mail服务等并未限制。

【实例五】禁止所有终端用户访问域名包含为google.com的网站。

我们可以定义如下规则实现上述要求:

acl badurl url_regex -i google.comhttp_access deny badurl

该规则定义了一条名为badurl的acl,acl类型为url_regex URL规则表达式匹配方式,列表值为google.com,然后使用http_access参数禁止badurl规则。也就是在终端用户通过Squid代理服务上网的模式下,由于Squid服务器增加了如上规则,当前所有终端客户访问服务器的URL中含有google.com的所有资源的请求将会被拦截,终端客户的Web浏览器中会显示拒绝访问的错误提示信息。例如,www.abc.com/google/test.index、www.google.com、mail.google.com等URL均被拦截。

【实例六】限制IP地址为192.168.1.102的客户机并发连接的最大连接数为5。

我们可以定义如下规则实现上述要求:

acl clientip src 192.168.1.102acl clientmaxconn maxconn 5http_access deny clientip clientmaxconn

上述规则定义了一条名为clientip的acl,该acl类型为src源地址方式,列表值为192.168.1.102;还定义了一条名为clientmaxconn的acl,该acl类型为maxconn单一IP的最大连接数方式,列表值为5,然后使用http_access参数禁止clientip、clientmaxconn规则。也就是在终端用户通过Squid代理服务上网的模式下,由于Squid服务器增加了如上规则,终端用户通过IP地址为192.168.1.102的客户机同时访问Internet资源的线程数不能超过5。这样可以防止特定客户开太多线程而占用服务器资源和带宽。

【实例七】禁止客户机IP地址在192.168.2.0子网的所有终端客户在星期一到星期五的9:00到18:00访问Internet资源。

我们可以定义如下几条规则实现上述要求:

acl clientnet src 192.168.2.0/24acl worktime time MTWHF 9:00-18:00http_access deny clientnet worktime

上述规则定义了一条名为clientnet的acl,该acl类型为src源地址方式,列表值为192.168.2.0/24;还定义了一条名为worktime的acl,该acl类型为time时间段方式,列表值为MTWHF 9:00-18:00,然后使用http_access参数禁止clientnet、worktime规则。也就是在终端用户通过Squid代理服务上网的模式下,由于Squid服务器增加了如上规则,终端用户通过IP地址属于192.168.2.0网段的所有客户机不能在星期一到星期五的9:00到18:00期间访问Internet资源。

【实例八】禁止终端用户在任何客户机上下载文件扩展名为mp3、exe、zip和rar类型的文件。

我们可以定义如下规则实现上述要求:

acl badfile urlpath_regex -i \\.mp3$ \\.exe$ \\.zip$ \\.rar$http_access deny badfile

该规则定义了一条名为badfile的acl,该acl类型为urlpath_regex略去协议和主机名的URL规则表达式匹配方式,列表值为\\.mp3$ \\.exe$ \\.zip$ \\.rar$;同时使用-i参数是为了忽略列表值大小写的检查,然后使用http_access参数禁止badfile规则。也就是在终端用户通过Squid代理服务上网的模式下,由于Squid服务器增加了如上规则,所有终端客户访问服务器的URL中以mp3、exe、zip和rar结尾的所有资源的请求将会被拦截,终端客户的Web浏览器中会显示拒绝访问的错误提示信息。例如,http://www.abc.com/google/test.mp3、http://www.cqit.edu.cn/cs/123.zip、http://www.cqit.edu.cn/cs/siyanzhidao. rar等URL均被拦截。

 Squid日志管理

网络流量日志分析对于网络管理员来说非常重要。通过系统记载的流量日志,管理员可以清楚地看到用户对网络服务器的使用情况,能够从中挖掘及发现网络中可能存在的安全问题。

在Linux下有许多日志及流量分析软件。Webalizer是一个高效、免费的Web服务器日志分析程序,其官方站点为http://www.webalizer.org/,如图16-32所示。Webalizer分析结果以HTML文件格式保存,从而可以很方便地通过Web服务器进行浏览。Internet上的很多站点都使用Webalizer进行Web服务器日志分析。本节将以对Red Hat Enterprise Linux 5下的代理服务器Squid的流量日志分析为例,详细地介绍如何使用该软件进行流量分析。

Webalizer具有以下一些特性:

用C语言编写的程序,所以该系统具有很高的运行效率。在主频为1.6GHz的机器上,Webalizer每秒钟可以分析70000条记录,也就是说,分析一个200MB大小的日志文件只需要30秒。

Webalizer支持标准的一般日志文件格式(Common LogfileFormat);除此之外,也支持几种NCSA的组合日志格式(CombinedLogfile Format)的变种,从而可以统计客户情况及操作系统类型。现在Webalizer已经可以支持wu-ftpd/proftpd xferlog日志格式及Squid代理服务器日志文件格式了。

支持命令行配置及配置文件。

支持多种语言,也可以自己进行本地化工作。

支持多种平台,比如UNIX、Linux、NT、OS/2和Mac OS等。

安装Webalizer

1.源代码安装方式

Webalizer的安装过程如下:

访问Webalizer的下载地址http://www.webalizer.org/download.html,如图16-33所示,单击"The Completesource distribution"栏目中的"Tar/Gziparchive"超链接下载"webalizer-2.20-01-src.tgz"安装文件,当前最新的稳定版本为2.20-01,文件大小为525KB。

RPM包安装方式

以RPM包方式安装Webalizer的过程如下:

可以使用下面的命令检查系统是否已经安装了Webalizer,如图16-34所示。

[root@localhost ~]#rpm -qa|grep webalizer

如果当前系统还未安装Webalizer,则需要在Red HatEnterprise Linux 5的安装盘中找到并安装以下RPM包文件:

webalizer-2.01_10-11.i386.rpm  (位于第2张安装盘中)

要安装上述RPM包文件,可以将Red HatEnterprise Linux 5的安装盘放入光驱,加载光驱后在光盘的Server目录下找到相应的RPM安装包文件,然后使用rpm -ivh命令安装。

[root@localhost ~]# rpm -ivh webalizer-2.01_10-11.i386.rpm

配置Webalizer

我们可以通过命令行配置Webalizer,也可以通过配置文件进行配置。下面将重点介绍使用配置文件进行配置,该方法使用形式比较直观,使用比较普遍。

Webalizer的配置文件的路径是"/etc/webalizer.conf",它有一个对应的模板文件/etc/webalizer.conf.sample。在一般情况下,该配置文件的默认参数配置都能满足一定的应用需要,可以直接使用。接下来以实例的方式给大家介绍如何配置该文件。

使用vi编辑Webalizer配置文件。

Squid日志管理知识

Squid是Linux下一个缓存Internet数据的代理服务器软件,其接收用户的下载申请,并自动处理所下载的数据。在网络环境下,本地网络管理员经常可以通过Squid来代理访问互联网上的很多资源,因而对其进行日志审核和管理具有重大意义。

Squid日志管理的功能比较强大。通过查看相关日志文件,用户可以实时、准确地了解代理服务器的访问记录、Cache的存储状况、Cache的访问记录等许多有用的信息,从而高效地对代理服务器进行管理。

Squid最重要的日志文件就是访问日志,其访问路径为"/var/log/squid/access.log"。该日志文件记录了客户使用代理服务器的许多有用信息,包括使用时间、请求的内容、客户端信息等。该文件的格式如下:

time eclapsed remotehost code/status bytes 
method URL rfc931 peerstatus /peerhost type

下面给出了实际应用中的一段真实的访问日志,只取出了其中的一部分。

#cd /var/log/squid
#cat access.log
1119263842.955 195 192.168.10.3 TCP_MISS/200
1286 GET . cn/sina/ae/ad_src/
popup/pops1.html? - DIRECT/218.30.108.19 text/html
1119263843.241 286 192.168.10.3 TCP_MISS/200 
44689 GET . cn/200506/15/
21135_300x250.GIF - DIRECT/218.30.108.18 p_w_picpath/gif

以第一条日志记录为例,其各个字段的含义如下:

客户访问代理服务器的时间为1119263842.955毫秒;处理缓存所花费的时间为195毫秒;客户端的IP地址为192.168.10.3,为内网地址;结果信息编码/状态信息编码为TCP_MISS/200;缓存字节数为1286;HTTP请求方法为GET;访问的目的地址的URL为:http://ad4.sina.com.cn/sina/ae/ad_src/popup/pops1.html;缓存级别/目的IP地址为:DIRECT/218.30.108.19;缓存对象类型为text/html;rfc913暂未使用,用"-"表示。

在上述的10个字段当中,结果信息编码及状态信息编码比较重要,其表明了代理服务器对于客户请求的信息的返回结果,与代理服务器的Cache命中率及Cache处理过程有直接关系。该信息能够真实地反映代理服务器的Cache的整体性能,具有较大的参考价值。

应用Webalizer查看Squid网络流量日志

Webalizer可以将大量的Squid日志信息综合起来进行统计,得出可视化的显示结果供网络管理员或者网络用户进行参考和评价Squid服务器的使用情况,对于做出相应的决策有相当的参考价值。

在使用过程中需要注意:由于该软件的使用结果都是通过Web页面来显示的,所以与Web服务器的联系比较紧密。下面给出该软件结合Squid服务器的使用示例。在通常情况下,配置好该软件之后,启动Web服务器(只有启动该服务器才能通过Web页面来查看日志统计的详细情况)和该软件即可。

[root@localhost ~]# service httpd start
[root@localhost ~]# /usr/sbin/webalizer -c /etc/webalizer.conf

启动Apache服务及该软件后,就可以通过浏览器来查看Squid代理服务器的流量分析结果了。在IE浏览器的地址栏中输入Apache服务器的地址:http://192.168.1.101/usage,则得到如图16-35所示的结果。

图16-35中给出了流量分析的示意图及一些数据说明,可以通过单击图中"Summary by Month"表格的"Jul 2005"超链接,来显示更详细的统计分析数据。通过分析和查看这些统计图表的结果,用户可以清楚地知道Squid代理服务器使用的细节情况,并可以根据显示情况来对服务器做出适当的调整和优化。

使用Webalizer还有一个需要注意的问题是:通常并不需要每个用户都有权限来查看代理服务器的流量情况,否则对于系统来说是不安全的。非法用户为了掩盖自己非法使用代理服务器的目的,可以对流量统计情况的结果进行修改、删除等操作。所以,我们需要使用访问控制策略来对上述分析图表的查看权限进行控制,可以在Apache的主配置文件/etc/htpd/conf/httpd.conf中进行认证和授权配置,如下所示:

< Directory "/var/www/html/usage"> 
//使用基本认证方式 
AuthType Basic 
//指定认证域名称 
AuthName "admin" 
//指定认证口令文件存放的位置 
AuthUserFile /var/www/passwd/admin 
//授权给认证口令文件中的所有用户 
require valid-user 
< /Directory>

认证和授权配置成功后,需要创建认证口令文件及添加用户。

[root@localhost ~]# mkdir /var/www/passwd
[root@localhost ~]# cd /var/www/passwd
[root@localhost passwd]# htpasswd -C admin jackiee
New password: 
Re-type new password: 
Adding passwor for user jackiee

然后,将口令文件的属主改为apache,并重新启动Apache。

[root@localhost ~]# chown apache.apache admin 
[root@localhost ~]# service httpd restart

经过上面的配置后,用户在IE地址栏内输入路径http://192.168.1.101/usage后,具有认证和授权的用户才能通过用户认证界面,查看Squid代理服务器的流量分析报表信息。

参考:http://book.51cto.com/art/200904/119292.htm

转载于:https://blog.51cto.com/57388/1554346

Linux -- 代理服务器(Squid Server)的配置与应用2相关推荐

  1. 也说linux使用squid和squidGuard配置代理服务器

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://netdl.blog.51cto.com/184762/33118 http:// ...

  2. 高效配置Linux代理服务器――Squid

    作为一种免费的网络操作系统,Linux越来越受到广大网络爱好者的欢迎,目前Internet上运行的主机有相当一部分采用的就是Linux,而且中国已经把Linux作为政府上网的指定网络操作系统.种种迹象 ...

  3. wireguard windows\linux版本client\server的配置

    本文实现三台机器的互联,一台server端,二台客户端,系统均为win,server win10, client 一台win7,一台win10,开源地址:可以下载windows ,mac ,linux ...

  4. squid和squidGuard配置代理服务器

    http://wiki.ubuntu.org.cn/Squid http://www.kuqin.com/topics/Squid.html 前言: http://proxy.blog.51cto.c ...

  5. linux下用squid和squidGuard配置代理服务器

    网上有不少在linux中使用squid和squidGuard配置代理服务器的文章,这几天一直在搞这么个东东网上的资料也看了不少总是觉的和自己设置的不一样.就把我自己写的发上来.大家可以参考也给自己留个 ...

  6. Linux高级运维(十)-搭建企业中最常用缓存代理服务器Squid , Varnish

    搭建varnish 缓存代理服务器 需求: 使用Varnish加速后端Web服务,代理服务器可以将远程的Web服务器页面缓存在本地,远程Web服务器对客户端用户是透明的,利用缓存机制提高网站的响应速度 ...

  7. 10个关于linux中Squid代理服务器的实用面试问答

    10个关于linux中Squid代理服务器的实用面试问答 不仅是系统管理员和网络管理员时不时会听到"代理服务器"这个词,我们也经常听到.代理服务器已经成为一种企业常态,而且经常会接 ...

  8. Squid代理服务器的安装与配置 CentOS

     Squid代理服务器的安装与配置 CentOS 转自:http://www.cnblogs.com/mchina/p/3812190.html 一.简介 代理服务器英文全称是Proxy Serv ...

  9. linux配置sftp-server,Ubuntu Server如何配置SFTP(建立用户监狱)

    SSH File Transfer Protocol是一个比普通FTP更为安全的文件传输协议.(参考资料:http://en.wikipedia.org/wiki/SSH_File_Transfer_ ...

  10. LINUX下的APACHE的配置

    今天写一下LINUX下的APACHE的配置方法. APACHE是作为WEB服务器的.它的优点在于用缓存方式来加快网页的搜索速度. APACHE缺省只支持静态网页 LINUX下有APACHE的RPM包 ...

最新文章

  1. 查找局域网中的DHCP服务器
  2. 第十四周项目二-两个成员的类模版(2)
  3. 数据中心服务器机架是什么?
  4. mac地址修改_如何修改手机MAC地址?
  5. 年轻的工程师如何月入伍万XD
  6. 【TensorFlow】TensorFlow是什么?
  7. 事务是什么?事务的4个特点(ACID),事务的开启与结束
  8. 功能表单之智能选择字段类型的使用——JEPLUS软件快速开发平台
  9. SPOJ Problem 1419:A Game with Numbers
  10. [Delphi]用程序更改 IE 的代理服务器(Proxy)设置及本地连接
  11. 限时,字节Java程序性能优化宝典大全,这才叫真正的性能优化
  12. css 图片大小自适应div,css让图片自适应容器(div)大小
  13. dda算法c语言,Python使用DDA算法和中点Bresenham算法画直线
  14. android视频编辑功能,万能视频编辑器
  15. 科目三: 济南章丘五号线
  16. BinaryFormatter serialization and deserialization are disabled within this application
  17. java 文件上传乱码_java上传txt文件,出现中文乱码
  18. 首届大连国际樱花节将启幕
  19. 浙江万里学院计算机期末考,期末复习看这一篇推送就够了
  20. python如何使用gpu加速_如何用云端 GPU 为你的 Python 深度学习加速?

热门文章

  1. python标点符号换成空格_产品:“这输入框所有标点符号替换成空格!”
  2. 教你win7去除快捷方式小箭头方法
  3. Maven – 父子 POM 示例
  4. 关于笔记本双显卡状态下独立显卡的配置问题
  5. 计算机课睡觉检讨书,上课睡觉检讨书范文三篇
  6. 大话西游2服务器修改,大话西游2:9.17维护解读:五倍次数修改全服上线,灵兽村要变样啦...
  7. 基于机器学习方法对销售预测的研究
  8. 《VoIP技术构架(第2版·修订版)》一1.7 小结
  9. MySQL InnoDB Cluster部署方案与实践
  10. 计算机权限全部用户,允许所有人权限应用于匿名用户 (Windows 10) - Windows security | Microsoft Docs...