Linux具有安全、高效、廉价的优点,但大家对它一直有难以使用的印象。其实,随着Linux的不断发展,它的易用性已大有改观。采用Linux操作系统,可使一台配置赛扬400MHz CPU、256MB内存的机器,用ADSL带动两三百台电脑上网成为轻而易举的事。下面就以RedHat 8.0和Squid为例,教你打造一个安全、高效的服务器。
配置服务器上网
首先要使服务器能上网。为了提高服务器的效率,一般要用双网卡,一块连接内部局域网,一块用来连接互联网。下面让我们来看看连接ADSL类宽带的方法。
1. 单击“开始(小红帽)→系统工具→网络设备控制”。
2. 单击“网络设备控制”窗口中的[配置]按钮。
3. 选中内网卡,单击[编辑]按钮。请见图1。
图1
4. 勾选“当计算机启动时激活设备”,单击“静态设置的IP编号”,在“编号”后输入IP地址“192.168.1.1”(假设内网段IP为192.168.1.2~192.168.1.255),子网掩码填“255.255.255.0”,默认网关编号为空,单击[确定]。请见图2。
图2
5. 选中外网卡,将它的IP设为某个保留IP,如“192.168.2.1”,其他设置同第4步。虽然外网卡不设置IP也可以,但在启动时因为要去DHCP自动获得IP,将大大降低启动速度。
6. 单击“开始→系统工具→互联网配置向导”,在“选择设置类型”窗口中选中“xDSL连接”,单击[下一步]按钮。
7. 在“以太网设备”中选中外网卡,在“提供者名称”后可任意输入一个名字,在“登录名”后填上电信局给的账号,在“口令”后填上拨号密码。请见图3。按[前进],出现“建立DSL连接”窗口,单击[应用]。
图3
8. 现在回到了“网络配置”窗口,选中刚才建立的“PPP0”设备,单击“活跃”,ADSL就开始拨号了;如果你想每次在电脑启动时能自动拨号,单击[编辑],勾选“当计算机启动时激活设备”。
||||||客户机配置
首先要保证局域网已经连通并安装了相应的协议。客户机可以使用Windows 9x/Me/2000/XP等任意一个操作系统,设置也很简单。打开浏览器,单击菜单“工具→Internet选项”,单击“连接”页,再单击“局域网设置”,勾上“为LAN使用代理服务器”(不同版本显示略有不同),在“地址”后填上服务器的IP地址“192.168.1.1”,端口填上“3128”。请见图4。
图4
配置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