在进行网络配置之前首先需要了解网络管理命令的使用,本节主要介绍网络管理中常用的命令。
ping常常用来测试与目标主机或域名是否可达,通过发送ICMP数据包到网络主机、显示响应情况以及输出信息来确定目标主机或域名是否可达。ping的结果通常情况下是可信的,由于有些服务器可以设置禁止ping,从而使ping的结果并不是完全可信的。ping命令常用的参数说明如表3.1所示。
Linux下ping不会自动终止,需要按“Ctrl+c”组合键终止或用参数“-c”指定要求完成的回应次数。
表3.1 ping命令常用参数说明
ping常见的用法如【示例3-1】所示。
【示例3-1】
除了以上示例,ping的各个参数还可以结合使用,读者可上机加以练习。
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】
说明:
如果第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加网络接口名,可以启用、禁用对应的网络接口。
route命令用于查看或编辑计算机的IP路由表。route命令的语法如下:
route [-f] [-p] [command] [destination] [mask netmask] [gateway] [metric][ [dev] If ]
参数说明:
route使用方法如【示例3-4】所示。
【示例3-4】
本地主机需要和远程主机进行数据迁移或文件传送时,可以使用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】
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之前需要做一些简单的配置,读者可自行参考相关文档了解。
netstat命令用于监控系统网络配置和工作状况,可以显示内核路由表、活动的网络状态以及每个网络接口有用的统计数字。常用的参数如表3.4所示。
表3.4 netstat命令常用参数说明
netstat常见使用方法如【示例3-7】所示。
【示例3-7】
netstat工具是运维工程师最常用的工具之一,经常被用来查看主机网络状态、监听列表等,因此需要掌握好此工具的使用方法。
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的消息,意味着已到达目标机,或已达到指定的最大跳步数。
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可以登录远程端口,输入合法的用户名和口令后,就可以进行其他工作了。更多的使用帮助可以查看系统帮助。
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其他用法可参考系统帮助,其功能等待慢慢探索。