IT教程 | 加入收藏 | 简体 | 繁体
Linux&Unix服务器:IIS服务器Apache服务器Tomcat服务器其它整合Windows服务器Linux&Unix...
当前位置: 首页 > 服务器 > Linux&Unix服务器

Red Hat Linux9.0系统架设互联网网关的方法

2012-02-22来源:[www.121ask.com]热度:0℃ 【字体:

  

何时,凡配备电脑的单位几乎都已架设了内部局域网,以实现单位内部的互连互通。但这些还远远不够,因为内部人员还需要与外面的世界打交道,如与远程工作人员的即时通信、杀毒软件的定时升级等,所以我们还要与Internet实现互连互通。这时我们就有两种方案供选择:一是为每个员工申请一个接入帐号,二是在局域网上架设互联网网关,让所有局域网用户共享单个帐号上网。鉴于第二种方案更加经济可行,并且现在的宽带足以满足大部分单位网上办公之需,所以人们通常更喜欢采用后一种方式。而本文的目的就是向读者介绍如何用Linux机器打造一个经济实用的Internet全能网关。

尽管本文所用的是Red Hat Linux9.0作为示范,读者在使用其他发行版本时可能遇到文件路径和文件名有所区别的情况,但方法是一致的,所以不会有太大的困难。

一、安装Internet连接

单位利用网关接入互联网时,大多使用的是ADSL、VDSL以及宽带IP等,通常只需要再添加一块以太网卡(笔者的网卡也是由通信公司给我安宽带时一块带来的),并且ISP网关地址等设置等工作都由ISP工作人员来代劳,所以这里不再多说。

二、架设代理服务器

从现在起,以下的工作就需要我们自己动手了。首先要做的是配置代理服务器。这里我们选择Squid作为我们的代理服务器软件加以说明。之所以选择它,是由于它具有以下优点:

1.易于控制

2.能够节省大约30%的通信量(当然,如果采用包月制这一点意义不大,否则就不得不考虑了)

3.能够加速Web页的访问

4.功能丰富

当然金无全赤,它的不足之处在于该软件本身稍微大了一点,另外,有时它要占用更多的内存,但这些都在可以容忍的范围之内。话又说回来,又要马儿跑又要马儿不吃草只不过是人们的一个愿望罢了。

该软件的安装非常简单,如下:

# rpm -ihv squid-2.5.STABLE1-2.i386.rpm

Squid安装后,其配置文件位于目录/etc/squid下面。另外,它还有一个指向该目录的符号链接errors,专门为所有用户存放出错消息。

现在从编辑/etc/squid/squid.conf开始着手来配置常用的代理。在“NETWORK OPTION”段,将http_port的参数设为运行代理服务器的机器的IP地址和端口号:

http_port 192.168.0.1:3128

在“OPTION WHICH AFFECT THE CACHE SIZE”段,参数cache_mem规定了分配给高速缓冲对象的内存总量,默认的情况下该值为8M。我们可以根据实际情况加以修改,比如,若您的机器的内存小于等于32M,您最好将该参数降为4M;如果您的内存很大,您也可以提高该参数的值,如改为10M或更高。

参数maximum_object_size定义了允许存放在磁盘高速缓冲区中的对象的最大尺寸。默认时,该值为4096K。您还可以根据磁盘可用空间的大小来调节该值,如您可以将其改为1024K。

在LOGFILE PATHNAMES AND CACHE DIRECTORIES部分,参数emulate_httpd_log定义了日志文件的类型和结构。默认时,该参数的值为off,这时的日志文件有较强的专用倾向,例如时间被设成Unix风格,只有通专用的程序将其转化成某种特殊格式后别的程序才能读懂。当参数emulate_httpd_log的值设为on时,日志文件的格式将与Apache的日志文件格式保持一致。需要注意的是,该参数的值与日志分析程序密切相关,因为不同的分析程序使用的格式是不同的。

在“OPTIONS FOR TUNING THE CACHE”段,有三个参数需要注意,它们是quick_abort_min、quick_abort_max和quick_abort_pct。它们的作用是决定Squid是否缓存下载过程中被异常终止的文件。默认时,前两个参数的值为16K,最后一个参数的值为95%。若这些参数的值设置不当,可能会导致程序行为变得非常古怪,例如,即使我们当前并没有使用Squid,但它仍可能会莫名其妙地向缓冲区下载一些东西。对于小型低速网络,这些参数的推荐值为:将参数quick_abort_max的值设为1或2;将参数quick_abort_pct的值设为98%或99%。

在“TIMEOUT ”段中,参数shutdown_lifetime定义了代理停机后的最大超时值。它决定了何时关闭所有用户已打开的TCP连接,默认时该参数的值为30秒,对于小型网络来说,它的值可降为15秒,甚至10秒。

在“ACCESS CONTROLS”段,给出了对访问控制列表ACL——Squid的特色功能之一——的定义。默认时,Squid被配置成仅允许本机用户(Squid程序所在主机的接口)访问代理。最简单的方法是在acl列表中添加如下行:

acl mynetwork src 192.168.0.0/255.255.255.0

其中,mynetwork是该ACL的名字;src是一个关键词,它定义了ACL的类型(在我们的例子中为C类IP网络);192.168.0.0是网络的IP地址,后面的255.255.255.0是网络掩码。需要注意的是,只要定义网络地址,那就必须给出该地址的网络掩码。

同时,我们需要在参数表中给出http_access的访问规则:

http_access mynetwork allow

另外,http_access的各个规则间的顺序是非常重要的,因为各个规则的处理是按照从上往下的顺序进行,直到遇到第一个匹配为止。所以,一定要将上面这一行添加到下面这行之后:

http_access allow localhost

并且一定要在下面这行之前:

http_access deny all

 

需要注意,这个例子只能适用于该软件自身所带的配置文件。其他情况下,各个访问规则可能有所不同,因此这个同意访问的行的安放位置可能有所不同。

ALF还有个非常有用的功能,那就是从文件中载入。除了直接写地址外,我们还可以设置一个路径名,例如:

acl myuserlist src "/etc/squid/acl/myusers.lst"

该命令规定用于myuserlist的所有IP地址都从/etc/squid/acl/myusers./lst获取。这时,Squid将以只读的方式来尝试访问该文件。该文件必须列出所有的IP地址,并且每个地址单独占一行。

ACL除了IP地址外,还包括日期、时间、域名、URL(可以以列表的方式也可以用规则表达式的方式表示)、端口、协议等项。这些都可以用ACL加以控制。这给与了管理员更多的选择来控制对代理的访问。具体使用方法请参考Squid自身所带的文档,这里只给出一些有用的“偏方”:

1.远离色情之类站点:

以上IT文章《Red Hat Linux9.0系统架设互联网网关的方法》由名客技术网[www.121ask.com]提供阅读!
推荐软件
    名客技术网是一个免费为广大IT技术人员提供IT教程,绿色软件,asp/php/jsp/java/net等实例视频教程,CMS教程,破解软件下载以及学习相关源码、知识的IT网站。
    名客技术网如果无意之中侵犯了您的版权,请来电告知,本站将在3个工作日内删除 QQ:175352796
    Copyright 2011-2017 Powered by 121ASK.COM, All Rights Reserved.
    备案号:鄂ICP备11013833号-3