CentOS 7.5系统管理与运维实战
上QQ阅读APP看书,第一时间看更新

3.2 网络管理命令

在进行网络配置之前首先需要了解网络管理命令的使用,本节主要介绍网络管理中常用的命令。

3.2.1 检查网络是否通畅或网络连接速度ping

ping常常用来测试与目标主机或域名是否可达,通过发送ICMP数据包到网络主机、显示响应情况以及输出信息来确定目标主机或域名是否可达。ping的结果通常情况下是可信的,由于有些服务器可以设置禁止ping,从而使ping的结果并不是完全可信的。ping命令常用的参数说明如表3.1所示。

Linux下ping不会自动终止,需要按“Ctrl+c”组合键终止或用参数“-c”指定要求完成的回应次数。

表3.1 ping命令常用参数说明

ping常见的用法如【示例3-1】所示。

【示例3-1】

除了以上示例,ping的各个参数还可以结合使用,读者可上机加以练习。

3.2.2 配置网络或显示当前网络接口状态ifconfig

ifconfig命令可以用于查看、配置、启用或禁用指定网络接口,如配置网卡的IP地址、掩码、广播地址、网关等,Windows类似的命令为ifconfig。语法如下:

     #ifconfig interface [[-net -host] address [parameters]]

其中,interface是网络接口名,address是分配给指定接口的主机名或IP地址。-net和-host参数分别告诉ifconfig将这个地址作为网络号或是主机地址。与之前版本的网卡命名规则不同,CentOS 7.5采用固件信息、网络拓扑等信息来命名网卡,这种方法更易于固定网卡的名称。Linux系统中的网卡lo为本地环回接口,IP地址固定为127.0.0.1,子网掩码为8位,表示本机。ifconfig常见的使用方法如【示例3-2】所示。

【示例3-2】

说明:

  • 第1行:UP表示此网络接口为启用状态,RUNNING表示网卡设备已连接,MULTICAST表示支持组播,mtu为数据包最大传输单元。
  • 第2行:依次为网卡IP、子网掩码、广播地址。
  • 第3行:IPv6地址。
  • 第4行:Ethernet(以太网)表示连接类型,ether为网卡的MAC地址。
  • 第5行:接收数据包个数、大小统计信息。
  • 第6行:异常接收包的数量,如丢包量、错误等。
  • 第7行:发送数据包个数、大小统计信息。
  • 第8行:发送包的数量,如丢包量、错误等。

如果第6行和第8行中的丢包量、错误包量较高,通常表示物理链路存在问题,例如网线干扰过大、距离太长等。

设置IP地址使用以下命令:

     #设置网卡IP地址
     [root@CentOS ~]# ifconfig ens33:1 192.168.100.100 netmask 255.255.255.0 up

设置完后使用ifconfig命令查看,可以看到两个网卡信息,分别为ens33和ens33:1。若继续设置其他IP,可以使用类似的方法,如【示例3-3】所示。

【示例3-3】

除以上功能外,ifconfig还可以设置网卡的MTU。以上的设置会在重启后丢失,如需重启后依然生效,可以通过设置网络接口文件永久生效。更多使用方法可以参考系统帮助man ifconfig。

提示

在CentOS和RHEL中使用命令ifup和ifdown加网络接口名,可以启用、禁用对应的网络接口。

3.2.3 显示添加或修改路由表route

route命令用于查看或编辑计算机的IP路由表。route命令的语法如下:

     route [-f] [-p] [command] [destination] [mask netmask] [gateway] [metric][ [dev]
If ]

参数说明:

  • command:指定想要进行的操作,如add、change、delete、print。
  • destination:指定该路由的网络目标。
  • mask netmask:指定与网络目标相关的子网掩码。
  • gateway:网关。
  • metric:为路由指定一个整数成本指标,当路由表的多个路由进行选择时可以使用。
  • dev if:为可以访问目标的网络接口指定接口索引。

route使用方法如【示例3-4】所示。

【示例3-4】

3.2.4 复制文件至其他系统scp

本地主机需要和远程主机进行数据迁移或文件传送时,可以使用ftp,或搭建Web服务,另外可选的方法有scp或rsync。scp可以将本地文件传送到远程主机或从远程主机拉取文件到本地。其一般语法如下所示,注意由于各个发行版不同,scp语法不尽相同,具体使用方法可查看系统帮助。

     scp [-1245BCpqrv] [-c cipher] [F SSH_config] [-I identity_file] [-l limit] [-o
SSH_option] [-P port] [-S program] [[user@]host1:] file1 […] [[suer@]host2:]file2

scp命令执行成功返回0,失败或有异常时返回大于0的值,常用参数说明如表3.2所示。

表3.2 scp命令常用参数说明

scp使用方法如【示例3-5】所示。

【示例3-5】

3.2.5 复制文件至其他系统rsync

rsync是Linux系统下常用的数据镜像备份工具,用于在不同的主机之间同步文件。除了单个文件,rsync可以镜像保存整个目录树和文件系统,并可以增量同步,并保持文件原来的属性,如权限、时间戳等。rsync数据传输过程中是加密的,保证数据的安全性。

rsync命令语法如下:

    Usage: rsync [OPTION]... SRC [SRC]... DEST
      or   rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
      or   rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
      or   rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
      or   rsync [OPTION]... [USER@]HOST:SRC [DEST]
      or   rsync [OPTION]... [USER@]HOST::SRC [DEST]
      or   rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

OPTION可以指定某些选项,如压缩传输、是否递归传输等,SRC为本地目录或文件,USER和HOST表示可以登录远程服务的用户名和主机,DEST表示远程路径。rsync常用参数如表3.3所示。由于参数众多,这里只列出某些有代表性的参数。

表3.3 rsync命令常用参数说明

rsync使用方法如【示例3-6】所示。

【示例3-6】

rsync具有增量传输的功能,利用此特性可以用来做文件的增量备份。通过rsync可以解决对实时性要求不高的数据备份需求。随着文件增多,rsync做数据同步时,需要扫描所有文件后进行对比,然后进行差量传输。如果文件很多,扫描文件是非常耗时的,使用rsync反而比较低效。

提示

使用rsync之前需要做一些简单的配置,读者可自行参考相关文档了解。

3.2.6 显示网络连接、路由表或接口状态netstat

netstat命令用于监控系统网络配置和工作状况,可以显示内核路由表、活动的网络状态以及每个网络接口有用的统计数字。常用的参数如表3.4所示。

表3.4 netstat命令常用参数说明

netstat常见使用方法如【示例3-7】所示。

【示例3-7】

netstat工具是运维工程师最常用的工具之一,经常被用来查看主机网络状态、监听列表等,因此需要掌握好此工具的使用方法。

3.2.7 探测至目的地址的路由信息traceroute

traceroute跟踪数据包到达网络主机所经过的路由,原理是试图以最小的TTL发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。使用语法如下:

     traceroute [-m Max_ttl] [-n ] [-p Port] [-q Nqueries] [-r] [-s SRC_Addr]
     [-t TypeOfService] [-v] [-w WaitTime] Host [PacketSize]

常用参数如表3.5所示。

表3.5 traceroute命令常用参数说明

traceroute常用操作如【示例3-8】所示。

【示例3-8】

以上示例每行记录对应一跳,每跳表示一个网关,每行有3个时间,单位是ms,如域名不通或主机不通可根据显示的网关信息定位。星号表示ICMP信息没有返回,以上示例访问www.mysql.com时不通,数据包到达某一节点时没有返回,可以将此结果提交IDC运营商,以便于解决问题。

traceroute实际上是通过给目标机的一个非法UDP端口号发送一系列UDP数据包来工作的。使用默认设置时,本地机给每个路由器发送3个数据包,最多可经过30个路由器。如果已经经过了30个路由器,但还未到达目标机,那么traceroute将终止。每个数据包都对应一个Max_ttl值,同一跳步的数据包该值一样,不同跳步的数据包的值从1开始,每经过一个跳步值加1。当本地机发出的数据包到达路由器时,路由器就响应一个ICMPTimeExceed消息,于是traceroute就显示出当前跳步数、路由器的IP地址或名字、3个数据包分别对应的周转时间(以ms为单位)。如果本地机在指定的时间内未收到响应包,那么在数据包的周转时间栏就显示出一个星号。当一个跳步结束时,本地机根据当前路由器的路由信息,给下一个路由器发出3个数据包,周而复始,直到收到一个ICMPPORT_UNREACHABLE的消息,意味着已到达目标机,或已达到指定的最大跳步数。

3.2.8 测试、登录或控制远程主机telnet

telnet命令通常用来远程登录。telnet程序是基于TELNET协议的远程登录客户端程序。TELNET协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式,为用户提供了在本地计算机上完成远程主机工作的能力。在客户端可以使用telnet在程序中输入命令,可以在本地控制服务器。由于telnet采用明文传送报文,因此安全性较差。telnet可以确定远程服务端口的状态,以便确认服务是否正常。telnet常用方法如【示例3-9】所示。

【示例3-9】

     #检查对应服务是否正常
     [root@CentOS Packages]# telnet 192.168.3.100 56789
     Trying 192.168.3.100...
     Connected to 192.168.3.100.
     Escape character is '^]'.
     @RSYNCD: 30.0
     as
     @ERROR: protocol startup error
     Connection closed by foreign host.
     [root@CentOS local]#  telnet www.php.net 80
     Trying 69.147.83.199...
     Connected to www.php.net.
     Escape character is '^]'.
     test
     #部分结果省略
     </html>Connection closed by foreign host.

如果发现端口可以正常telnet登录,就表示远程服务正常。除确认远程服务是否正常外,对于提供开放telnet功能的服务,使用telnet可以登录远程端口,输入合法的用户名和口令后,就可以进行其他工作了。更多的使用帮助可以查看系统帮助。

3.2.9 下载网络文件wget

wget类似Windows中的下载工具,大多数Linux发行版本都默认包含此工具。用法比较简单,如要下载某个文件,可以使用以下命令:

     #使用语法为wget [参数列表] [目标软件、网页的网址]
     [root@CentOS data]# wget  http://ftp.gnu.org/gnu/wget/wget-1.14.tar.gz

wget常用参数说明如表3.6所示。

表3.6 wget命令常用参数说明

wget具有强大的功能,比如断点续传,可同时支持FTP或HTTP协议下载,并可以设置代理服务器。常用方法如【示例3-10】所示。

【示例3-10】

wget其他用法可参考系统帮助,其功能等待慢慢探索。