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

简介: (*长期更新)软考网络工程师学习笔记——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停止:

1667143133593.jpg


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

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


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

1667143153390.jpg


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

1667143170930.jpg

Linux中的ping 命令:

1667143179608.jpg


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:

1667143205698.jpg

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

1667143215155.jpg


二、*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终端中输入命令:

1667143240121.jpg

2、交互式

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

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


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

1667143266591.jpg

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

1667143275900.jpg


三、ifconfig 命令


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

该命令的一般格式如下:

ifconfig [-option] name


(一)查看网络接口状态


1、查看当前网络接口状态

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

[yyx329@192 ~]$ ifconfig


在Linux终端中输入命令:

1667143316504.jpg

2、查看单个网络接口状态

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

ifconfig Network-Interface


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

[yyx329@192 ~]$ ifconfig ens33


在Linux终端中输入命令:

1667143342415.jpg

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


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

[yyx329@192 ~]$ ifconfig -a


在Linux终端中输入命令:

1667143367118.jpg


(二)配置网络接口


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终端中输入命令:

1667143407486.jpg

再打开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网络接口的变化:

1667143451259.jpg


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终端中输入命令:

1667143521959.jpg

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

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


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

1667143553521.jpg

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

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


在Linux终端中输入命令:

1667143571228.jpg

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

[yyx329@192 ~]$ netstat -s


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

1667143586557.jpg

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

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


在Linux终端输入命令:

1667143609236.jpg


五、route 命令


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

route [-opation] target


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

[yyx329@192 ~]$ route

1667143651166.jpg

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

1667143670226.jpg

名称 解释
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中输入命令:

1667144029167.jpg

例如下列命令,服务器到达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终端输入命令:

1667144040956.jpg


六、traceroute 命令


Linux中的traceroute 命令与Windows的tracert命令类似,用于确定IP数据包访问目标所采取的路径(数据包从源主机到达目的主机的中间路径),通过 IP 生存时间 (TTL)字段和 ICMP 错误消息来确定。

1、该命令不带参数时,例如显示到达CSDN www.csdn.net的数据包路由采取的中间路径,如下命令:

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


在Linux中输入命令:

1667144051750.jpg

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中输入命令:

1667144069025.jpg

相关文章
|
1天前
|
运维 关系型数据库 MySQL
day03-Linux运维-Xshell优化和Linux系统命令入门(2)
day03-Linux运维-Xshell优化和Linux系统命令入门(2)
day03-Linux运维-Xshell优化和Linux系统命令入门(2)
|
1天前
|
运维 Linux Shell
day03-Linux运维-Xshell优化和Linux系统命令入门(1)
day03-Linux运维-Xshell优化和Linux系统命令入门(1)
day03-Linux运维-Xshell优化和Linux系统命令入门(1)
|
1天前
|
运维 程序员 Linux
运维最全Linux 基本防火墙设置和开放端口命令,2024年最新程序员如何自我学习和成长
运维最全Linux 基本防火墙设置和开放端口命令,2024年最新程序员如何自我学习和成长
|
1天前
|
运维 Ubuntu 安全
运维最全linux 命令行操作串口_linux串口命令(2),2024年最新Linux运维源码的Binder权限是如何控制
运维最全linux 命令行操作串口_linux串口命令(2),2024年最新Linux运维源码的Binder权限是如何控制
运维最全linux 命令行操作串口_linux串口命令(2),2024年最新Linux运维源码的Binder权限是如何控制
|
1天前
|
运维 Linux Perl
运维最全linux 命令行操作串口_linux串口命令(1),21年Linux运维面经分享
运维最全linux 命令行操作串口_linux串口命令(1),21年Linux运维面经分享
运维最全linux 命令行操作串口_linux串口命令(1),21年Linux运维面经分享
|
1天前
|
消息中间件 运维 Linux
运维最全Linux 命令大全之scp命令_linux scp 指令(1),2024年最新从消息中间件看分布式系统的多种套路
运维最全Linux 命令大全之scp命令_linux scp 指令(1),2024年最新从消息中间件看分布式系统的多种套路
|
1天前
|
Linux Shell
Linux下su与su -命令的本质区别_6、用su命令和su -切换账户时,两个命令有什么区别 (1)
Linux下su与su -命令的本质区别_6、用su命令和su -切换账户时,两个命令有什么区别 (1)
Linux下su与su -命令的本质区别_6、用su命令和su -切换账户时,两个命令有什么区别 (1)
|
1天前
|
Linux Shell C语言
linux下configure,make(makefile),cmake命令详解-makefile和CMakeList
linux下configure,make(makefile),cmake命令详解-makefile和CMakeList
|
2天前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是强大操作系统,提供众多命令行工具,如安装登录(login, shutdown, install)、文件处理(file, mkdir, grep)和系统管理(df, top, kill)。此外,还包括网络操作(ifconfig, ping, telnet)和安全相关(passwd, su, chmod)命令。了解这些基础命令对于有效管理Linux系统至关重要。详细信息和特定用法可能因版本差异而变化,建议查阅相关文档。
194 2
|
3天前
|
NoSQL Linux Shell
Linux MongoDB重启命令
【5月更文挑战第8天】