
| 出版日期:2003-06-30 总期号:524 本年期号:24 |
|
用RedHat打造安全高效的代理服务器(下)
《中国电脑教育报》刘宗凡 (接上期B5版)本文以RedHat 8.0和Squid为例,教你如何打造一个安全、高效的代理服务器。 配置Squid Linux下的代理服务器软件比较多,Squid是其中一个比较优秀的。它缓存Internet数据,接收用户的下载申请,并自动处理所下载的数据。Squid可以代理HTTP、FTP、GOPHER、SSL和WAIS协议,暂不能代理POP、NNTP等协议。在/etc/Squid目录中有一个配置文件Squid.conf,修改该文件 可以满足您的不同需要。对初学者来说,可能觉得项目太多,无所适从。但只要理解它的配置方法,就能随心所欲地控制自己的代理服务器了。(注意行前“#”号,表明后面是注释。) 1. 最简单的代理服务器 如果你不想在这上面花功夫,并且对代理服务器的安全性和效率没什么要求,那你只要改一个单词就可以让Squid工作了。搜索“http_access deny all”,将“deny”改为“allow”就行了!(注意改前面没有“#”号的那一行。) 2. 影响性能的选项 要发挥出Squid的优势,最好是能深入认识Squid的配置文件。虽然它很庞大,但是用户可以根据自己的实际情况修改相应的选项,并不需要配置所有的选项。先来看看哪些选项会影响Squid的性能。 (1)# cache_mem 8MB:指定Squid可以使用的内存理想值,建议设为内存的1/3。如果你的内存有256MB或以上,又不同时做其他事情,可以设为内存的一半甚至更多。 (2)# maximum_object_size 4096KB:大于该值的对象将不被存储在缓存里。如果要提高访问速度,就降低该值;如果想最大限度节约带宽,降低成本,就增加该值。建议将它的值改为1024KB。 (3)# minimum_object_size 0KB:小于该值的对象将不被存储在缓存里。默认值为0。 (4)# maximum_object_size_in_memory 8KB:指最大的能保存在内存中的对象。如果内存足够多,可以适当将数值调整得大一些,可以加快客户机读取大对象的速度。 (5)# cache_dir ufs /var/spool/Squid 100 16 256:指定Squid用来存储对象的交换空间的大小及其目录结构。100是交换空间大小,指100MB,16、256分别是一级目录、二级目录数量。 (6)# cache_swap_low 90、# cache_ swap_high 95:指定Squid缓存数值超过或低于某个百分比时和交换空间进行数据交换。当缓存比较大时,两个值可以设得比较小且比较接近。 3. 访问控制设置 我们限定某些组或IP的计算机在指定时候上网,并且可以屏蔽含有某些关键词的网站。为了使用控制功能,必须先设置 ACL 规则并应用。ACL 声明的格式如下: acl acl_element_name type_of_acl_ element values_to_acl (1)限制外网电脑使用代理,只允许IP为192.168.1.1~192.168.1.255的机器访问。 acl school_clients src 192.168.1.0/ 255.255.255.0 acl all_clients src 0.0.0.0/0.0.0.0 http_access allow school_clines http_access deny all_clients (2)限制使用时间。只允许IP为192.168.1.1~192.168.1.255的机器在每周一到周五的7∶00到17∶00使用。如果不限制周一到周五,把下面第二行“MTWHF”去掉。“!”表示逻辑非。 acl school_clients src 192.168.1.0/ 255.255.255.0 acl allow_time time MTWHF 7:00- 17:00 http_access allow school_clients allow_time http_access allow ! school_clients (3)屏蔽某些含有特定关键词的站点。 acl school_clients src 192.168.1.0/ 255.255.255.0 acl refused_sites url_regex sex http_access deny fefused_sites http_access allow school_clients 注意:这些规则按照它们的排列顺序进行匹配检测,列表中的规则总是遵循由上而下的顺序。 因为deny在前,将屏蔽所有电脑的访问,包括内网在内。我们可以定义多个ACL规则,但名字不能相同。 4. 其他 # http_port 3128:定义Squid监听HTTP客户连接请求的端口,缺省是3128。可以把它定义为容易记忆的端口,但不能和其他常用端口相冲突(如21)。 启动Squid 在配置好Squid.conf后,可以用终端来启动、停止Squid,更方便的是将它作为一种服务来启动。单击“开始→服务器设置→服务”,启动“服务配置”窗口。在中间的服务窗口选中“Squid”,就可以使用工具栏上的[开始]、[停止]、[重启]按钮来控制Squid的运行。如需电脑启动时自动启动Squid,只要把它前面的复选框勾选就行了。 现在一切都做完了。如果配置得当,只要把服务器的电源开关打开,你就可以享受Linux带来的安全、高效的服务了!(全文完) |
|||||||||||||||||||||||