(*长期更新)软考网络工程师学习笔记——Section 13 Linux网络配置命令

Posted 晚风(●•σ )

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(*长期更新)软考网络工程师学习笔记——Section 13 Linux网络配置命令相关的知识,希望对你有一定的参考价值。

目录

一、*ping 命令

Linux中的ping 命令与Windows中的ping 命令一样,其作用和用法是一样的,该命令用于检测主机,测试网络连接量(测试网络的连通性),其原理是ICMP(Internet 报文控制协议)。

ping 是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送一个 ICMP Echo 请求报文,接收请求的目的主机使用ICMP发回其接收数据一样的数据,这时ping就对每个包的发送和接收报告往返时间,并报告无响应包的百分比,这在确定网络是否正确连接以及网络连接的状况(丢失率)很有用。

该命令可带参数,后跟主机名称或IP地址,ping 命令的格式如下:

ping [-option] hostname/IP address

1、例如通过ping命令测试到百度的网络的连通性,ping 命令不带任何参数:

[yyx329@192 ~]$ ping www.baidu.com

在Linux终端中输入命令,它会一直测试,直到用户通过CTRL+C停止:

2、可以通过在ping 命令后加参数-c,后跟数值,即可设置测试完成要求回应的次数,例如通过ping命令测试到百度的网络的连通性,测试次数为3次:

[yyx329@192 ~]$ ping -c 3 www.baidu.com

在Linux终端中输入命令,可看到完成三次测试后自动退出:

Linux中的ping与Windows有些不一样,Linux系统会一直测试,直到用户通过CTRL+C停止从而得到相应的测试结果,Windows中的ping 命令:

Linux中的ping 命令:

3、一般常用的ping 命令是这种格式:发送周期为X秒,大小为Y包,另设置其TTL值为Z(TTL为生存时间)。
(1)发送周期通过参数 -i设置,周期以s为单位;
(2)发送包大小通过参数 -s设置,大小为byte;
(3)TTL的值通过参数 -t设置。
例如通过ping命令测试到百度的网络的连通性,发送周期为3秒,测试次数为5次,包的大小为255byte,TTL值为255:

[yyx329@192 ~]$ ping -i 3 -c 5 -s 255 -t 255 www.baidu.com

在Linux终端中输入命令,每次发送包的间隔时间为3s:

ping 命令显示的结果中各项含义如下(以上例为例):

二、*nslookup 命令

nslookup 命令用于查询域名信息,诊断域名系统(在网络故障时诊断网络问题),在Linux中它与Windows中的该命令的作用和用法是一样的。
该命令可带参数,后跟主机名称或IP地址,ping 命令的格式如下:

ping [-option] hostname [dns-server]

该命令有两种方式进行查询,分别是交互式和非交互式,简单的来说也就是一种方式可以实现单次查询【非交互式】,另一种方式可以实现多次的连续查询【交互式】(交换式查询时若想退出可通过exit 命令退出),这两种方式Linux与Windows都可以使用。
1、非交互式
例如通过nslookup 命令非交互式不带参数查询到百度www.baidu.com,使用的是系统默认的DNS服务器,实现单次查询:

[yyx329@192 ~]$ nslookup www.baidu.com

在Linux终端中输入命令:

2、交互式
例如通过nslookup 命令交互式不带参数查询到百度 www.baidu.com以及CSDN www.csdn.net,使用的是系统默认的DNS服务器,实现多次查询:

[yyx329@192 ~]$ nslookup
> www.baidu.com
...
> www.csdn.net
...
> exit

在Linux终端中输入命令,最后通过exit命令退出:

通过nslookup 查询出的结果中各项含义如下(以交互式中查询百度为例):

三、ifconfig 命令

Linux中的ifconfig 命令除了用于查看、配置、启用或禁用网络接口显示当前的TCP/IP网络配置,还可以配置网络接口的IP地址、掩码、广播地址、网关等
该命令的一般格式如下:

ifconfig [-option] name

(一)查看网络接口状态

1、查看当前网络接口状态
不带任何参数,直接通过ifconfig 命令查看主机当前网络接口状态,如下:

[yyx329@192 ~]$ ifconfig

在Linux终端中输入命令:

2、查看单个网络接口状态
可以通过在ifconfig 命令后跟网络接口名称直接查看单个网络接口状态,格式如下:

ifconfig Network-Interface

例如查看网络接口ens33的状态,命令如下:

[yyx329@192 ~]$ ifconfig ens33

在Linux终端中输入命令:

3、查看所有网络接口状态

若想通过ifconfig 命令查看主机的所有网络接口状态,可以通过参数-a

[yyx329@192 ~]$ ifconfig -a

在Linux终端中输入命令:

(二)配置网络接口

1、开启/关闭相关的网络接口
通过ifconfig 命令开启/关闭相关的网络接口,在相应的网络接口后跟up/down(开启/关闭),它的格式如下:

ifconfig Network-Interface up/down

例如关闭网络接口ens33,需在root权限下执行该操作,否则系统会报错,如下命令:

[yyx329@192 ~]$ ifconfig ens33 down
...
[yyx329@192 ~]$ su root
...
[root@192 yyx329]# ifconfig ens33 down
[root@192 yyx329]# ifconfig 

在Linux终端中输入命令:

再打开ens33网络接口:

[root@192 yyx329]# ifconfig ens33 up

ifdown 命令和ifup 命令

ifdown 命令和ifup 命令相当于ifconfig 命令中的up/down,其作用也是开启/关闭相关的网络接口,它们分别指向/sbin/ifup和/sbin/ifdown的符号连接,这两个命令也是一样在root权限下才能使用,如下:

[yyx329@192 ~]$ ifdown ens33
..
[yyx329@192 ~]$ su root
..
[root@192 yyx329]# ifconfig ens33
..
[root@192 yyx329]# ifdown ens33
..
[root@192 yyx329]# ifconfig ens33
..
[root@192 yyx329]# ifup ens33

在Linux终端中输入命令,可看到使用命令前后ens33网络接口的变化:

2、配置网络接口
通过ifconfig 命令可以配置网络接口的IP地址、掩码地址、网关、物理地址等等,其格式如下,依次配置的是物理地址hw、IP地址、广播地址broadcast、掩码地址netmask:

ifconfig Network-Interface [hw] ether Mac-address IP-address [broadcast] broadcast-address [netmask] mask-address

例如配置ens33网络接口,首先关闭该接口,然后配置它的IP地址为192.168.1.124、广播地址为192.168.1.255和掩码为255.255.255.0,配置好后再打开接口,如下命令:

[yyx329@192 ~]$ su root
[root@192 yyx329]# ifdown ens33
..
[root@192 yyx329]# ifconfig ens33 192.168.1.124 broadcast 192.168.1.255 netmask 255.255.255.0
...
[root@192 yyx329]# ifup ens33

(三)配置虚拟网络接口

Linux允许配置虚拟网络接口,也就是为一个网络接口指定多个IP地址,其格式为eth0:0,eth0:1,eth0:2,…,eth0:N,其中配置物理地址、IP地址、广播地址、掩码与配置网络接口一样。

四、netstat 命令

netstat 命令用于显示路由表、实际的网络连接、网络接口的状态以及协议相关的统计数据,即显示网络状态
该命令后跟的常用参数如下表:

参数作用
-a显示所有网络状况
-r显示路由表(与route命令结果一样)
-n直接使用IP地址,而不通过域名服务器
-t显示TCP协议的连线状况
-u显示UDP协议的连线状况
-s显示网络统计信息
-i显示网卡列表信息
-l显示监听的套接口

(1)例如通过该命令显示所有网络状况,如下命令:

[yyx329@192 ~]$ netstat -a

在Linux终端中输入命令:

(2)例如通过netstat 命令和route 命令显示路由表,如下:

[yyx329@192 ~]$ netstat -r
...
[yyx329@192 ~]$ route
...

在Linux终端中输入命令,可看出两个命令的输出结果是一样的:

(3)例如通过该命令显示TCP协议和UDP协议的连线状况:

[yyx329@192 ~]$ netstat -t  
...
[yyx329@192 ~]$ netstat -u
...

在Linux终端中输入命令:

(4)例如通过该命令显示网络统计信息:

[yyx329@192 ~]$ netstat -s

在Linux终端输入命令,可看出有各种协议的统计信息(如IP、ICMP、TCP、UDP等):

(5)例如通过该命令显示网卡列表信息(netstat -i)和监听的套接口信息(netstat -l):

[yyx329@192 ~]$ netstat -i
...
[yyx329@192 ~]$ netstat -l
...

在Linux终端输入命令:

五、route 命令

route 命令用于显示和设置路由表,其格式为:

route [-opation] target

1、route 命令不带参数时显示系统当前的路由信息,例如:

[yyx329@192 ~]$ route


其中栏目中的含义如下(以第一行为例):

名称解释
Destination目标网络地址或主机
Gateway网关
Genmask掩码
Flags标识位
Metric跳数
Ref引用次数
Use被路由软件查询的次数
Iface网络接口

(1)Destination:路由表条目中目标网络地址,若一个IP数据包的目的地址是目标列中的某个网络范围,则该数据包会按此路由表条目进行路由
(2)Gateway:网关,通常用“*”或默认网关地址表示,*表示目标网络就是主机接口所在的网络,从而不需要路由;默认网关则将所有去往非本地的流量都发送到一个指定的IP地址
(3)Genmask:掩码,用于子网划分,与IP地址结合使用,将IP地址划分成网络地址和主机地址两部分。
(4)Flags:信息标识用于表明路由的状态,共9个,常用的标识有以下:

标识名称路由状态
U路由已启动
H目标网络为一个主机
G路由经过网关转发
R使用动态路由时,恢复路由的标识
D由服务功能设定的动态路由
M路由已被修改
!路由不会被接收

(5)Metric:到达指定网络所需的跳数
(6)Ref:该路由的引用次数
(7)Use:路由器被路由软件查询的次数
(8)Iface:到指定网络的数据包所发送到的网络接口
2、route 命令后跟参数,它的基本参数有:

参数作用
add添加路由
del删除路由
-net表明路由到达的是一个网络,而不是一台主机
-host表明路由达到的是一台主机
netmask [mask]指定目标网络的子网掩码
gw指定路由使用的网关
dev [Iface]指定路由使用的网络接口

例如下列命令,添加到主机的路由,其IP地址为192.168.75.3,其网络接口为ens33,然后删除该路由:

[yyx329@192 ~]$ su root
...
[root@192 yyx329]# route
...
[root@192 yyx329]# route add -host 192.168.75.3 dev ens33
[root@192 yyx329]# route
...
[root@192 yyx329]# route del -host 192.168.75.3 dev ens33

在Linux中输入命令:

例如下列命令,服务器到达172.28.27.0/24的网络通过一个地址为172.28.3.254的路由器,添加一个静态路由:

[yyx329@192 ~]$ su root
...
[root@192 yyx329]# route add -net 172.28.27.0 netmask 255.255.255.0 gw 172.28.3.254

若添加一条默认路由,如下命令:

[yyx329@192 ~]$ su root
...
[root@192 yyx329]# route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.28.3.254

例如添加一个网关IP地址为224.0.0.0,掩码为240.0.0.0,网络接口为ens33,命令如下:

[yyx329@192 ~]$ route
...
[yyx329@192 ~]$ su root
...
[root@192 yyx329]# route add -net 224.0.0.0 netmask 240.0.0.0 dev ens33
[root@192 yyx329]# route
...

在Linux终端输入命令:

六、traceroute 命令

Linux中的traceroute 命令与Windows的tracert命令类似,用于确定IP数据包访问目标所采取的路径(数据包从源主机到达目的主机的中间路径),通过 IP 生存时间 (TTL)字段和 ICMP 错误消息来确定。
1、该命令不带参数时,例如显示到达CSDN www.csdn.net的数据包路由采取的中间路径,如下命令:

[yyx329@192 ~]$ traceroute www.csdn.net

在Linux中输入命令:

2、traceroute命令后跟参数有以下常用参数:
(1)该命令带参数-i后跟网络接口时,指定使用的网络接口发送数据包;
(2)带参数-q时后跟数值设置检测数据包的个数;
(3)带参数-m后跟数值设置跳数(检测数据包的最大存活数值TTL的大小);
(4)带参数-t后跟数值设置检测数据包的TOS数值;
(5)带参数-w后跟时间设置等待远端主机回报的时间;
(6)带参数-s后跟IP地址表示本地主机送出数据包的IP地址;
(7)命令后跟参数-r可忽略普通的路由表,直接将数据包送到远端主机上;
(8)后跟参数-n可直接使用IP地址,而非主机名称。
如下命令:

[yyx329@192 ~]$ traceroute -q 5 -m 6 www.csdn.net

在Linux中输入命令:

以上是关于(*长期更新)软考网络工程师学习笔记——Section 13 Linux网络配置命令的主要内容,如果未能解决你的问题,请参考以下文章

(*长期更新)软考网络工程师学习笔记——Section 2 数字传输系统

(*长期更新)软考网络工程师学习笔记——Section 17 交换技术原理

(*长期更新)软考网络工程师学习笔记——Section 13 Linux网络配置命令

(*长期更新)软考网络工程师学习笔记——Section 6 网络层上篇

(*长期更新)软考网络工程师学习笔记——Section 9 应用层

*(长期更新)软考网络工程师学习笔记——Section 20 路由技术原理