我要学Linux操作系统第7章Linux网络配置7.1网络配置基础7.2使用命令工具配置网络参数7.3使用文件配置网络7.4使用图形工具管理网络7.5使用ADSL连接Internet协议是Internet网络的标准协议,采用TCP/IP协议的主机连接到Internet上,就能实现与同在网络上的其他主机进行数据交换。通常把计算机中连接到网络上的设备称为网络接口设备。计算机连接到网络上,需要配置其网络接口信息,包括计算机的IP地址、子网掩码、默认网关,域名解析服务器地址等。本章将介绍在RedHatLinux9如何使用不同的方法给联网的计算机配置这些接口信息,以便用户在不同的环境下选择使用。第7章Linux网络配置协议簇的国际互联网络。而TCP/IP协议是以UNIX系统作为基础平台开发的,因而UNIX内核中默认支持TCP/IP协议簇。作为典型的类UNIX系统,Linux系统同样在其内核中支持并默认使用TCP/IP协议。7.1.1TCP/IP协议TCP/IP协议主要分为两个部分:传输控制协议(TCP)和网际互联协议(IP)。1.网际互联协议(IP)连接在以太网的用户希望自己的主机能够突破局域网的限制连接到其他网络,在不用考虑其他网络硬件类型以及各部分组成的情况下就能够使用这些资源。比如某个大学中的网络,就需要7.1网络配置基础7.1.1TCP/IP协议将各系局域网连接起来。这种网络之间的连接是通过网关主机来实现的,它通过在连接的网络间进行数据的复制来处理输入和输出数据。这种数据的处理方式称为路由(routing),它是通过一个独立于硬件的协议——IP协议来控制的。IP协议主要功能是使主机可以把分组发往任何网络并使分组独立地传向目标。因此IP协议可以将物理上不相似的网络连接起来,构成一个同构的网络。为了能在不同硬件类型和数据分组网络中,实现数据的转发,IP需要一种独立于硬件的寻址方式。这种寻址方式是基于IP地址的,在Internet上的每台主机都被设置了一个32位的IP地址。为了方便记忆,IP地址通常被写成点分十进制的结构,即将32位的二进制数利用句点(.)分成4个部分,然后每个部分转换成一个十进制数,例如:192.168.0.45。7.1网络配置基础7.1.1TCP/IP协议簇传输控制协议(TCP)如果用户登录到一台指定的网络主机上,希望登录进程,比如telnet进程,能与该主机的shell建立稳定的连接。这样来回传递的信息必须在发送端分解成多个分组(这是因为在IP协议中,规定了一个数据分组最大的字节数),然后由接收方重新将这些分组组装成字符流。此时,只有IP协议显然是不能完成网络数据通信的。另外IP协议并不是可靠的协议,当路由器的缓冲区已经满负载时,此时接收到的数据分组就会被丢弃。这样,被丢弃的分组是不能恢复的。因此,需要负责通信的主机对数据传输进行完整性和正确性进行检验,在发生错误后进行数据重发。传输控制协议TCP,可以负责上述的任务,它是在IP协议之上建立可靠的连接服务。TCP协议主要功能就是在本地主机和远程主机7.1网络配置基础7.1.1TCP/IP协议簇的两个进程之间建立一个简单的连接关系,这样,用户就不必担心数据是如何传输以及通过什么线路传输的。TCP通过两个主机的IP地址以及两个主机的端口来识别连接的端点,端口号用于标记用户需要使用的应用服务。TCP在两个端点之间建立的连接是可靠的连接,它能够在网络出现错误的时候,通知对应的主机重发该分组。3.用户数据报协议(UDP)用户数据包协议UDP也是工作在IP协议的基础之上的,用于在数据传输量较大,且对传输的可靠性要求不高的时候替代TCP协议。与TCP协议一样,UDP协议允许一个应用程序与远程主机的一个端口相关联。UDP并不为数据的传输创建一个连接,而是直接向目标发送单个的数据报。因为UDP才传输数据的过程中,并不对数据报的丢失和冲突进程检验,所以使用UDP协议进行数据传输的应用程序必须自行检查接收到的数据的完整性和正确性。7.1网络配置基础7.1.1TCP/IP协议簇的基础知识后,就可以进行TCP/IP网络信息配置工作了,下面先介绍与网络信息配置工作相关的几个基本概念。1.IP地址在Internet中,每台连接在网络上的主机都有唯一的IP地址。IP地址是一个点分十进制的结构,即将32位的二进制数利用句点(.)分成4个部分,然后每个部分转换成一个十进制数。IP地址能够唯一表示一台Internet网络上的主机。例如192.168.0.1.IP地址是由“.”分开的4段十进制数,每个数占用8位二进制位,故它可以表示的范围是0~255,即IP地址每段数字的取值是0~255范围内的任意数。7.1网络配置基础7.1.2网络配置基本概念地址由两部分组成:网络号net_id与主机号host_id,所以IP地址不仅仅表示一个主机的编号,而是指出了连接在某个网络上的某台主机,它是由因特网名字与号码指派公司ICANN进行分配的。根据网络号的不同可以将Internet网络的IP地址分为五类,即A类到E类,其中D类作为组播地址保留,E类保留今后使用。下面详细介绍A类、B类和C类。A类网络地址:IP地址的第1个字节表示网络号net_id,其中第一位为0,后面的3个字节表示主机号host_id。A类网络共能容纳的主机数为224-2=16777214台。B类网络地址:IP地址的前面2个字节表示网络号net_id,其中第1、2位为10,后面的2个字节表示主机号host_id。B类网络共能容纳的主机数为216-2=65534台。7.1网络配置基础7.1.2网络配置基本概念网络配置基本概念C类网络地址:IP地址的前面3个字节表示网络号net_id,其中第1、2和3位为110,最后1个字节表示主机号host_id。C类网络共能容纳的主机数为28-2=254台。如下表所示,不同类型IP地址中的网络地址net_id和主机地址host_id。IP地址网络类型网络地址net_id主机地址host_id60.45.12.40A类6045.12.40130.50.10.15B类130.5010.15212.78.42.212C类212.78.42212IP地址中的net_id和host_id的飞速发展,IP地址已经变得非常紧张,可获取的IP地址越来越少。现在,Internet网技术人员已经开发出新的IP地址的构成方法,这种IP地址就是IPv6。IPv6采用128位存储方式,即全世界的IP地址由原来的232个,扩展成2128个。这样就可以满足Internet发展的要求。2.子网和子网掩码由于同一个IP地址可能代表不同网络中的主机,如果不能确定它所属的子网,就会导致无法访问该主机。那么如何确定一个IP地址所属的网络呢?这时就需要用到TCP/IP协议簇中一个重要的概念——子网掩码。子网掩码也是一组由“.”分隔的4段数字组成,它可以用于定义一个IP地址所属的网络,说明IP地址中哪些部分表示网络地址,哪部分表示主机地址。具体办法就是,首先,将IP地址和子网7.1网络配置基础7.1.2网络配置基本概念掩码转换成二进制数,然后用转换后的二进制数进行按位“与”运算,得到的结果就是该IP地址所属的网络地址,那么IP地址中剩下的部分就是主机地址。通常定义标准A、B、C类IP地址的子网掩码分别为:A类子网掩码:255.0.0.0B类子网掩码:255.255.0.0C类子网掩码:255.255.255.0例7.1设有IP地址为210.45.211.12的主机,其子网掩码为255.255.255.0,求出其网络号和主机号。7.1网络配置基础7.1.2网络配置基本概念转换成二进制数:210.45.211.12=011010010.000101101.011010011.00001100255.255.255.0=11111111.11111111.11111111.00000000进行按位“与”运算的结果为:011010010.000101101.011010011.00000000,因此210.45.211.0就是IP地址为210.45.211.12主机所在的网络地址,其主机地址为0.0.0.12。3.广播地址广播地址使用中特殊的地址,如果使用广播地址作为数据发送的目的地址,那么该数据将被发往广播地址所在网络内的所有主机。7.1网络配置基础7.1.2网络配置基本概念通常在一个子网中广播地址是唯一的,就是将IP地址中主机地址部分替换成255后的地址。例如,上述IP地址210.45.211.12所在网络的广播地址就是210.45.211.255。在一个特定的网络内,广播地址是保留的,因此不能用于网络中的主机名。因此,有了网络地址和广播地址后,一个特定类型的网络中,可用于标志主机的IP地址就减少了两个,例如,C类地址主机地址占8位,其能够容纳的主机数为28-2=254台,C类能容纳的主机数为216-2=65534台。4.端口端口可以看作是网络连接的附着点。如果一个应用程序希望提供某种服务,就会附着在某个特定的网络端口上等待用户请求的到来(也称为对端口的监听)。使用该服务的客户机则在某个7.1网络配置基础7.1.2网络配置基本概念端口上建立与该远程主机的连接,客户机的端口通常是随机选择且端口号大于1024。在网络中,一旦客户机和服务器之间建立连接,就必须生成服务器的另一个拷贝来为客户机提供服务,原拷贝则继续监听,以等待更多用户的请求。这样,提供网络应用的服务器就允许多个用户登录,并且这些连接都使用服务器同一个端口。TCP可以根据连接的IP地址和端口来区分不同的连接。假如用户两次从infosec主机登录myhost主机,那么第一个telnet客户机使用本地的1025端口,第二个客户机则使用本地的1026端口,但是它们都连接服务器myhost的23端口。从上例可以知道,可以把渡口作为一个集结点,客户端通过连接这些特殊的端口获取特定的网络服务。为了使客户端知道这些7.1网络配置基础7.1.2网络配置基本概念特定的端口,服务的提供方和使用方必须达成一致,对端口的分配必须统一集中管理,在Linux系统中,通过/etc/services文件进行服务名到端口号的映射。通常,端口号在0~1023之间的网络端口由系统统一分配,用户无权重新分配这些端口,端口号大于1023的端口允许用户使用。客户机通常随机生成一个大于1023的端口去连接服务器的特定端口。需要注意的是,TCP和UDP连接都依赖于端口,但这些端口不会相互冲突。因为同一端口在TCP和UDP连接中的服务是不同的。例如TCP的513端口关联的是rlogin服务,而UDP的513端口关联的是rwho服务。7.1网络配置基础7.1.2网络配置基本概念地址来定位和标识主机,尽管为了方便记忆这些IP地址,采用了4段点分十进制的数字来表示,但是要记住这些枯燥的数字,还是非常枯燥的。为了解决这个问题,提出了网络域名的概念。Internet域名是Internet网络上的一个服务器或一个网络系统的名字,在全世界,域名都是唯一的。通俗的说,域名就相当于每台服务器或主机的别名。域名是一个层次结构的名称,由若干个引文字母和数字组成,由“.”分隔成几部分,一般的域名格式为:主机名称.三级域名.二级域名.顶