1、第11章Proxy服务器配置,本章介绍了代理服务器的基本概念和工作原理 squid代理服务器的安装配置方法,以及利用squid代理服务器实现透明代理以及实现安全访问控制的方法。,学完本章后,你将能够:描述代理服务器的基本概念和工作原理利用squid代理服务器实现透明代理利用squid代理服务器进行安全访问设置,安装配置squid,安装配置squid,1 代理服务器概述2 squid代理服务器的安装和配置3 squid代理服务器的访问控制设置4 squid代理服务器日志管理,11.1什么是代理服务器,所谓代理服务器,就是代表内部私有网络中的客户,去请求Internet网中的资源,并将响应的数据返
2、回给客户机的服务器。它能够让多台没有公有IP地址的主机使用其代理功能访问互联网资源。当代理服务器客户端发出一个对外的资源访问请求,该请求先被代理服务器识别并由代理服务器代为向外请求资源并保存在本机缓存中,客户端通过访问代理服务器的缓存实现访问请求。代理服务器是内部网络和ISP(Internet服务商)之间的中介,它可以提供文件缓存、地址过滤、网络监控等功能,并且可以转发网络信息,对转发信息进行控制。,11.2代理服务器的主要作用,代理服务器的作用主要有以下几方面:共享访问网络资源提高访问速度隐藏主机的真实IP地址,提高系统的安全性控制用户访问权限通过代理服务器访问一些不能直接访问的站点。,11
3、.3代理服务器的工作原理,1 代理服务器概述2 squid代理服务器的安装和配置3 squid代理服务器的访问控制设置4 squid代理服务器日志管理,squid代理服务器简介,squid是Linux平台下一个高性能的具有网页缓存功能的代理服务器软件,它支持HTTP、FTP和gopher等协议,在缓存数据的同时,也缓存DNS查询结果并支持SSL和访问控制。squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。squid可以工作在FreeBSD 、HP-UX、 Linux 、 OS/2等很多操作系统平台中。,squid服务器的安装启动,squid服务器在RHEL4系统中已经
4、默认安装 # rpm -q squidsquid-2.5.STABLE6-3 squid服务的启动状态squid服务程序在RHEL4中默认不自动启动需要用chkconfig命令设置squid服务在运行级别3和5中自动启动 # chkconfig -level 35 squid on,9,squid服务的启动与停止,启动脚本squid服务的启动脚本名称是“squid”/etc/init.d/squid 启动与停止squid服务启动squid服务# service squid start 停止squid服务# service squid stop服务端口squid服务器的缺省服务端口为3128,1
5、0,3.1 Squid的基本配置选顶1,1squid主配置文件 squid服务器的主配置文件为squid.conf,位于/etc/squid目录下,用户可以通过修改该配置文件来实现所需的功能。,Squid的基本配置选顶1,2初始化squid建立置换目录 在第一次启动squid前,应该先建立高速缓存的置换目录,然后再启动squid服务。命令如下: rootrhel5 # squid z 默认情况下,squid代理服务器返回的错误信息都是英文,如果需要将错误信息的语言改为中文,可以使用下面的方法:rootrhel5 # mv /etc/squid/errors /etc/squid/errors.
6、bakrootrhel5 # ln -s /usr/share/squid/errors/Simlify_Chinese /etc/squid/errors,Squid的基本配置选顶1,http_port 3128 网页浏览器连接到本台代理服务器时所使用的端口号,默认为3128,也可更改其他端口号,如8080,不同端口之间用空格隔开cache_mem 8MB设置Squid可利用多少内存(默认8MB)当作高速缓存,一般为1/3实际物理内存cache_dir ufs /var/spool/squid 100 16 256设置缓存目录和缓存可以使用的磁盘空间,100表示最大可使用100MB;16表示
7、第一层子目录最多可以有16个;256表示每个第一层子目录下的第2层子目录最多可以有256个cache_access_log /var/log/squid/access.log设置缓存储存记录文件的名称和所在的目录,它记录了所有缓存的行为如果不需要可设为:cache_access_log none,Squid的基本配置选顶2,maximum_object_size 4096KB设置Squid的最大存储对象的大小,默认为4Mcache_mgr root设置电子邮件的地址,如果服务器出现问题,将向这个地址发送相关的错误信息cach_effective_user squid设置运行Squid的有效用户
8、cach_effective_group squid设置运行Squid的有效组http_access 用来设置访问控制:allow all表示允许所有用户使用代理服务器deny all表示拒绝所有用户使用代理服务器,Squid.conf配置举例,# vi /etc/squid/squid.confhttp_port 8080cache_dir ufs /var/spool/squid/ 100 16 256cache_mem 43 MBmaximum_object_size 4096 KBcache_effective_user squidcache_effective_group squid
9、cache_mgr rootvisible_hostname 192.168.1.1http_access allow all# cd /var/spool/squid# squid z# service squid start,squid代理服务器 ACL类型选项,16,访问控制,访问控制是squid配置中的重点,Squid用ACL(Access Control List)访问控制列表对访问类型进行划分,用选项http_access来控制允许访问(allow)还是禁止访问(deny),acl选项http_access选项,acl 选项,为了使用访问控制列表功能,首先要用acl选项进行定义访问
10、控制列表。该选项的基本格式为:acl 列表名称 列表类型 -i 列表的值列表名称:可以由用户任意定义,但任何两个ACL不能用相同的名称列表类型:列表类型说明ACL操作的对象类型,,选项,src:源地址(客户机IP地址)dst:目的地址(服务器IP地址)srcdomain:源名称(客户机所在的域)dstdomain:目的名称(服务器所在的域)url_regex:指定的URL规则表达式字符串urlpath_regex:指定的URL目录路径规则表达式,不包括协议和站点的域名和IPmaxconn:客户机同一个IP最大的连接数,访问控制配置,squid访问控制设置示例禁止内网部分IP使用代理服务器 ac
11、l badip src 192.168.1.0/24http_access deny badip 禁止内网部分MAC地址使用代理服务器 acl badmac arp 00:d0:f8:d9:0e:05http_access deny badmac 禁止内网用户访问某些网站 acl badwebsite dstdomain http_access deny badwebsite,20,访问控制配置,禁止内网用户访问某些格式文件 acl badfile urlpath_regex .mp3$.avi$.exe$.rmvb$http_access deny badfile禁止内网用户浏览网页 acl
12、 badnet src 192.168.1.10acl badnet proto HTTPhttp_access deny badnet,21,访问控制配置,限制客户端主机上网的时间acl worktime MTWHF 9:0017:00http_access deny !worktime如果需要限制特定的用户,可以采用下面的配置方法 acl badclient src 192.168.1.10acl worktime M 12:0017:00http_access deny badclient !worktime,22,squid服务的配置文件(Cont.),squid.conf文件中的配置
13、选项访问控制设置“http_access”用于设置允许或拒绝访问控制对象http_access allow localhosthttp_access deny all 访问控制列表(ACL)的定义“acl”配置项用于设置访问控制列表的内容 acl all src 0.0.0.0/0.0.0.0acl localhost src 127.0.0.1/255.255.255.255重新启动squid服务对squid.conf文件修改后需要重新启动服务程序# service squid restart,23,配置透明代理服务器,配置squid服务器 修改squid.conf配置文件中的设置# vi /etc/squid/squid.conf/在配置文件中添加以下的配置行httpd_accel_host virtualhttpd_accel_port 80httpd_accel_with_proxy onhttpd_accel_uses_host_header on 重新启动squid服务器# service squid reload,24,11.10 本章小结,本章主要知识点: Proxy服务器的工作原理 熟练安装和启动Squid服务器 配置Squid服务器的访问控制和基本参数 配置基于Squid的透明代理 Squid服务器的日志管理和流量分析,