清华大学Linux课件第13章_第1页
清华大学Linux课件第13章_第2页
清华大学Linux课件第13章_第3页
清华大学Linux课件第13章_第4页
清华大学Linux课件第13章_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第13章TCP/IP网络管理,13.1网络概述13.2网络配置13.3定为基本的网络故障和收集网络状态信息13.4基本网络服务的介绍13.5小结习题,主机系统的网络管理涵盖很多方面的内容,包括网络设备的安装、网络故障的检测、网络流量的统计以及状态信息的收集,本章将通过一些基本网络操作命令的介绍和对网络配置文件的分析,帮助读者更好地理解网络的工作原理,提高管理技能。,13.1网络概述Linux是一个网络操作系统,系统管理的很大一部分工作与网络有关。和传统的Unix一样,Linux中,也同时支持TCP/IP网络和UUCP网络。UUCP(Unix-to-UnixCopy)是由美国贝尔实验室开发的、供UNIX工作站之间进行通信的一套协议簇,它主要是通过拨号电话线路进行通信,尽管UUCP网络仍然广泛地应用于各种场合,而且费用低廉,但它有限的传输带宽将制约它的发展。随着TCP/IP网络的迅速发展,可以预见UUCP的应用范围将不断地被削减。本章主要介绍TCP/IP网络的管理,不再对UUCP进行过多的讨论。有兴趣的读者可以通过其他途径深入了解。下面将结合TCP/IP网络在Linux中的实现介绍一些基本概念。,TCP/IP被称为一种事实上的Internet互联标准,因为它并不完全遵从ISO/OSI标准,但是因为Internet是从TCP/IP协议基础上发展起来的,在标准委员会制定出标准时,TCP/IP已经得到了广泛的应用和厂商支持。人们最终抛弃了政府行为,而选择了在市场需求中茁壮成长起来的TCP/IP标准,这一点在计算机界常常得到印证。图13.1是TCP/IP协议簇的原理结构图,它反映了网络系统的工作原理。,图13.1TCP/IP协议簇的结构图,TCP/IP协议簇的核心部分包括传输层协议(TCP和UDP)、网络层协议(IP)和硬件接口层,这三层在操作系统内核中实现。而应用层如FTP、WWW等应用程序则通过网络编程接口(socket、WindowsSockets)与核心协议打交道。整个协议簇是一种分层结构的,下层为上层提供服务,不同层次之间通过一些接口通信,比如应用层通过socket接口与TCP层通信。将通信功能分层可以简化各层的实现,优化每一层的功能,达到代码重用、最小修改和易于维护的目的。模块化在软件设计与实现中无论是面向对象技术还是分布式处理都有其不可替代的优越性,是软件工程的理想目标。采用这种层次性的结构还可以,灵活地配置网络,可以通过为硬件驱动规定统一的接口,将硬件的运作和处理交给不同的生产厂商去做。最终的好处是无论采用什么样的硬件环境,都可以通过TCP/IP网络达到互联的要求。下面将结合最为常见的以太网进行分析。,13.2网络配置13.2.1以太网卡的安装我们常用的网卡有两种总线模式,一种是ISA卡,一种是PCI卡。PCI卡比ISA有许多优点,除了提供很高的总线带宽来达到更快更好的性能外,它对系统资源的申请是动态的,而ISA必须固定分配。典型的情况就是装载ISA卡时,Linux需要给它分配一个中断号和I/O资源的地址,以便驱动程序知道在何处可以找到该卡。系统加载网卡也有两种模式,一种是直接编译进内核,一种是动态加载模块。若设备驱动以模块方式动态加载进内核,对于PCI设备,模块将自动检测到所有已经安装到系统上的设备;对于ISA卡,则,需要向模块提供I/O地址,这些信息应在/etc/conf.modules中提供(有的系统为modules.conf)。比如有一块ISA总线的3c509卡,编辑conf.modules文件如下:aliaseth03c509options3c509io=0 x300这样驱动程序就知道到内存的哪一段去寻找网卡,其中0 x表示16进制。对于PCI卡,仅仅需要alias命令来使设备名(以太网设备为ethN)和适当的驱动模块名关联即可,PCI卡的I/O地址将会被自动检测到。对于PCI卡,编辑conf.modules文件如下:aliaseth03c509注:加载模块的命令格式如下:#insmod模块名(本例中为3c509)若驱动程序直接被编译进了内核,系统启动时的PCI检测程序将会自动找到所有相关的网卡。ISA卡一般也能够被自动检测到,但是在某些情况,下,ISA卡仍然需要做下面的配置工作,在/etc/lilo.conf中增加配置信息,其方法是通过LILO程序将启动参数信息传递给内核。对于ISA卡,编辑lilo.conf文件,增加如下内容:append=ether=3,0 x300,eth0注:先不要在“lilo.conf”中加入启动参数,测试一下你的ISA卡,若失败再使用启动参数,有些旧的ISA网卡,必须使用其驱动盘设置中断号与I/O地址或者采用硬跳线改变中断号,在系统中配置的参数无效。PCI卡会被自动查找到,所以没有必要这样做。,13.2.2TCP/IP网络相关的概念前面提到了TCP/IP网络的结构以及如何加载硬件驱动程序,剩下的工作就是如何在系统中配置TCP/IP,以使其能正常工作。在开始讲配置之前,必须澄清一些基本概念,以让读者理解为什么要这样配置。1.IP地址TCP/IP网络要进行通讯,必须有一个标识主机的方法。在以太网中,可以通过网卡的硬件地址来标识主机,但是这种地址格式复杂,不便于阅读和记忆,也不便于管理。所以TCP/IP网络中定义了一种地址格式,用来惟一确定每个网络接口。它具有如下格式:,X.Y.Z.W其中X、Y、Z、W是0到255之间的整数,如果按照二进制的书写格式,它是一个32位的数字,对于TCP/IP协议簇来说,它所认识的IP地址与上面的格式有点不同,它以如下格式阅读:网络地址+主机地址其中网络地址是大于1位的二进制数,主机地址也是大于1位的二进制数。比如,计算中心网关地址分解成协议所能认识的地址就是:网络地址=1010011001101111主机地址=0000010000000001,后面将介绍为什么这样分解。需要注意的是,在IP地址中,全主机地址代表的是网络,全主机地址代表的是广播。比如对IP地址而言,它所在的网络用来表示,而55则代表向整个166.111.4网络广播的地址。以上的设计贯彻了灵活的原则,给IP地址带来了很好的实用性。我们可以根据某个机器的数目给不同的单位分配不同的网段,于是就诞生了IP地址分类的问题。举个例子来说,像166.111网段可以拥有的主机数可以用16位主机地址表示,即可以达到65536台主机,所以像清华大学这样的单位,拥有一个像166.111这样的网段是合适的。而对于大型,的跨国公司如IBM,则可能拥有上十万台的主机,16位主机地址是不能满足要求的,可以分配一个24位的主机地址。而对一些小公司而言,可能分配一个拥有255台主机数的8位主机地址的网段就可以满足要求了。最大主机数1677721465543254N/AN/A最大主机数比理论数目少2个,是因为网络地址和广播地址是保留地址。另外,有一些地址是保留用于特定的内部网络的,这些网络没有直接连接到Internet,它们可能放在防火墙后面,这些地址规定如下:,A类:B类:到C类:到IP地址经过分类,确实方便了记忆和管理,但是也造成了地址的浪费,许多地址即使空着,但归属某个单位或部门,别人没有办法使用,从而造成了地址空间的紧张,当然这也在很大程度上是因为32的地址空间限制。所以Ipv6(目前的IP协议版本为Ipv4)技术的一部分工作就是解决地址空间不足的问题。,2.MAC地址MAC地址在以太网中是网卡的硬件地址,以太网中机器之间通过这个地址通信,它是一个6字节48位的数字,其常见格式以十六进制数字表示如下:xx:xx:xx:xx:xx:xx可以通过ifconfig命令来查看它。在IBM的令牌环网中也有硬件地址的概念,但两者有很大的区别,在同一本地网络中,如果要让这种硬件地址格式不同的网络互连,必须通过专用的设备,如网桥等。我们所说的TCP/IP网络是由许多小的网络构成,这些网络可能是以太网也可能是令牌环网,TCP/IP协议通过一个地址转换协议ARP来映射IP地址与硬件地址的对应关系。同一本地网络中,硬件地址必须惟一,因为它是区分不同主机,的惟一标准。以太网中通过ARP地址广播包来收集其他主机的地址。3.子网掩码操作系统中,TCP/IP协议簇在工作时,将IP地址看作是网络地址与主机地址的聚合体,其中网络地址是用来确定数据包的传输路径的,比如如何将一个数据包从美国UC-berkely大学的校园网发送到清华大学的校园网。在这个发送过程中,路由协议根据网络地址确定数据包从哪个路由器发送到下一个网络。而对于子网掩码而言,它是用来确定这个网络地址的,将子网掩码值与主机的IP地址做按位“与”运算,就得到了网络地址,从而也就决定了该机器上的数据包按照什么样的路径发送给别人,按,行话说,就是影响了主机的静态路由。举例说,主机A:与B:的子网掩码都为,为网关,如果主机A要发送信息给B,它通过子网掩码发现B与它处在同一网络,于是就将数据包直接发送给该机器,但是如果将主机B放在网关以外,因为以太网的ARP广播包不能通过路由器,得不到对方的MAC地址,从而主机A无法知道B不在本网段这一信息,所以不会去寻找网关转发该数据包,通信也就无法进行。这可以解释对于将子网掩码设大了或设小了所导致的种种问题。,所以遇到这种问题,一定要明白,子网掩码将决定你机器上的信息是怎么传送给别人的,如果在同一网段,它绝对不会主动找网关,只有不同网段的机器才会通过网关路由。根据子网掩码的工作原理,还可以设计可变长度子网掩码VLSM,从而可以将大的网段划分成小的网段,也可以用小的网段构建大的网段(超网),不同的单位可以根据需要自行决定采用什么方式工作。,13.2.3和网络相关的一些配置文件在Linux系统中,TCP/IP网络是通过若干个文本文件进行配置的,了解这些配置文件对于理解一些配置命令和界面配置工具大有好处。你可以通过编辑这些文件来完成联网工作。下面将介绍基本的TCP/IP配置文件。1./etc/HOSTNAME文件该文件包含了系统的主机名称和完全的域名,如:(Linux为主机名,为域名),2./etc/sysconfig/network-scripts/ifcfg-ethN文件在RedHat中,系统网络设备的配置文件保存在/etc/sysconfig/network-scripts目录下,ifcfg-eth0包含第一块网卡的配置信息,ifcfg-eht1包含第二块网卡的配置信息。下面是/etc/sysconfig/network-scripts/ifcfg-eth0文件的示例:DEVICE=eth0表示物理设备的名字IPADDR=表示赋给该卡的IP地址NETMASK=表示网络掩码NETWORK=表示网络地址BROADCAST=55表示广播地址,ONBOOT=yes启动时是否激活该卡,值为yes/noBOOTPROTO=noneproto取值可以是:(1)none:无须启动协议(2)bootp:使用bootp协议(3)dhcp:使用dhcp协议USERCTL=no是否允许非root用户控制该设备,值为yes/no若希望手工修改网络地址或在新的接口上增加新的网络界面,可以通过创建新的文件,文件名为ifcfg-ethN,N为0、1等数字。,3./etc/resolv.conf文件该文件是由DNS客户端解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件,示例如下:nameservernameserver8“search域名”表示当提供了一个不包括完全域名的主机名时,在该主机名后添加域名后缀;“nameserver”表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的。,4./etc/host.conf文件该文件指定如何解析主机名。Linux通过解析器库来获得主机名对应的IP地址。示例如下:orderbind,hostsmultionnospoofon“orderbind,hosts”指定主机名查询顺序,这里规定先使用DNS来解析域名,然后再查询“/etc/hosts”文件。“multion”表示“/etc/hosts”文件中指定的主机可以有多个地址,拥有多个IP地址的主机一般称为具有多个网络接口。,“nospoofon”指不允许对该服务器进行IP地址欺骗。IP欺骗是一种攻击系统安全的手段,通过把IP地址伪装成别的计算机,来取得其他计算机的信任。5./etc/sysconfig/network文件该文件用来指定服务器上的网络配置信息,下面是一个示例:NETWORK=yes/no网络是否被配置FORWARD-IPV4=yes/no是否开启IP转发功能HOSTNAME=Air表示服务器的主机名DOMAINNAME=分配给该机器的域名,这个字段基本不用GATEWAY=表示网络网关的IP地址GATEWAYDEV=eth0表示网关的设备名,注意,因为不同版本的系统或者不同的应用软件会从不同的地方去取主机名,为了保证同一个系统的所有应用程序采用的是相同的主机名,应保持HOSTNAME文件与该文件中的主机名一致。6./etc/hosts文件当机器启动时,在可以查询DNS以前,机器需要查询一些主机名到IP地址的匹配。这些匹配信息存放在/etc/hosts文件中。在没有域名服务器情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址。,下面是/etc/hosts文件的示例:localhostlocalhost.localdomain00smthbbs最左边一列是主机IP信息,中间一列是主机名,任何后面的列都是该主机的别名。一旦配置完机器的网络配置文件,应该重新启动网络以使修改生效。使用下面的命令来重新启动网#/etc/rc.d/init.d/networkrestartStoppingnetwork:OKStartingnetwork:OK注意,Linux/UNIX中,因为有权限限制,所以路径不是对所有用户都开放的,所以许多路径在用户,的环境变量中是找不到的。任何用户都有自己的PATH环境变量,不同用户可能设置得不一样,从而有“路径不是对所有用户都开放”的假象。另外,超级用户的PATH环境变量中不应该有当前路径“.”,这是从安全方面考虑的要求,因此超级用户执行当前目录下某个命令时,可能要在命令名前加上“./”。试想一下,某个捣蛋的用户编写了一个恶意的程序,并将它命名为rm,放置在自己的命令下,然后告诉管理员说自己目录下有一个文件(譬如说文件名为“ls-l”,注意中间有一空格)怎么也删不掉,粗心大意的管理员进入这个目录后,使用命令rmls-l一下子就删掉了,还对那位用户大谈UNIX中各种引号的作用,而那位用户却在那儿窃笑呢,因,为管理员执行的是他编写的同名程序,而该程序表面上完成/bin/rm程序的功能,实际上却留下一个后门,比如拷贝一个root的shell并加上粘贴位,他以后就可以随心所欲地取得超级用户特权。所以在执行命令时,最好给出绝对路径,如在在当前目录中,则应该加上“./”,如当前目录/etc/rc.d/init.d下执行上述命令的格式应该为:#./networkrestart不过在此处提醒读者,涉及到网络配置文件的修改有时仅仅靠重新运行network脚本是不够的,最好同时运行rc.local脚本。,7./etc/inetd.conf文件inetd被称做因特网“超级服务器”,根据网络请求装入相应的网络程序,inetd.conf文件告诉inetd应该监听哪些端口,为每个端口启动哪些服务。因为这个配置文件决定了系统的服务内容,所以也存在潜在的安全威胁,最好的办法就是禁止所有不用的服务。注意,任何对该配置文件的改动都必须让inetd重新读入配置文件,这可以通过kill命令给inetd进程发送一个挂起信号(HUP)达到目的,因为许多系统守护进程接收到这个信号后会重新读入自己的配置文件。命令的格式如下:#kill-HUPcat/var/run/inetd.pid,注意:HUP信号为1,inetd的PID在Linux中存放在“/var/run/inetd.pid”文件中。不过不建议初学者改动这个配置文件,如果有不用的服务,删除相应的软件包更为可靠。13.2.4用命令行方式配置TCP/IP网络1.ifconfig命令ifconfig是用来设置和配置网卡的命令行工具,为了手工配置网络你需要熟悉这个命令。同Windows相比,Linux/UNIX下配置工作的好处是无须重新启动机器。下面将通过示例的形式讲解。,例:为eth0配置IP地址,命令格式如下:#ifconfigeth0netmask这条命令自动指定了广播地址,网络地址可以通过IP地址与子网掩码按位“与”获得,主机地址全为“1”,所以得到广播地址为55。也可直接写出广播地址:#ifconfigeth0netmaskbroadcast55若运行不带任何参数的ifconfig命令,这个命令将显示机器所有激活的接口的信息,例如:#ifconfig这个命令的输出如表13.2所示。,表13.2不带参数的ifconfig命令的输出结果(Alpha工作站)注意:用ifconfig命令配置的网络设备参数,在重新启动以后,这些参数设置将会丢失,表中数据的含义如下:eth0:当前网卡的名称Linkencap:表明网卡被设置为以太网卡,有些系统还能给出带宽参数Hwaddr:网卡的硬件地址(MAC地址)Inetaddr:为该网卡配置的IP地址Bcast:广播地址Mask:子网掩码地址第3行:表明已经应用到网卡上的ifconfig命令的可选选项,有些是默认值。第4、5行:RX、TX分别表示接收和发送的数据包的信息。,Lo:回送设备,一般用于设备的自测。带有-a参数的该命令则显示所有的接口的信息,包括没有激活的接口(但是有些老版本的系统可能不能显示没有激活的接口),命令格式如下,输出内容和上面的相似。#ifconfig-aifconfig命令除了可以配置IP地址外,还可以配置硬件地址,如以太网卡的MAC地址,其他种类的硬件需要系统能够支持,比如要修改第一块网卡“eth0”的MAC地址,其实现方法是在文件“/etc/rc.d/init.d/network”中添加下面一行命令:ifconfigeth0hwetherxx:xx:xx:xx:xx:xx,其中hw表示硬件地址,ether为网络类型,然后使用下面的命令重新激活网卡即可:#/etc/rc.d/init.d/networkrestart注:虽然用ifconfig命令设置的参数会在机器重新启动时丢失,我们也可以通过在启动网络的脚本文件中添加上这些命令,这样每次重启机器时系统都会执行到这些脚本文件,可以达到永久改变的目的。如果要永久改变IP地址,可改变“/etc/sysconfig/network-scripts/ifcfg-ethN”文件中IPADDR项的内容,如:IPADDR=“54”,2.route命令route命令影响的是主机静态路由表,由管理员手工维护。对于一般主机而言,它可以告诉一台主机如何发送数据给其他主机。如果主机充当路由器,它还要负责在不同网络间转发数据。路由是在IP层进行的,当收到一个目的地为其他主机的报文后,本主机将其网络地址与路由表中的内容进行比较,如果目的地为直接相连的网络,则直接将报文发送至该网络;如果没有直接匹配的网络地址,则将报文发送给某个默认路由器,由它进一步路由报文;如果没有默认路由,将返回给发送端一个网络不可到达的错误信息。,除了由管理员手工修改路由表信息外,主机本身也可以收集RIP(RoutingInformationProtocol)路由广播或者其他IGP(InteriorGatewayRoutingProtocol)类路由协议的广播信息,生成动态路由信息。在进一步介绍如何配置之前,让我们使用“route-n”命令输出路由表信息,来分析一下路由表的内容,“-n”参数的含义是不启用域名解析,只显示IP地址。#/sbin/route-nKernelIProutingtableDestinationGatewayGenmaskFlagsMetricRefUseIface55UH000eth0U000eth0.0U000loUG000eth0,Destination是数据包被传送到的目标网络或主机地址;Gateway是用来向目标发送数据包的网关(通常是一个路由器);Genmask是子网掩码;Metric提供的是此路由的权值,权值越小说明该路由越快,不过它只对动态路由有用,因此为0;Ref列描述这一路由的引用数,Linux内核中没有使用这条信息,因此其值为0;Use表示这条路由被系统引用的次数;Iface是此路由使用的网络接口,“*”表示没有设置网关;Flags用来描述路由的特征,可以是下面几个值:U此路由已经启动H此路由的目标是一个主机G此路由通过一个网关,上面已经对主机的路由表做了简单的介绍,下面就通过例子介绍如何操纵主机路由表,首先讲解如何使用route命令配置默认网关,命令格式如下:#route命令参数类型目标主机或网络的IP子网掩码网关可选项命令参数有添加路由“add”和删除路由“del”,使用add需要指明“类型”参数是“-net”还是“-host”,而使用del时无须指定。目标主机或网络的IP可以设置为“default”,即默认的网关。可选项参数可以为“-n”等,具体的信息请参考联机文档“manroute”。例如要为目标主机“”添加网关路由“”,格式如下:#routeadd-hostnetmaskgw,13.3定位基本的网络故障和收集网络状态信息ping命令检查主机的连通性可以用ping命令,如果主机网络不通我们怎么办呢?在局域网内,我们可以先用该命令测试与相邻主机是否连通,如果否,则需要检查本机的网络配置和网线是否损坏。如果可以连通,则本机的网络没有问题,需要继续判断故障所在,可能是本地网络设备故障,也可能是外网引起的,需要和其他网络管理员协调。ping命令的格式如下:#ping可选参数目标主机的IP地址,这里的可选参数有很多,包括利用缓冲区溢出攻击用的“-l”选项,不过现在的操作系统已经弥补了这个漏洞。图13.1表明ping是利用ICMP工作的,ICMP定义了许多描述远方主机或者网络状态的信息,当远方主机或者路由器接收到ICMP请求包时,即用ICMP响应包返回这些信息。例如从“”ping“”,部分结果如下:,#pingPING()from:56(84)bytesofdata.64bytesfrom:icmp-seq=0ttl=30time=2.1ms64bytesfrom:icmp-seq=1ttl=30time=1.3ms64bytesfrom:icmp-seq=2ttl=30time=0.6ms64bytesfrom:icmp-seq=3ttl=30time=0.5ms64bytesfrom:icmp-seq=4ttl=30time=0.7ms64bytesfrom:icmp-seq=5ttl=30time=1.2ms-pingstatistics-6packetstransmitted,6packetsreceived,0%packetlossround-tripmin/avg/max=0.5/1.0/2.1ms,2.traceroute命令为了判断外网的工作情况,可以使用另一个非常有用的命令traceroute,以确定到远方主机的路由,也就是数据包发送到远方主机需要经过哪些路由器。有时候ping某个远方主机不通是因为某个路由器引起的,则可以通过该命令发现故障。我们可以用此命令验证前面关于“子网掩码影响主机路由”的说法,如果同在一个子网,则不需要经过网关,数据包直接发往该机器,如果是子网以外的机器,则第一步数据包发送给网关,然后由网关转发。如有以下网络拓扑,子网掩码均为,A网段主机a:从a到c只须一步即可,如:#/usr/sbin/traceroutetraceroutetoc(),30hopsmax,46bytepackets1c()0.372ms0.153ms0.187ms,A网段主c:,网关,B网段主机b:,从a到b则需要经过网关,如:#/usr/sbin/traceroutetraceroutetob(),30hopsmax,46bytepackets1()3.596ms0.690ms0.947ms2b()2.489ms*2.823ms如果判断结果为本地网络工作正常,故障存在于本机的话,可以从网线到网卡逐步进行检测,另外要观察网卡信号灯的状态,信号灯的含义一般包括网线是否正常连接(绿灯)和是否有数据传输(红灯),如果信号灯有错,则硬件很可能有问题。一般来说,硬件的错误相对较少,而软件驱动的安装错误会多一些,所以安装系统时要对机器内部安装的硬件比较清楚。引起到本地主机网络故障的原因很多,,笔者的经验也绝对不能一一囊括,以上只是从总体上给出一个判断与解决的顺序,读者则需要从实践中积累经验,并与其他人多交流。stat命令为了快速检查网络接口的状态信息,可以使用“netstat-i”命令如果TX-ERR或RX-ERR数量过大,则往往表示网线有问题,TX-DROP和RX-DROP过大则表示网络负载较重,主机来不及处理,而TX-OVR和RX-OVR则可能因为速率不匹配引起。,另外“netstat-a-n”也可以显示主机的路由表,其作用相当于“route-n”。为了显示所有的TCP和UDP端口状态,包括活动的端口和不活动的等待连接的服务器端口(监听端口)。可以使用“netstat-a”命令。netstat命令的另外一个有用处的选项是-t,它只显示所有的激活的TCP连接,从而过滤了所有UNIXdomainsockets(本机通信协议)的连接,命令格式如下:#netstat-t如果要显示所有的活动的和被监听的TCP连接,使用命令:#netstat-vat,13.4基本网络服务的介绍Unix/Linux系统自出世以来就是贵族出身,在很大程度上都是用于提供系统服务的,而且也因为它们出色的表现赢得了业界的赞许,尽管Linux现在还不能尽如人意,但是它自由开放的特征吸引了无数优秀的程序员和系统管理人员,正是这些勤劳无私的人们的不懈努力,Linux才得以普及和不断完善。Linux在Web、DNS、Mail等等网络服务方面都有杰出的表现。它还可以做防火墙、路由器、代理服务器等,而且它还可以作为嵌入式系统应用于IA(信息家电)领域,可以作为VPN网关等。本书后续的教材中将对这些服务的架构、配置等进行详细的分析,在这里就算是抛转引玉,让读者对这些服务有一个基本的了解。,13.4.1Web服务器谈起Web服务器,最著名的就是Apache了,它可以说是目前市场上最流行的运行于Linux上的Web服务器,而且在NT上也有了它的身影,不过性能明显不能跟它在Linux上的表现那样让人乐道。Web服务器是构建于HTTP协议上的应用程序,市场上有很多家的产品,除了Apache,还有如Webmin自带的miniserver等。他们在协议上都是兼容的,但是配置、功能乃至版本更新都是有很大差异的。一般Linux上的Web服务器提供虚拟主机的支持、代理的支持、还有PHP支持,一些外加的软件包还支持Linux上的ASP。正是随着Web服务器功能的不断强大,现在的网站才日趋规模,才能,结合大型数据库进行管理,才有丰富的内容展现给大家。要追踪Web的发展,Linux是一个非常好的平台。13.4.2邮件系统自EricAllman在Berkeley完成sendmail的最初版本以来,sendmail受到了业界长久的重视,从1983年的V5版本一直到1993年Er

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论