Linux操作系统时随着计算机网络技术的发展而产生并发展的,因此其网络功能也十分强大。Ubuntu系统作为Linux的一种具体实现,同样集成了Linux强大的网络功能,并且也只有在网络环境下才能充分发挥Ubuntu系统的全部功能。
1.1.网络基础知识
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。计算机网络的兴起和发展离不开Internet,目前Internet用户已经遍布全球,有超过几十亿人在使用Internet。
Internet最基本的网络协议是TCP/IP,中文译名为传输控制协议/因特网协议,又名网络通信协议,是Internet最基本的协议。从协议分层模型来讲,TCP/IP的4层分别为网络接口层、网络层、传输层、应用层。TCP/IP并不完全复合OSI/RM(开放式系统互联参考模型)的7层结构,OSI/RM每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信,这7层分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。而TCP/IP采用了4层结构,它源自ARPANET,TCP/IP结构和OSI/RM结构的各层对应关系如下:
1.2.IP地址配置
所谓IP地址就是给每个接入Internet的主机分配以恶搞32位地址,即IPV4,因此地址空间中有4294987296个地址。按照TCP/IP的规定,IP地址用二进制来标识,每个IP地址长32位(32b),换算成字节就是4B。例如,一个采用二进制形式的IP地址是00001010000000000000000000000001,这么长的地址,人们处理起来很费劲。为了方便人们的使用,IP地址进程被写成点分十进制的形式,于是上面的IP地址就可以表示位10.0.0.1。
Internet上每台主机都有一个唯一的IP地址,IP就是使用这个地址在主机之间传递信息的协议,这是Internet运行的基础。IP地址的长度位32位,分为4段,每段8位,用十进制表示,每段数字的范围就是0~255之间,段与段之间用“.”隔开。IP地址共有5个类别,分为位A、B、C、D和E,其中A、B、C类有不同的网络类别长度,剩余的部分被用来是被网络内的主机,这就意味着这3个网络类别有不同的给主机编址的能力;D类被用于多播地址;E类被留作将来使用。
有特殊用途的IP地址及说明:
IPV4从出现到现在几乎没有改变,1983年,TCP/IP被ARPANET采用,直至发展到后来的Internet。那时只有几百台计算机互相联网。1989年,联网计算机数量突破10万台,并且同年出现了1.5Mb/s的骨干网。因为IANA(互联网数字分配机构)把大片的地址空间分配给一些公司和研究机构,20世纪90年代初就有人担心10年内IP地址空间将会不够用,并由此推动了IPV6的开发。后来,RIR(地区性Internet注册机构)负责将IP地址分配给ISP(Internet服务提供商),目前全球有五大RIR机构:
- RIPE:欧洲IP地址注册中心,服务于欧洲、中东地区和中亚地区;
- LACNIC:拉丁美洲和加勒比海地址注册中心,服务于中美洲、南美洲及加勒比海地区;
- ARIN:美国Internet编号注册中心,服务于北美地区和部分加勒比海地区;
- AFRINIC:非洲网络信息中心,服务于非洲地区;
- APNIC:亚太地址网络信息中心,服务于亚太地区。
1.3.Ubuntu中网络的基本配置
在Ubuntu中可以通过命令或图形化界面中“网络设置”来配置网络。对于Linux而言,查看和设置网卡IP地址等信息的命令是ifconfig。在终端中不带参数的ifconfig命令将显示当前网卡信息:
上图中网卡有两个:ens33和lo,ens33是物理网卡,lo是虚拟的loopback接口设备。系统管理员完成网络规划之后,为了方便管理,会为每一台路由器创建一个loopback接口,并在该接口上单独指定一个IP地址作为管理地址,系统管理员会使用该地址对路由器进行远程登录,该地址实际上起到了类似于设备名称的功能。
要修改网卡的IP地址,可以采用命令,其格式如下:
例如修改ens33的网卡IP为192.168.80.128:
修改完成后,再次输入命令,ens33网卡的IP变为192.168.80.128:
1.4.DNS配置
DNS是Domain Name System(计算机域名系统)或Domain Name Server(计算机域名服务器)的缩写,它是由解析器和域名服务器组成的。域名服务器是保存该网络中所有主机的域名和对应的IP地址,并将域名转换为IP地址的服务器。其中,域名必须对应一个IP地址,而IP地址不一定值对应一个域名。域名系统采用类似目录树的等级结构。域名服务器为客户/服务器模式中的服务器,它主要有两种形式:主服务器和转发服务器。在Internet中,域名与IP地址是一对一(或者多对一)的。域名虽然便于人们记忆,但计算机只能识别IP地址,域名和IP地址之间的转换工作称为域名解析,需要由专门的域名解析器来完成,DNS就是进行域名解析的服务器。DNS域名用于Internet的TCP/IP网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入域名时,DNS可以将域名解析为与之相关的其他信息,如IP地址。
域名是由一串用句点分隔的名字组成的Internet中的一台计算机或计算机组的名称。用于在数据传输时标识计算机的电子方位。通俗的说,域名就相当于门牌号码,人们通过这个号码很容易找到对应的位置。DNS规定,域名中的标号都由应为字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母。标号中除了连字符外不能使用其他的符号。级别最低的域名写在最左边,而级别最高的域名写在最右边。由多个标号组成的完整域名总共不超过255个字符。
域名有两个基本类型。一是国际域名(international Top-level Domain-names,iTDs),也叫国际顶级域名。这也是使用最早也最广泛的域名,例如标识工商企业的、标识网络提供商的、标识非盈利组织的等。
二是国内域名,又称为国内顶级域名(national Top-level Domain-names,nTDs),即按照国家不同分配不同的后缀,这些域名即为国家和地区的顶级域名。目前有超过200个国家和地区按照ISO3166国家代码分配了顶级域名,例如,中国是,美国是日本是等。
在Ubuntu系统中,DNS配置信息保存在文件中,其主要用途是确定由哪一个域名解析服务器来进行域名的解析。在文件中,可以有多条记录,每条记录通常包含两个字段;第一个字段是关键字;第二个字段是关键字的具体值,多个值之间用逗号分隔。关键字如下:
命令查看文件,其内容如下:
我们可以手动添加一个域名解析器:
1.5.host文件
为了便于记忆,在TCP/IP网络体系中,通常采用容易记忆的名字标识网络中的每一台主机。这就需要一种实现名字与地址进行转换的机制。在Ubuntu系统中,利用文件实现从名字到地址的转换是一种常见的方法。文件记录了主机名与IP地址之间的关系。一般情况下,hosts文件的每行为一个主机,每行由3部分组成,各部分间由空格隔开,其中,#开头的行为行为说明(注释),不被系统解释。
第一部分:网络IP地址
第二部分:主机名或域名
第三部分:主机名别名
可以用命令查看文件,其内容如下:
2.1.ifconfig命令
命令用于查看和更改网络接口的地址和参数,包括IP地址、网络掩码、广播地址,仅超级用户拥有使用权限。其语法格式如下:
主要参数如下:
- -interface:指定的网络接口名,如ens33
- up:激活指定的网络接口
- down:关闭指定的网络接口
- broadcast address:设置接口的广播地址
- pointtopoint:启用点对点方式
- address:设置指定接口设备的IP地址
- netmask address:设置接口的子网掩码
2.2.ping命令
命令测试主机网络是否通常,所有用户都拥有使用权限。其语法格式如下:
各选项及其作用:
命令单独使用时,使用Ctrl+C组合键结束该命令的执行。
2.3.netstat命令
命令用于检测网络端口连接情况,是控制TCP/IP网络的有效工具。其语法格式如下:
各选项及其作用:
- 单独使用该命令时检测网络端口连接情况:
- 显示所有连接信息:
2.4.ftp和bye命令
命令用于登录FTP服务器,该命令允许用于使用FTP进行文件传输,实现文件的上传和下载;命令用于从FTP服务器中退出。语法格式如下:
主机名/IP地址时要连接FTP服务器的主机名或IP地址。建立FTP服务器连接后,会提示输入用户名和密码。正确登陆后即可实现文件的上传和下载。这一命令执行成功后,将从FTP服务器上得到“FTP>”的提示符。
FTP服务器的搭建详见第九章。
2.5.telent和logout命令
- telent命令
命令允许用户使用Telent协议在远程计算机之间进行通信,用户可以通过网络在远程计算机上登录,就像登录到本地主机上执行命令一样。telnet是一个Linux命令,也是一个远程登录的协议。其语法格式如下:
常用选项及作用如下:
- logout命令
当用户不再需要远程会话时,需要使用命令退出远程系统,并返回本地主机的Shell提示符下。语法格式为:
2.6.rlogin命令
命令用于远程登录。它是remote login的缩写,该命令和命令很相似,允许用户启动远程系统上的交互命令会话。其语法格式如下:
2.7.route命令
route命令用于手工产生、修改和查看路由表。语法格式如下:
各选项及作用如下:
命令用来查看和设置Linux的路由信息,以实现与其他网络的通信,要实现两个网络之间的通信,需要一台谅解两个网络的路由器或者同时位于两个网络中的网关来实现。
**示例:**使用下面的命令增加一个默认路由:
增加后可以使用或命令查看Linux系统的路由信息。
2.8.finger命令
命令用来查询一台主机上的登录账号的信息,通常会显示用户名、主目录、停滞时间、登录时间、登录Shell等信息。所有用户均拥有使用权限。语法格式如下:
各选项及作用如下:
如果要查询远程机上的用户信息,需要在用户名后面接"@主机名",采用"用户名@主机名"的格式,不过要查询的网络主机需要运行守护进程。
2.9.mail命令
命令的作用是发送电子邮件,所有用户均有使用权限,此外,还是一个电子邮件程序。语法格式如下:
选项及作用如下:
`shell
mail [-s 主题] [-c 地址] [-b 地址] mail -f [邮箱] mail [-u 用户]