当前位置:Linux教程 - 代理服务 - Linux代理服务器在因特网上的应用

Linux代理服务器在因特网上的应用



        
    高树风 侯仰允

    摘要: 利用因特网的代理服务器技术可以解决目前因特网的IP地址耗尽、网络资源争用以及网络安全等问题。代理服务器是采取一种代理的机制,即内部的客户端必须经过代理服务器才能和外部的服务器端进行通信,而外部的任何一台主机只能访问到代理服务器。本文着重讨论利用Linux代理服务器解决IP地址耗尽、网络资源争用和网络安全等问题。
    关键词: 代理服务器;双穴主机;因特网
    中图分类号: TP39

    随着因特网技术的迅速发展,越来越多的计算机连入了因特网。目前已经联系着160多个国家和地区,上网的计算机已超过5000万台。它促进了信息产业的发展,并将改变人们的生活、学习和工作方式,对很多人来说,因特网已成为不可缺少的工具。而随着因特网的发展也产生了诸如IP地址耗尽、网络资源争用和网络安全等问题。代理服务器就是为了解决这些问题而产生的一种有效的网络安全产品。

    1.问题的提出
    32位的IP地址由网络号和主机号组成,同时为了包容不同规模的物理网络,又把IP地址分为三类:A、B、C。这样可以包容大量的网络和主机,给人的直观感觉是IP地址空间已足够了。但是,因特网发展到今天已具有相当规模,仍以平均每月超过百分之十的速度扩展,这样的发展速度终于给IP地址模式带来危机[1]。
    如果一个单位有几百台微机连网,在上网访问时,将出现网络资源争用和增加上网费用的问题。一台主机访问了某个站点而另一台主机又访问同一个站点,如果是同时访问将出现网络资源争用的问题,如果是相继访问将出现增加本单位网络费用的问题[2]。
    本单位或本单位的各部门的网络均有高安全性的数据,而因特网上经常会有一些不安全的行为出现。如果每台主机都直接连到因特网上,势必会对内部网(Intranet)的安全造成严重的危害。因此,使网络安全运行是网络发展的前提条件,也是人们日益关注的热点。
    代理服务器(Proxy)可以缓解或解决上述问题,因此,在内部网(Intranet)上开启代理服务器,并进行相应的探讨与研究就十分必要。

    2.代理服务器的结构与功能
    代理服务通常由两部分组成:服务器端程序和客户端程序,用户运行客户端程序,先登录至代理服务器,再通过代理服务器就可以访问相应的站点。服务器端程序运行在一个双穴主机上。该主机一端连接内部网,另一端连接因特网。这便构成了代理服务器。
    代理服务器连接因特网的一端具有唯一的一个合法IP地址,通过这个IP地址代理所有内部网的主机进行因特网的访问服务。连接内部网的一端具有一个内部网的IP地址,而内部网的IP地址是根据Request for Comments(RFC)1597的说明即IP地址空间中有三个空间留给内部网络使用:
    A类地址:10.0.0.0至10.255.255.255
    B类地址:172.16.0.0至172.31.255.255
    C类地址:192.168.0.0至192.168.255.255
    因特网的路由器不能使用这些保留的IP地址,其路由信息不能在网上传播。利用这些IP地址,可以解决内部网(Intranet)的IP地址使用问题。当内部网的一个主机访问了因特网上的某一站点后,代理服务器便将访问过的内容存入它的高速缓存(Cache)中,如果内部网的其它主机再访问同一个站点时,代理服务器便将它缓存的内容传输给该主机。这就是代理服务器的另一个重要功能即利用其高速缓存(Cache),减少网络传输流量,提高网络传输速度,节约访问时间,降低访问费用。
    代理服务器只允许因特网的主机访问其本身,并有选择地将某些允许的访问传输给内部网。这是利用代理服务器程序的功能实现的。因此,可以提高内部网的安全性。

    3.Linux代理服务器的实现

    3.1 Linux系统
    Linux系统是芬兰赫尔辛基大学的Linus Torvalds开发的PC机UNIX操作系统的免费版本,从1991年10月的0.02版至今,Linux获得了极大的成功,成为世界上最庞大的免费软件包。Linux凭借高效率的纯32位核心,加上不计其数的应用程序,成为当前众多操作系统中的佼佼者。同时,Linux具有强大的网络功能,能很好地支持Internet/Intranet,支持Internet上使用的TCP/IP协议。在相同硬件环境下,Linux能提供比Windows95/98/NT,Netware更好的性能[3]。
    3.2 Linux代理服务器的配置
    作为代理服务器的Linux主机需要安装两块网卡,一块网卡连接内部网络,另一网卡连接外部网络,从物理上隔断内部网络与外部网络的联系,保证内部网络计算机的安全。在逻辑上使用代理服务器软件如:Squid,使内部网络通过代理服务器与外部网络通信,外部网络的响应信息通过代理服务器返回给内部网络的主机。
    网络结构及相应IP地址如图2所示。内部网络计算机的IP地址分配从192.168.1.0到192.168.1.255网段。Linux代理服务器的内部IP地址设为192.168.1.1,外部IP地址以202.118.66.64(NIC分配的合法IP地址)为例。
    所有内网的主机访问和接收因特网的信息都要通过Linux代理服务器转发。可以通过修改路由表和服务器端软件的配置来控制内部网络各主机对因特网的访问。RedHatLinux5.1是采用Linux2.0.34的最新的稳定核心,可以支持多种常见的网卡,如NE2000、Intel系列及3Com系列等的网卡。本文以NE2000为例,连接内部网络的网卡的IP地址为192.168.1.1,基地址和中断为0x300、3;连接因特网的网卡的IP地址为202.118.66.64,基地址和中断为0x340、5。
    ◎安装网卡后,编辑/etc/conf.modules文件:
    alias eth0 ne options ne io=0x340,0x300
    其中eth0为连接因特网的网卡名称,ne表示使用NE2000及兼容网卡驱动程序,io为网卡基地址,用十六进制表示。
    ◎编辑/etc/sysconfig/network-scripts/ifcfg-eth1文件
    DEVICE=eth1
    IPADDR=192.168.1.1
    NETMASk=255.255.255.0
    NETWORk=192.168.1.0
    BROADCAST=192.168.1.255
    ONBOOT=yes

    ◎文件/etc/sysconfig/network和文件/etc/sysconfig/network-scripts/ifcfg-eth0按安装时的配置即可。重新启动Linux代理服务器,用ping命令分别检测两块网卡,如果配置正确,应该分别得到以下信息:
    #ping202.118.66.64
    PING 202.118.66.64(202.118.66.64):56databytes
    64bytesfrom202.118.66.64:icmp-seq=0ttl=64 time=1.9ms
    64bytesfrom202.118.66.64:icmp-seq=1ttl=64 time=1.7ms
    以及:
    #ping192.168.1.1
    PING192.168.1.1(192.168.1.1):56databytes
    64bytesfrom192.168.1.1:icmp-seq=0ttl=64 time=2.0ms
    64bytesfrom192.168.1.1:icmp-seq=1ttl=64 time=1.7ms
    ◎将Linux代理服务器软件(Squid)安装到Linux代理服务器上,配置squid.conf文件,建立/usr/local/squid/cache目录,将/usr/local/squid/cache目录和/usr/local/squid/logs目录的用户和组均设置为nobody,用/usr/local/squid/bin/squid命令建立高速缓存(cache),在/etc/rc.d/rc.local文件中加入以下内容:
    if[f/usr/local/squid/bin/RunCache];then
    /usr/local/squid/bin/RunCache&
    fi
    然后重新启动计算机。用/usr/local/squid/bin/client命令检测,如果出现默认主页的画面,表明配置正确。

    3.3内部网络主机的配置(以Windows95为例)在控制面板的网络设置中加入该机的IP地址,域名服务器的IP地址,该机所在的域的域名,网关的IP地址(本例是192.168.1.1),重新启动计算机。将主机上的浏览器软件(以Netscape3.0为例)的option—NetworkPreferences—Proxy中的proxy设为有效,并将代理服务器的IP(192.168.1.1)加到HTTP项中,将端口号设为3128。将默认主页设为因特网中的某一个WWW服务器。运行Netscape,它将自动通过Linux代理服务器访问因特网上的WWW服务器。

    4结论
    利用Linux系统并配以代理服务器软件作为代理服务器,配合TCP/IP技术,可以有效地配置Internet/Intranet网络环境,实现了缓解了IP地址空间紧张的问题,缓解网络资源争用,节省费用,减少访问时间,保护内部网络安全的目的。

    参考文献
    1周明天,汪文勇.TCP/IP网络原理与技术.北京:清华大学出版社,1993.
    2刘渊,乐红兵,宋志庆等.因特网防火墙技术.北京:机械工业出版社,1998.
    3陈向阳,方汉.Linux实用大全.北京:科学出版社,1998.


    发布人:netbull 来自:歪歪鱼的Linux世界