收藏 分享(赏)

高效配置Linux系统代理服务器.doc

上传人:j35w19 文档编号:7216895 上传时间:2019-05-10 格式:DOC 页数:7 大小:41.50KB
下载 相关 举报
高效配置Linux系统代理服务器.doc_第1页
第1页 / 共7页
高效配置Linux系统代理服务器.doc_第2页
第2页 / 共7页
高效配置Linux系统代理服务器.doc_第3页
第3页 / 共7页
高效配置Linux系统代理服务器.doc_第4页
第4页 / 共7页
高效配置Linux系统代理服务器.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、 作为一种免费的网络操作系统,Linux 越来越受到广大网络爱好者的欢迎,目前 Internet 上运行的主机有相当一部分采用的就是 Linux,而且中国已经把 Linux 作为政府上网的指定网络操作系统。种种迹象表明,Linux 正在逐渐走向成熟。为了解决 Internet 发展迅速和 IP 地址资源紧张的矛盾,代理服务器的使用越来越广泛。Squid 是一种在 Linux 系统下使用的比较优秀的代理服务器软件。代理服务代理服务是指由一台拥有标准 IP 地址的机器代替若干没有标准 IP 地址的机器和 Internet 上的其它主机打交道,提供代理服务的这台机器称为代理服务器。拥有内部地址的机器

2、想连接到 Internet 上时,先把这个请求发给拥有标准 IP 地址的代理服务器,由代理服务器把这个请求通过它的标准 IP 地址发到请求的目的地址。然后目标地址的服务器把返回的结果发回给代理服务器,代理服务器再原封不动的把资料发给内部主机。若干拥有内部地址的机器就组成了内部网,代理服务器的作用就是沟通内部网和 Internet,解决内部网访问 Internet 的问题。这种代理事不可逆的,Internet 上的主机不能访问任何一台拥有内部地址的机器,这样又可以保障内部资料的安全性。代理软件的一个优点是它能够检验除了数据包之外的许多东西。Squid 对数据包的有效载荷进行检验,也就是穿越防火墙

3、的数据包中 TCP(或者 UDP)部分所占地份量。根据数据包报头(数据包中的 IP 部分)和数据包有效载荷(TCP 部分) 的信息,代理防火墙能够决定数据包将发往何处,数据包请求什么,以及根据数据包所必须提供的这些信息决定采取什么样的行动。对于 Web 用户来说,Squid 是一个高性能的代理缓存服务器,可以加快内部网浏览 Internet 的速度,提高客户机的访问命中率。Squid 不仅支持 HTTP 协议,还支持 FTP、gopher、SSL 和 WAIS 等协议。和一般的代理缓存软件不同,Squid 用一个单独的、非模块化的、I/O 驱动的进程来处理所有的客户端请求。Squid 将数据元

4、缓存在内存中,同时也缓存 DNS 查寻的结果,除此之外,它还支持非模块化的 DNS 查询,对失败的请求进行消极缓存。Squid 支持 SSL,支持访问控制。由于使用了 ICP,Squid 能够实现重叠的代理阵列,从而最大限度的节约带宽。Squid 由一个主要的服务程序 Squid,一个 DNS 查询程序 dnsserver,几个重写请求和执行认证的程序,以及几个管理工具组成。当 Squid 启动以后,它可以派生出指定数目的 dnsserver 进程,而每一个dnsserver 进程都可以执行单独的 DNS 查询,这样一来就大大减少了服务器等待 DNS 查询的时间。Squid 的另一个优越性在于

5、它使用访问控制清单(ACL)和访问权限清单(ARL)。访问控制清单和访问权限清单通过阻止特定的网络连接来减少潜在的 Internet 非法连接,可以使用这些清单来确保内部网的主机无法访问有威胁的或不适宜的站点。编译安装 Squidsquid 软件包有两种:一种是 RedHat 所使用的 rpm 包,另一种是源代码包。rpm 包的安装:1.进入/mnt/cdrom/RedHat/RPMS。2.执行 rpm -ivh squid-2.2.STABLE4-8.I386.rpm。源代码包的安装:1.从 http:/www.squid-cache.org 下载 squid-2.2.STABLE4-src

6、.tar.gz。2.将该文件拷贝到/usr/local 目录。3.解开该文件 tar xvzf squid-2.2.STABLE4-src.tar.gz,在/usr/local 目录下生成一个新的目录squid-2.2.STABLE4,为了方便使用 mv squid-2.2.STABLE4 squid 将目录更名为 squid。4.进入 squid 目录。5.执行./configure,可以用./configure -prefix=/directory/you/want 指定安装目录。系统默认安装目录为/usr/local/squid。6.执行 make all。7.执行 make insta

7、ll。8.安装结束后,Squid 的可执行文件在安装目录的 bin 子目录下,配置文件在 etc 子目录下。配置 squid配置文件 squid.confSquid 有一个主要的配置文件 squid.conf,位于/etc/squid 目录下,用户仅仅需要修改该配置文件即可。squid.conf 配置文件分为 13 个部分,分别是:1.NETWORK OPTIONS(有关的网络选项)2.OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM(作用于邻居选择算法的有关选项)3.OPTIONS WHICH AFFECT THE CACHE SIZ

8、E(定义 cache 大小选项)4.LOGFILE PATHNAMES AND CACHE DIRECTORIES(定义日志文件的路径及 cache 的目录)5.OPTIONS FOR EXTERNAL SUPPORT PROGRAMS(外部支持程序选项)6.OPTIONS FOE TUNING THE CACHE(调整 cache 选项)7.TIMEOUTS(超时)8.ACCESS CONTROLS(访问控制)9.ADMINISTRATIVE PARAMETERS(管理参数)10.OPTIONS FOR THE CACHE REGISTRATION SERVICE(cache 注册服务选项)

9、11.HTTPD-ACCELERATOE OPTIONS(HTTPD 加速选项)12.MISCELLANEOUS(杂项)13.DELAY POOL PARAMETERS(延时池选项)虽然 squid 的配置文件很庞大,但是用户可以根据自己的实际情况修改相应的选项,并不需要配置所有的选项。下面介绍几个常用的选项。1.http_port定义 squid 监听 HTTP 客户连接请求的端口。缺省是 3128,如果使用 HTTPD 加速模式则为 80。可以指定多个端口,但是所有指定的端口都必须在一条命令行上。2.cache_mem指定 squid 可以使用的内存理想值,建议设为内存的 1/3.3.ca

10、che_dir Directory-Name Mbytes Level1 Level2指定 squid 用来存储对象的交换空间的大小及其目录结构。可以用下面的公式来估算系统所需要的子目录数目。已知量:DS = 可用交换空间总量(单位 KB)/ 交换空间数目OS = 平均每个对象的大小= 20kNO = 平均每个二级子目录所存储的对象数目 = 256未知量:L1 = 一级子目录的数量L2 = 二级子目录的数量计算公式:L1 x L2 = DS / OS / NO注意这是个不定方程,可以有多个解。4.maximum_object_size大于该值得对象将不被存储。如果要提高访问速度,就降低该值;如

11、果想最大限度的节约带宽,降低成本,就增加该值。5.dns_nameservers定义 Squid 进行域名解析时使用的域名服务器。6.acl定义访问控制列表。定义语法为:acl aclname acltype string .acl aclname acltype “file“ .7.http_access根据某个访问控制列表允许或禁止某一类用户访问。运行 Squid配置并保存好 squid.conf 后,就可以启动、停止和重新启动 Squid:/etc/rc.d/init.d/squid start/etc/rc.d/init.d/squid stop/etc/rc.d/init.d/squ

12、id restart可以通过 ps 命令查看 Squid 服务是否已经正常启动:ps -A |grep squid如果出现以下信息:6573 ? 00:00:00 squid6574 ? 00:00:00 squid则表明 Squid 服务已经正常启动。客户端的配置将某台终端设置成内部地址,并将该终端的 DNS 服务器设置为代理服务器的 DNS 服务,在内部地址和标准地址之间作一个路由。在浏览器里设置代理服务器地址为 Squid 代理服务器的地址,就可以通过代理服务器上网了。一个实例假设有这样的应用环境,网络中有一台拨号服务器为用户提供拨号接入服务,且运行有 Squid 实现的代理服务器,其

13、IP 地址为 192.168.2.32。拨号用户得到一个内部 IP,地址范围为 192.168.2.1-192.168.2.30。1.配置 squid.confhttp_port 80cache_mem 32 MBcache_swap_low 90cache_swap_high 95maximum_object_size 4096 KBcache_dir /var/spool/squid 100 16 256cache_access_log /var/log/squid/access.logcache_log /var/log/squid/cache.logcache_store_log /v

14、ar/log/squid/store.logcache_dns_program /usr/lib/squid/dnsserverdns_nameservers 192.168.2.32unlinkd_program /usr/lib/squid/unlinkdacl all src 0.0.0.0/0.0.0.0acl allow_ip src 192.168.2.1/255.255.255.0acl manager proto cache_objectacl localhost src 192.168.2.32/255.255.255.255acl SSL_ports port 443 56

15、3acl Safe_ports port 80 21 443 563 70 210 1025-65535acl CONNECT method CONNECThttp_access allow manager localhosthttp_access deny managerhttp_access deny !Safe_portshttp_access deny CONNECT !SSL_portshttp_access allow localhosthttp_access allow allow_ipcache_effective_user squidcache_effective_group

16、 squid下面两个选项是用来定义 squid 加速模式的。用 virtual 来指定为虚拟主机模式。80 端口为要加速的请求端口。采用这种模式时,Squid 就取消了缓存及 ICP 功能,假如需要这些功能,必须设置httpd_accel_with_proxy 选项。httpd_accel_host virtualhttpd_accel_port 80下面两个选项在透明代理模式下是必须设置成 on 的。在该模式下,Squid 既是 web 请求的加速器,又是缓存代理服务器。httpd_accel_with_proxy onhttpd_accel_uses_host_header on设置透明代

17、理时,必须打开包转发功能,还要结合 ipchains:echo 1 /proc/sys/net/ipv4/ip_forward/sbin/ipchains -A input -j ACCEPT -i lo/sbin/ipchains -A forward -s 192.168.2.1/24 -d 0/0 -j MASQ2.用户认证设置默认时,Squid 本身不带任何认证程序,但是可以通过外部认证程序来实现用户认证。一般有以下的认证程序:LDAP 认证、SMB 认证、基于 mysql 的认证、基于 sock5 的密码认证和基于 Radius 的认证。下面介绍常用的 ncsa 实现的认证,ncsa

18、 是 Squid 源代码包自带的认证程序之一,实现步骤如下:* 进入/usr/local/squid/auth_modules/NCSA 目录,执行:makemake install* 编译成功后,会生成 ncsa_auth 的可执行文件,拷贝生成的可执行文件到/usr/bin 目录下。* 修改 squid.conf 文件的相关选项。acl auth_user proxy_auth REQUIREDhttp_access allow auth_userauthenticate_program /usr/local/squid/bin/ncsa_auth/usr/local/squid/etc/

19、passwd* 利用 Apache 携带的工具软件 htpasswd 在/usr/locad/squid/etc 下生成密码文件,并添加相应的用户信息。该密码文件每行包含一个用户的信息,即用户名和密码。例如,用 htpasswd 生成密码文件passwd 并添加用户 me:htpasswd -c /usr/local/squid/etc/passwd me* 重新启动 Squid,密码认证生效。3.客户端的设置在客户端浏览器的选项中将代理服务器的 IP 地址设为 192.168.2.32,http 端口为 80。若要设置透明代理,则客户端不需要在浏览器中指定代理服务器,而将网关设为 192.168.2.32,并且客户端要配置好 DNS。现在,内部网的主机就可以通过代理访问 Internet 了。结束语Squid 与 Linux 下其它的代理软件如 Apache、Socks、TIS FWTK 和 delegate 相比,下载安装简单,配置简单灵活,支持缓存和多种协议。用 ipchains+Squid 的解决方案,就可以获得通过缓存高性能的同时能够无缝的访问 Internet。最后说明一点,squid 不仅可用在 Linux 系统上,还可以用在AIX、Digital Unix、FreeBSD、HP-UX、Irix、NetBSD、Nextstep、SCO 和 Solaris 等系统上。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报