项目3网络配置与远程登录 工欲善其事,必先利其器。 ——《论语·卫灵公》 【知识目标】 (1) 了解计算机网络的基本知识。 (2) 理解Linux网络配置文件的功能。 (3) 理解vi编辑器的功能和使用方法。 (4) 理解常用网络配置命令的功能。 (5) 理解SSH远程登录的基本原理。 【技能目标】 (1) 掌握Linux网络配置文件的编辑方法。 (2) 掌握Linux网络配置命令的使用方法。 (3) 掌握远程登录Linux系统的方法。 任务3.1Linux系统网络配置概述 任务3.2Linux系统网络配置方法 任务3.3远程登录Linux主机 任务3.1Linux系统网络配置概述 (1) 掌握VMware虚拟网络模式设置方法。 (2) 掌握vi编辑器命令的基本使用方法。 (3) 掌握Linux网卡配置文件的编辑方法。 人类社会早已进入信息化的时代,信息化时代的重要特征就是数字化和网络化。完善的计算机网络可以非常迅速地传递数据和信息,已成为信息化社会最重要的基础设施之一。当前,随着云计算、大数据、人工智能等新一代信息技术迅猛发展,计算机网络的基础作用将进一步加强。下面介绍计算机网络以及Linux网络配置的基本知识。 3.1.1计算机网络简介 1. 计算机网络协议 不同的计算机系统之间要实现通信,除了需要通信技术支持还需要一些规则来进行信息匹配,才能进行信息传输。不同的计算机厂商生产不同类型的计算机,其CPU、接口等硬件构造不尽相同,要实现通信或信息传输,就需要采用同一种交流规则,这种交流规则就是计算机网络协议。 1) OSI开放系统互联参考模型 计算机网络协议的出现让不同厂商生产的计算机系统只要支持同一种协议就能实现正常通信,从而进行信息传输。国际标准化组织ISO为了协调不同厂商支持的计算机网络协议,制定了OSI开放系统互联参考模型。OSI将计算机网络体系结构划分为七层: 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,OSI七层模型构成及其功能如图31所示。 图31OSI开放系统互联参考模型 2) TCP/IP(传输控制协议/网际协议) TCP/IP即传输控制协议/网际协议,它们构成网络通信的核心骨架。TCP/IP对常见的计算机网络中各部分进行通信的标准和方法进行规定,定义了电子设备如何接入计算机网络以及数据如何在它们之间进行传输。 TCP/IP不仅包括TCP和IP两个协议,还包括用于计算机网络通信的一套协议集合,如FTP、SMTP、TCP、UDP、IP等。因为在这个协议集中TCP协议和IP协议是保证网络数据信息及时、完整传输的两个重要协议, 因此被简称为TCP/IP。TCP/IP协议相对于OSI模型显得更简约,包含五层体系结构,包括应用层、传输层、网络层、数据链路层和物理层,TCP/IP协议集包含的协议及其与OSI七层模型的对应关系如表31所示。 表31TCP/IP协议集与OSI七层模型的对应关系 OSI七层模型TCP/IP概念层模型功能TCP/IP协议集 应用层 表示层 会话层 应用层 文件传送、电子邮件、文件服务、虚拟终端TFTP、HTTP、SNMP、FTP、SMTP、DNS、Telnet 数据格式化、代码转换、数据加密没有协议 解除或建立与别的接点的联系没有协议 传输层传输层提供端对端的接口TCP、UDP 网络层网络层为数据包选择路由IP、ICMP、RIP、OSPF、BGP、IGMP 数据链路层数据链路层传输有地址的帧以及错误检测SLIP、CSLIP、PPP、ARP、RARP、MTU 物理层物理层以二进制数据形式在物理媒体上传输数据ISO 2110、IEEE 802、IEEE 802.2 2. IP地址、子网掩码、MAC地址和端口号 在利用TCP/IP进行网络通信时,有几个比较关键的确认网络身份的信息: IP地址、子网掩码、MAC地址和端口号。 1) IP地址 IP地址即网际协议地址。IP地址是IP提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。通俗地说,IP地址就像是 家庭地址,如果要寄东西给某个人,就要知道他(她)的家庭地址,这样快递公司才能把要寄的东西送到。计算机发送信息就好比是快递员,它必须知道对方唯一的“家庭地址”才不致把东西送错地方。生活中,地址使用文字来表示,计算机网络中的IP地址用二进制数字来表示。 传统的IPv4地址是32位的二进制数值(IPv6是128位),用于标记每台计算机的地址。通常使用点分十进制的方式来表示,如192.168.1.10等。每个IP地址又可分为两部分,即网络号和主机号: 网络号表示该IP地址所属的网段编号,主机号则表示在该网段中该主机的地址编号。在使用IP地址传输信息的网络中,只有在同一个网络号下的计算机之间才能直接收发信息,不同网络号的计算机要通过网络中的网关计算机才能通信。按照网络号对应的网络规模的大小,IP地址可以分为A、B、C、D、E五类,其中A、B、C类是日常网络传输中用到的主要IP地址类型,D类和E类一般不用于日常网络传输。IP地址范围及其默认子网掩码如图32所示。 图32IP地址范围及其默认子网掩码 2) 子网掩码 为了让计算机网络可以更灵活地进行组网,IP网络允许被划分成更小的网络,称为子网。子网需要通过子网掩码实现。子网掩码可以区分一个IP地址中的网络地址和主机地址,同时可以判断网络中的两台计算机是否属于同一个子网。通过子网掩码可以将A、B、C三类地址划分为若干个子网,从而大大提高了IPv4地址的分配效率,有效解决IPv4地址资源紧张的状况。在企业内部网络中,为了更好地管理网络,网管人员可以利用子网掩码,将一个较大的内部网络划分为多个小规模的子网,从而有效解决网络广播风暴等网络管理方面存在的问题。 网络中的子网掩码需要配合IP地址来使用。子网掩码工作过程中,会将32位的子网掩码与IP地址进行二进制形式的按位逻辑与(AND)运算,得到网络地址,再将子网掩码二进制按位取反,然后再次和IP地址进行二进制的逻辑与(AND)运算,得到的就是主机地址。例如,192.168.1.10 AND 255.255.255.0,结果为192.168.1.0,其表达的含义为,该IP地址属于 192.168.1.0这个网络,其主机号为10,即这个网络中编号为10的主机。 3) MAC地址 MAC地址(media access control address)是物理地址、硬件地址,由网络设备制造商生产网卡时写入在网卡的EPROM中。MAC地址在计算机中以48位的二进制方式表示,通常表示为12个十六进制数。例如,0016EAAE3C30就是一个MAC地址,其中,前6位十六进制数0016EA代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协会)分配; 后6位十六进制数AE3C30代表该制造商所制造的某个网络产品(如网卡)的系列号。每块网卡出厂时,都有一个全世界独一无二的 MAC地址。 网络中的计算机在进行通信时,当网络交换机接收到来自网上的一个数据包时,会根据该数据包的目的IP地址,查看交换机内部是否有与该IP地址对应的MAC地址,如果有,就会将该数据包转发到对应MAC地址的主机上; 如果没有,则交换机会根据ARP协议将目标IP地址映射成MAC地址,这样数据包就被转送到对应的MAC地址的主机上。 4) 端口号 端口号存在于传输层的TCP/UDP头部,用于识别网络主机中的应用程序。网络上的一台主机上能运行多个程序,那么系统中接收到的网络数据包到底是发给哪个程序的呢?这就需要通过数据包中的网络端口号来确认。计算机网络端口号使用16位二进制数表示,端口号的取值范围是1~65535(不使用0作为端口号)。在这个取值范围中,1023(含)以下的端口已经分配给常用的一些应用程序,它们紧密绑定于一些服务,通常这些端口的通信明确表明了某种服务的协议。计算机系统通常从1024起分配动态端口,Linux系统中常见网络协议对应的服务端口如表32所示,网络服务及其端口的对应关系保存在系统的/etc/services文件中。 表32常见网络协议对应的服务端口 端口号协议/服务名称端口号协议/服务名称 20/21FTP(文件传送协议)161SNMP(简单网络管理协议) 22SSH(安全登录)443HTTPS(安全超文本传送协议) 23Telnet(远程登录)873Rsync(rsync文件传送) 25SMTP(简单邮件传送协议)1521Oracle数据库服务 53DNS(域名解析)2049NFS网络文件系统 69TFTP(简单文件传送协议)3306MySQL数据库服务 80HTTP(超文本传送协议)3389Windows远程桌面 110POP3(邮局协议3)6379Redis数据库服务 111Rpcbind(远程端口映射)8080Tomcat(Web应用服务) 115SFTP(安全文件传送协议)10050Zabbix Agent(代理) 123NTP(网络时间协议)10051Zabbix Server(服务器) 143IMAP(因特网邮件访问协议)27017MongoDB数据库服务 3. 网卡、网关、路由器和DNS 1) 网卡 网络适配器(network adaptor),称为网卡或网络接口卡,是一块被设计用来允许一台计算机在网络上进行通信的计算机硬件。由于其拥有MAC地址, 图33双RJ45接口千兆网卡 因此属于OSI模型的第2层,通过网卡,可以把网络中的计算机通过网络电缆或无线等传输介质相互连接。 图33所示为一块带双RJ45接口的网卡。 2) 网关与路由器 网关(gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互联。网关地址实质上是一个网络通向其他网络的IP地址。 网关分为传输型网关和应用型网关: 传输型网关用于在两个网络间建立传输连接,应用网关在应用层上进行协议转换。在网络配置中,有时需要对系统的默认网关进行配置。默认网关是指计算机所在网络边界的网关或路由器,对于网络内部的计算机来说,只有知道了默认网关的位置才能和网络外部通信。 路由器(router)是连接两个或多个网络的硬件设备。路由器在网络间起到网关的作用,它能够理解不同的协议,是一个能读取数据包中的地址然后决定如何传送的专用智能化网络设备。路由器可以分析各种不同类型网络传来的数据包的目的地址,可以把非TCP/IP网络的地址转换成TCP/IP地址,再根据选定的路由算法把各数据包按最佳路径传送到指定位置。 路由器是互联网络的枢纽,很多路由器都集成了网关的功能,路由器通过其内部运行的一系列算法决定网络间数据包传输的最短路径。路由器使用静态路由或动态路由来决定数据传输的最短路径。静态路由需要管理员手动设置,而动态路由使用一些协议来动态发现网络间的最短路径。通常,小型网络使用静态路由,大型复杂网络则使用动态路由。图34所示为包含4个路由器的网络拓扑结构图,数据包在不同的网络间传输存在多条不同的传输路径,路由器根据其保存的路由信息确保数据包在网络中的正确传输。 图34包含路由器的网络拓扑结构图 3) DNS服务器 DNS(domain name system,域名系统)在网络中作为计算机域名和IP地址相互映射的一个分布式数据库,能够让用户更方便地访问互联网,而不用去记住能够被机器直接读取的数字IP地址。通过主机名,最终得到该主机名对应的IP地址的过程叫作域名解析,图35演示了客户端从DNS服务器查询IP地址的过程。DNS协议运行在UDP协议之上,DNS服务器监听系统的53号端口。 图35DNS客户端域名查询过程 3.1.2VMware虚拟机软件的网络模式 VMware Workstation虚拟机软件(以下简称VMware)不仅为用户提供虚拟机系统安装及运行功能,还为用户提供了功能强大的虚拟网络连接服务。 1. VMware虚拟网络概述 在使用VMware创建虚拟机的过程中,配置虚拟机的网络连接是非常重要的环节。当 为虚拟机配置网络连接时,可以看到如图36所示的三种网络连接模式: 桥接模式、NAT模式和仅主机模式。在VMware虚拟机中,虚拟网络连接主要是由VMware创建的虚拟交换机负责实现,VMware可以根据需要创建多个虚拟网络。 图36VMware Workstation虚拟网络编辑器 在Windows系统的主机上,VMware最多可以创建20个虚拟网络,每个虚拟网络可以连接任意数量的虚拟机网络设备。在Linux系统的主机上,VMware最多可以创建255个虚拟网络,但每个虚拟网络只能连接32个虚拟机网络设备。VMware虚拟网络是以 “VMnet+数字”的形式来命名的,如VMnet0、VMnet1、VMnet2等。 2. 三种VMware网络连接模式 当安装VMware时,VMware会自动为3种网络连接模式各自创建1个虚拟机网络: VMnet0(桥接模式)、VMnet8(NAT模式)、VMnet1(仅主机模式),也可以根据需要自行创建更多的虚拟网络。 1) VMware 桥接模式 VMware桥接模式,是指将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问外部网络。简而言之,就好像在 局域网中添加了一台新的、独立的计算机。因此,虚拟机也会占用局域网中的一个IP地址,并且可以和其他终端进行相互访问。桥接模式网络连接支持有线和无线主机网络适配器。如果 想把虚拟机当作一台完全独立的计算机看待,并且允许它和其他终端一样地进行网络通信,那么桥接模式通常是虚拟机访问网络的最简单途径。 2) VMware NAT模式 NAT(network address translation,网络地址转换)模式也是VMware创建虚拟机的默认网络连接模式。使用NAT模式进行网络连接时,VMware会在主机上建立单独的专用网络,用以在主机和虚拟机之间相互通信。虚拟机向外部网络发送的请求数据 包,都会交由NAT网络适配器加上“特殊标记”并以主机的名义转发出去,外部网络返回的响应数据包,也是先由主机接收,然后交由NAT网络适配器根据“特殊标记”进行识别并转发给对应的虚拟机,因此,虚拟机在外部网络中不必具有自己的IP地址。从外部网络来看,虚拟机和主机在共享一个IP地址,默认情况下,外部网络终端也无法访问虚拟机。在一台主机上只允许有一个NAT模式的虚拟网络,同一台主机上多个采用NAT模式连接的虚拟机可以相互访问。 3) VMware仅主机模式 仅主机模式是一种比NAT模式更加封闭的网络连接模式,它将创建完全包含在主机中的专用网络。仅主机模式的虚拟网络适配器仅对主机可见,并在虚拟机和主机系统之间提供网络连接。相对于NAT模式而言,仅主机模式不具备NAT功能,因此在默认情况下,使用仅主机模式网络连接的虚拟机无法连接到外部网络。在同一台主机上可以创建多个仅主机模式的虚拟网络,如果多个虚拟机处于同一个仅主机模式网络中,那么它们之间是可以相互通信的; 如果它们处于不同的仅主机模式网络,则默认情况下无法进行相互通信。 3.1.3Linux网络配置文件 TCP/IP网络的主要网络配置参数包括网络IP地址、子网掩码、网关、DNS服务器IP地址以及系统主机名等,正确配置这些网络参数,就可以访问网络,这些配置参数将在以下配置文件中进行设置。 1. 网络接口配置文件 在Linux系统中,网络接口配置文件用于控制系统中的网络接口模块,并通过这些接口实现对网络设备的控制。当系统启动时,系统通过这些接口配置文件决定启动哪些接口以及如何对这些接口进行配置。Linux系统中网络接口配置文件的名称通常类似于ifcfgname,其中name与配置文件所控制设备的名称相关。 图37Linux网络接口配置文件 在CentOS 7系统中,网络接口配置文件位于/etc/sysconfig/networkscripts目录中,最常见的网络接口配置文件是ifcfgeth33。图37所示是ifcfgeth33 网卡配置文件实例,该配置文件中包含Linux系统的网卡IP地址、子网掩码、网关、DNS服务器等相关配置参数。通过使用文本编辑器如vi/vim修改网络接口配置文件中的配置参数,可以实现对网络接口设备的控制。需要注意的是,网络接口配置文件修改后需要重新启动网络或激活网卡才能生效,如执行systemctl restart network命令重启网络。 网卡配置文件ifcfgens33中相关配置参数及其含义如表33所示。 表33Linux网络接口配置参数 配置参数名称参数配置说明 DEVICE=namename 表示物理设备的名称,对于动态寻址的PPP设备则是指它的逻辑名称 BOOTPROTO=protocolprotocol的值可以是以下几种: none——不指定启用协议 bootp——使用BOOTP dhcp——使用DHCP BROADCAST=addressaddress 表示广播地址。ifcalc 程序会自动计算这个地址,不推荐手动对它进行配置 IPADDR=addressaddress 的值就是分配给网卡的IP地址 NETMASK=maskmask 表示子网掩码 GATEWAY=addressaddress 的值为路由器或其他网关设备的IP地址 DNS{1,2}=adderssaddress表示域名服务器的IP地址。如果PEERDNS选项被设置为yes,这里设置的IP地址将会代替/etc/resolv.conf中的设置 NETWORK=addressaddress表示网络地址,ifcalc程序会自动计算这个地址,不推荐手动对它进行配置 PEERDNS=yes|noyes——使用DNS选项的值代替/etc/resolv.conf 中的配置。如果使用 DHCP,yes则为这个选项的默认值 no——不更改 /etc/resolv.conf 中的配置 ONBOOT=yes|noyes——系统启动时激活设备 no——系统启动时不激活设备 USERCTL=yes|noyes——允许非root用户控制这个设备 no——不允许非root用户控制这个设备 2. DNS域名解析配置文件 DNS域名解析配置文件/etc/resolv.conf用于设置Linux系统的DNS服务器的IP地址及本地域名,配置文件中还包含了主机的域名搜索顺序。该文件的格式较为简单,每行以一个关键字开头,后接一个或多个由空格隔开的参数。resolv.conf的配置参数主要有4个,如表34所示。 表34/etc/resolv.conf文件配置参数 配 置 参 数参 数 含 义配 置 参 数参 数 含 义 nameserver定义DNS服务器的IP地址search定义域名的搜索列表 domain定义本地域名sortlist对返回的域名进行排序 3. IP地址与主机名(域名)映射文件 /etc/hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,文件名为hosts(不同的Linux版本,这个配置文件也可能不同,例如,Debian的对应文件是/etc/hostname)。 hosts文件包含了IP地址和主机名之间的映射,还包括主机名的别名。在没有域名服务器的情况下,系统中所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址,通常可以将常用的域名和IP地址映射加入hosts文件中,实现域名对应IP地址的快速访问。一般情况下hosts文件的每行为一个主机,每行由三部分组成,每个部分由空格隔开。hosts文件的格式如下: IP地址网络主机名/域名网络主机别名 当然每行也可以是两部分,只包含网络主机的IP地址和主机名,例如: 192.168.1.10WebServer 4. 主机名配置文件 计算机网络中每一台计算机,一般都需要有一个主机名。在CentOS 7 Linux系统中,系统主机名由/etc/hostname文件配置,它在系统初始化时被读取,并且内核会根据它的内容设置主机名。实际上,Linux主机名分三种: static(静态主机名)、pretty(好看、易读的主机名)和transient(短暂、临时的)。CentOS 7主机名修改可以使用以下四种方法实现。 1) 使用hostname命令修改主机名 使用该方式修改的是系统的transient主机名,即临时生效的主机名。例如,执行hostname LinuxServer 命令将把当前主机名临时设置为LinuxServer,执行hostname命令将直接看到设置后的结果,但是该配置只是临时生效,系统重启或者终端关闭后,设置的主机名将无法保存。