第八章 网络基本配置与应用

第八章 网络基本配置与应用

​ Linux操作系统时随着计算机网络技术的发展而产生并发展的,因此其网络功能也十分强大。Ubuntu系统作为Linux的一种具体实现,同样集成了Linux强大的网络功能,并且也只有在网络环境下才能充分发挥Ubuntu系统的全部功能。

1.网络的基本配置

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张图片

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类被留作将来使用。

第八章 网络基本配置与应用_第2张图片

第八章 网络基本配置与应用_第3张图片

​ 有特殊用途的IP地址及说明:

第八章 网络基本配置与应用_第4张图片

​ 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中可以通过ifconfig命令或图形化界面中“网络设置”来配置网络。对于Linux而言,查看和设置网卡IP地址等信息的命令是ifconfig。在终端中不带参数的ifconfig命令将显示当前网卡信息:

第八章 网络基本配置与应用_第5张图片

​ 上图中网卡有两个:ens33和lo,ens33是物理网卡,lo是虚拟的loopback接口设备。系统管理员完成网络规划之后,为了方便管理,会为每一台路由器创建一个loopback接口,并在该接口上单独指定一个IP地址作为管理地址,系统管理员会使用该地址对路由器进行远程登录,该地址实际上起到了类似于设备名称的功能。

​ 要修改网卡的IP地址,可以采用ifconfig命令,其格式如下:

ifconfig 设备名称 IP地址  netmask子网掩码

​ 例如修改ens33的网卡IP为192.168.80.128:

sudo ifconfig ens33 192.168.80.128 netmask 255.255.255.0

​ 修改完成后,再次输入ifconfig命令,ens33网卡的IP变为192.168.80.128:

第八章 网络基本配置与应用_第6张图片

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),也叫国际顶级域名。这也是使用最早也最广泛的域名,例如标识工商企业的.com、标识网络提供商的.net、标识非盈利组织的.org等。

​ 二是国内域名,又称为国内顶级域名(national Top-level Domain-names,nTDs),即按照国家不同分配不同的后缀,这些域名即为国家和地区的顶级域名。目前有超过200个国家和地区按照ISO3166国家代码分配了顶级域名,例如,中国是.cn,美国是.us日本是.jp等。

​ 在Ubuntu系统中,DNS配置信息保存在/etc/resolv.conf文件中,其主要用途是确定由哪一个域名解析服务器来进行域名的解析。在/etc/resolv.conf文件中,可以有多条记录,每条记录通常包含两个字段;第一个字段是关键字;第二个字段是关键字的具体值,多个值之间用逗号分隔。关键字如下:

关键字 说明
nameserver 用于指定DNS服务器的IP地址。每个nameserver对应一个DNS服务器。可以有多个nameserver,每个单独占据一行,但一般不超过3个(依据MAXNS变量)
domain 用于指定默认情况下使用的本地域名
search 用于指定执行地址查询时使用的域名检索表,默认情况下为本地域名

cat命令查看/etc/resolv.con文件,其内容如下:

# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "resolvectl status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 127.0.0.53
options edns0 trust-ad
search localdomain

​ 我们可以手动添加一个域名解析器:

nameserver 8.8.8.8

1.5.host文件

​ 为了便于记忆,在TCP/IP网络体系中,通常采用容易记忆的名字标识网络中的每一台主机。这就需要一种实现名字与地址进行转换的机制。在Ubuntu系统中,利用/etc/hosts文件实现从名字到地址的转换是一种常见的方法。/etc/hosts文件记录了主机名与IP地址之间的关系。一般情况下,hosts文件的每行为一个主机,每行由3部分组成,各部分间由空格隔开,其中,#开头的行为行为说明(注释),不被系统解释。

​ 第一部分:网络IP地址

​ 第二部分:主机名或域名

​ 第三部分:主机名别名

​ 可以用cat命令查看/etc/hosts文件,其内容如下:

127.0.0.1       localhost
127.0.1.1       abc

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

2.Linux常用网络命令

2.1.ifconfig命令

ifconfig命令用于查看和更改网络接口的地址和参数,包括IP地址、网络掩码、广播地址,仅超级用户拥有使用权限。其语法格式如下:

ifconfig -interface [option] address

​ 主要参数如下:

  • -interface:指定的网络接口名,如ens33
  • up:激活指定的网络接口
  • down:关闭指定的网络接口
  • broadcast address:设置接口的广播地址
  • pointtopoint:启用点对点方式
  • address:设置指定接口设备的IP地址
  • netmask address:设置接口的子网掩码

第八章 网络基本配置与应用_第7张图片

2.2.ping命令

ping命令测试主机网络是否通常,所有用户都拥有使用权限。其语法格式如下:

ping [选项] 主机名或IP地址

​ 各选项及其作用:

选项 作用
-c 设置完成要求回应的次数,ping命令反复发出信息,直到达到设定的次数为止,如:ping -c 6 www.baidu.com
-d 使用Socket的SO_DEBUG功能
-f 极限检测
-i 指定手法信息的间隔时间,单位为秒,预设为1s
-s byte 设置数据包的大小,预设56B,加上8B ICMP的文件头,共64B
-R 记录路由过程
-r 忽略普通路由表,直接将数据包送到远端主机上
-p 设置填满数据包的范本样式
-q 不显示命令的执行过程,只显示结果
-t 设置存货数值TTL的大小
-v 详细显示命令的执行过程,包括非回应信息的其他信息

ping命令单独使用时,使用Ctrl+C组合键结束该命令的执行。

第八章 网络基本配置与应用_第8张图片

2.3.netstat命令

netstat命令用于检测网络端口连接情况,是控制TCP/IP网络的有效工具。其语法格式如下:

netstat [选项]

​ 各选项及其作用:

选项 作用
-a 显示所有有效的连接信息,包括已经建立的连接和正在监听的连接
-r 显示路由信息
-i 显示网络接口的信息
-n 使用网络IP地址代替名称,显示网络的连接情况
-o 显示计时器
-h 在线帮助
-c 持续列出网络状态
-t 显示TCP的连接情况
-u 显示UDP的连接情况
-v 显示指令执行过程
-w 显示RAW传输协议的连接情况
  • 单独使用该命令时检测网络端口连接情况:

第八章 网络基本配置与应用_第9张图片

  • 显示所有连接信息:
netstat -a

2.4.ftp和bye命令

ftp命令用于登录FTP服务器,该命令允许用于使用FTP进行文件传输,实现文件的上传和下载;bye命令用于从FTP服务器中退出。语法格式如下:

ftp 主机名/IP地址

​ 主机名/IP地址时要连接FTP服务器的主机名或IP地址。建立FTP服务器连接后,会提示输入用户名和密码。正确登陆后即可实现文件的上传和下载。这一命令执行成功后,将从FTP服务器上得到“FTP>”的提示符。

​ FTP服务器的搭建详见第九章。

2.5.telent和logout命令

  • telent命令

telent命令允许用户使用Telent协议在远程计算机之间进行通信,用户可以通过网络在远程计算机上登录,就像登录到本地主机上执行命令一样。telnet是一个Linux命令,也是一个远程登录的协议。其语法格式如下:

telnet [选项] 主机名/IP地址

​ 常用选项及作用如下:

选项 作用
-a 尝试自动登录远程系统
-8 允许使用8位字符数据,包括输入与输出
-b 使用别名指定远程主机名称
-c 不读取用户专属目录里的.telentrc文件
-l 指定要登录远程主机的用户名
-n 指定文件记录相关信息
  • logout命令

当用户不再需要远程会话时,需要使用logout命令退出远程系统,并返回本地主机的Shell提示符下。语法格式为:

logout

2.6.rlogin命令

rlogin命令用于远程登录。它是remote login的缩写,该命令和tenet命令很相似,允许用户启动远程系统上的交互命令会话。其语法格式如下:

rlogin 主机名/IP地址

2.7.route命令

​ route命令用于手工产生、修改和查看路由表。语法格式如下:

route [add/del] [-net/-host] 目的主机 [netmask 子网掩码] [gw网关] [[dev]接口]

​ 各选项及作用如下:

选项 作用 选项 作用
add 增加一条路由 目的主机 目的网络或主机
del 删除一条路由 netmask 指定路由的子网掩码
-net 路由到达的是一个网络 gw网关 指定路由的网关
-host 路由到达的是一台主机 [dev]接口 为路由指定的网络接口

route命令用来查看和设置Linux的路由信息,以实现与其他网络的通信,要实现两个网络之间的通信,需要一台谅解两个网络的路由器或者同时位于两个网络中的网关来实现。

​ **示例:**使用下面的命令增加一个默认路由:

route add default gw 192.168.80.1

​ 增加后可以使用routeroute -n命令查看Linux系统的路由信息。

2.8.finger命令

finger命令用来查询一台主机上的登录账号的信息,通常会显示用户名、主目录、停滞时间、登录时间、登录Shell等信息。所有用户均拥有使用权限。语法格式如下:

finger [选项] [使用者] [用户名@主机]

​ 各选项及作用如下:

选项 作用
-s 显示用户注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息
-l 除了-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下的.plan,.project和.forward文件的内容
-p 除了不显示.plan和.project文件外,和-l选项相同

​ 如果要查询远程机上的用户信息,需要在用户名后面接"@主机名",采用"用户名@主机名"的格式,不过要查询的网络主机需要运行finger守护进程。

image-20230919165559148

2.9.mail命令

mail命令的作用是发送电子邮件,所有用户均有使用权限,此外,mail还是一个电子邮件程序。语法格式如下:

mail [-s 主题] [-c 地址] [-b 地址] mail -f [邮箱] mail [-u 用户]

​ 选项及作用如下:

选项 作用
-s 主题 指定输入信息的主题
-c 地址 表示输出信息的抄送收信人地址清单
-b 地址 表示输出信息的匿名收信人地址清单
-f [邮箱] 从收件箱者指定邮箱读取邮件
[-u 用户] 端口指定优化的收件箱读取邮件

`shell
mail [-s 主题] [-c 地址] [-b 地址] mail -f [邮箱] mail [-u 用户]


​	选项及作用如下:

| 选项      | 作用                             |
| --------- | -------------------------------- |
| -s 主题   | 指定输入信息的主题               |
| -c 地址   | 表示输出信息的抄送收信人地址清单 |
| -b 地址   | 表示输出信息的匿名收信人地址清单 |
| -f [邮箱] | 从收件箱者指定邮箱读取邮件       |
| [-u 用户] | 端口指定优化的收件箱读取邮件     |

你可能感兴趣的:(Linux,运维,网络,linux,服务器,运维)