分类

安卓应用安卓游戏攻略资讯

首页>资讯教程>组网技术

用RedHat打造安全高效的代理服务器

作者:刘宗凡   来源: JZ5U整理   日期:2014/05/21 18:09:51
Linux具有安全、高效、廉价的优点,但大家对它一直有难以使用的印象。其实,随着Linux的不断发展,它的易用性已大有改观。采用Linux操作系统,可使一台配置赛扬400MHz CPU、256MB内存的机器,用ADSL带动两三百台电脑上网成为轻而易举的事。下面就以RedHat 8.0和Squid为例,教你打造一个安全、高效的服务器。

配置服务器上网

首先要使服务器能上网。为了提高服务器的效率,一般要用双网卡,一块连接内部局域网,一块用来连接互联网。下面让我们来看看连接ADSL类宽带的方法。

1. 单击“开始(小红帽)→系统工具→网络设备控制”。

2. 单击“网络设备控制”窗口中的[配置]按钮。

3. 选中内网卡,单击[编辑]按钮。请见图1。



4. 勾选“当计算机启动时激活设备”,单击“静态设置的IP编号”,在“编号”后输入IP地址“192.168.1.1”(假设内网段IP为192.168.1.2~192.168.1.255),子网掩码填“255.255.255.0”,默认网关编号为空,单击[确定]。请见图2。



5. 选中外网卡,将它的IP设为某个保留IP,如“192.168.2.1”,其他设置同第4步。虽然外网卡不设置IP也可以,但在启动时因为要去DHCP自动获得IP,将大大降低启动速度。

6. 单击“开始→系统工具→互联网配置向导”,在“选择设置类型”窗口中选中“xDSL连接”,单击[下一步]按钮。

7. 在“以太网设备”中选中外网卡,在“提供者名称”后可任意输入一个名字,在“登录名”后填上电信局给的账号,在“口令”后填上拨号密码。请见图3。按[前进],出现“建立DSL连接”窗口,单击[应用]。



8. 现在回到了“网络配置”窗口,选中刚才建立的“PPP0”设备,单击“活跃”,ADSL就开始拨号了;如果你想每次在电脑启动时能自动拨号,单击[编辑],勾选“当计算机启动时激活设备”。

客户机配置

首先要保证局域网已经连通并安装了相应的协议。客户机可以使用Windows 9x/Me/2000/XP等任意一个操作系统,设置也很简单。打开浏览器,单击菜单“工具→Internet选项”,单击“连接”页,再单击“局域网设置”,勾上“为LAN使用代理服务器”(不同版本显示略有不同),在“地址”后填上服务器的IP地址“192.168.1.1”,端口填上“3128”。请见图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

注意:这些规则按照它们的排列顺序进行匹配检测,列表中的规则总是遵循由上而下的顺序。

因为deny在前,将屏蔽所有电脑的访问,包括内网在内。我们可以定义多个ACL规则,但名字不能相同。

4.其他

# http_port 3128:定义Squid监听HTTP客户连接请求的端口,缺省是3128。可以把它定义为容易记忆的端口,但不能和其他常用端口相冲突(如21)。

启动Squid

在配置好Squid.conf后,可以用终端来启动、停止Squid,更方便的是将它作为一种服务来启动。单击“开始→服务器设置→服务”,启动“服务配置”窗口。在中间的服务窗口选中“Squid”,就可以使用工具栏上的[开始]、[停止]、[重启]按钮来控制Squid的运行。如需电脑启动时自动启动Squid,只要把它前面的复选框勾选就行了。

现在一切都做完了。如果配置得当,只要把服务器的电源开关打开,你就可以享受Linux带来的安全、高效的服务了!

文章推荐

应用推荐

网友评论