Linux 下的网络管理(附加详细实验案例)
一、简单了解 NM(NetworkManager)
在 Linux 中,NM 是 NetworkManager 的缩写。它是一个用于管理网络连接的守护进程和工具集。
在 RHEL9 上,使用 NM 进行网络配置,ifcfg (也称为文件)将不再是网络配置文件的主存储。从 RHEL 9.0 开始,RHEL 以 key-file 格式在 /etc/NetworkManager/system-connections/ 中存储新的网络配置。配置以旧格式存储在 /etc/sysconfig/network-scripts/ 中的连接仍然可以正常工作。
查看 /etc/NetworkManager/system-connections/ 中的网络配置。
查看 /etc/sysconfig/network-scripts/ 中配置的旧格式。
NM 的特点:
| 管理各种网络 | NM 能够自动识别系统中的网络设备,如:以太网接口、有线网卡、无线网卡、物理网卡、虚拟网卡等,并根据预设的规则和可用的网络信息自动进行配置。 |
| 提供多种工具 | NM 提供了图形化界面和命令行工具,如:命令行、文本界面、图形界面、web等,以满足不同用户的需求。 |
| 支持多连接类型 | NM 支持多种不同的网络连接类型,涵盖以太网、Wi - Fi、PPP 拨号、VPN 等。无论是家庭网络、办公网络,还是移动网络环境,NM 都能提供统一的管理方式,方便用户在不同网络间进行切换和配置 |
二、Linux 图形设定方式
通常配置IP,第一选择命令配置,第二选择文件配置,图形配置也是一种方式。一般在现实生产环境中,默认是没有 DHCP 的,需要自己手动配置。
1.图形方式配置 IP
1)配置前的准备
关闭 DHCP ,先在编辑中找到虚拟网络编辑器,选择VMnet8 ,关掉 DHCP,再点击应用和确定,才真正关掉了 DHCP。随后通过 ip a 命令查看,已没有 ip 地址。



确认 NetwoekManager 这个服务器是正在运行的,才能用图形配置 IP 地址。

2)图形配置
命令:nm-connection-editor
①打开图形命令,图形原本有 DHCP,需要删掉,选择 ens160 ,点击 - ,选择 Delete 删除。
②然后点击 + ,选择以太网,创建。
③进入到编辑网卡的界面,连接名称可随意取,最好与网卡名称相同,便于知道这个连接是控制网卡的。
④然后配置 ipv4,DHCP 是动态网络,IP 不固定,选择 Manual(静态网络),手动配置IP,网段与 Windows 服务器相同。最后保存,即配置成功。保存后便增加了刚刚配置的以太网。
⑤再次用 ip a 查看 IP ,便成功配置了刚刚设定的IP地址。

⑥打开虚拟网络编辑器,打开 DHCP ,点击应用和确定,并断开无线网,然后在 Windows 的终端用 ipconfig/all 的命令查看 VMnet8 自动配置的 IP 地址,为192.168.10.1。

![]()

⑦随后检测刚刚配置的 IP 地址与 Windows 的连通性,连通成功。
2.可视化配置 IP
命令:nmtui
若没有图形,可用文本图形配置。先将图形配置的 ens160 删掉,清除原本的 IP 地址。
![]()


①输入 init 3 ,接着输入账户和密码,再输入 nmtui 命令,进入TUI 界面。
![]()

②选择编辑连接,然后添加,选择以太网。

③进入到编辑连接界面,连接名称可任意取名,设备名称不能乱写,可以在进入网络设置前用 ip a 命令查询(有什么用什么)。
然后在 ipv4连接 那里选择 Manual 手动配置,展开 ipv4 的内容,配置 IP 地址为192.168.10.200/24,完成后相继选择 OK 、Back、OK 退出。

④最后 ip a 查询,可知成功配置 IP。

⑤回到终端,检测与 Windows 的连通性,连通成功。

三、Ping 命令
ping 用来检测网络的连通情况和分析网络速度,
命令格式:ping -参数 目标主机IP或域名
1.Ping 的参数
| c | 设定本命令发出的 ICMP 消息包的数量,若无此选项,则会无限次发送消息包,直到用户按 Ctrl+C 才终止命令。 |
| w | 设定命令等待多长时间终止命令 |
| i | 设定前后两次发送ICMP消息包之间的时间间隔,默认时间间隔为1秒,为了保障本机和目标主机的安全,一般时间间隔不小于0.2秒。 |
| s | 设置ping命令发出的消息包的大小,默认发送的测试数据大小为56字节,最大设置值为65507B |
| t | 设置存活时间 TTL(Time To Live) |
① ping -c 3 192.168.10.1:ping 3次后终止命令。

② ping -w 1 192.168.10.1:ping 1秒后终止命令。

③ ping -c 3 -w 1 192.168.10.1:ping 3次等待1秒,若1秒后没 ping 到3次,则终止命令,因此 -c 和 -w 同时使用时,需平衡一下,若等待时间不够,便 ping 不了想要 ping 的次数。

④ ping -c 3 -s 192.168.10.1:ping 3次,设置发送的测试数据大小为64字节。

⑤ ping -c 3 -i 192.168.10.1:ping 3次,2秒发送一次。

显示内容分析:
![]()
| bytes | 192.168.10.1 | icmp_seq | ttl | time |
| 数据包大小(字节) | 目标主机IP | 序列号 | 存活时间(DNS 记录在 DNS 服务器上存在的时间) | 响应时间,时间越小,延迟越低,速度越快 |
2.Ping 通外网(以百度为例)
目前虚拟机还无法连通外网,据前面用图形配置了 IP ,但并没有写上网关和 DNS。

打开虚拟网络编辑器,选择 VMnet8 ,点击 NAT 设置,可查看 VMnet8 的网关。

然后打开图形命令,双击 lxt ,然后在 ipv4 配置上加上网关和 DNS 服务器,并保存。
![]()

因为是更改,所以需要 reload 加载配置文件,并将连接名称 up 起来

最后检测与百度域名的连通性,连通成功。

四、从网络下载文件
1.wget 命令
用于在终端命令行里下载网络文件,英文全称为:“web get” 。
格式:wget -参数 需下载的文件链接
参数说明:
| -P | 将文件下载到指定目录 |
| -t | 最大尝试次数,以指定次数尝试连接 |
| -b | 后台模式下载,不在终端显示 |
| -p | 下载页面内所有资源,包括图片、视频等 |
| -c | 断点续传 |
| -r | 递归下载(若下载目录,可将里面的文件一同下载) |
在当前目录下载 qq 。

-P:将 qq 下载到指定目录 mnt 中,随后查看 mnt 目录里的内容,下载的 qq 文件出现在里面。


-t:在下载过程中,若网络连接有误或网断了,会尝试连接指定次数。下面链接后面少了个 m ,链接错误,但会尝试连接10次。

-b:在后台下载,不在终端显示,在后台运行着,直至下载完成。


若想终止下载,可用 kill -9 进程号 的命令强制终止进程。

-p:单下载百度的话只有 html 文件,加上 -p 后,出现的是一个目录,包含 html 和一些说明。



2.curl 命令
检测网络页面,将百度的代码写了出来,但没有修饰功能。

-o:将写的百度内容保存到 index.html 文件中

五、通过命令永久设定 IP
可以实现创建、显示、编辑、删除、激活和停用网络连接以及控制和显示网络设备状态等。
ens160 为网卡名
1.NM 控制的网络是否开启
nmcli networking #查看网络状态
nmcli networking off #关闭网络
nmcli networking on #开启网络
2.查看网卡信息
nmcli device show [ens160] #查看所有网络设备详情(q 键退出)
nmcli device status [ens160] #查看网卡服务接口信息
nmcli connection show [ens160] #查看连接(指定网卡详细信息,q 键退出)
3.激活和关闭网卡或网络连接
nmcli device connect ens160 #启用 ens160 网卡
nmcli device disconnect ens160 #关闭 ens160 网卡(只停用设备的 IP,不关闭设备)
nmcli device up ens160 #开启设备,激活网络连接
nmcli device down ens160 #断开设备,关闭网络连接
nmcli connection up test #开启连接
nmcli connection down test #关闭连接
4.添加网络连接
nmcli connection add type ethernet con-name test ifname ens160 ipv4.method manual ipv4.addresses 192.168.10.123/24
nmcli connection reload #刷新
nmcli connection up test #激活5.更改网卡的 IP
nmcli connection modify test ipv4.addresses 192.168.10.100/24
6.删除网络连接
nmcli connection delete test #删除连接
1.nmcli networking (网络)
查看 NM 控制的网络是否开启,若为关闭状态,则无法对网络用户进行设定,只能设定临时的 IP;只有开启网络,并查看网卡信息,才能使用该网络。
2.nmcli device (设备)
① nmcli device status:查看网卡服务接口信息。删除前面设定的网卡,然后查看已有设备的连接状态,显示没有使用 ens160 这台设备。

通过图形方式设定名为 test 的连接,IP 地址为 192.168.10.100/24,


再次查看设备连接状态,这台设备已被 test 所使用。
② nmcli device disconnect ens160:只停用设备的 IP ,断开连接,但设备不关闭。通过 ip a 命令查看 IP 地址,然后关闭 ens160 网卡的连接,再次通过 ip a 命令查看,已没有了 IP 地址。


③ nmcli device connect ens160:启用 ens160 网卡,IP 地址便回来了。
④ nmcli device down ens160:将设备断电,关闭连接

⑤ nmcli device up ens160:将设备通电,开启连接

⑥ nmcli device show:查看设备的详细信息。nmcli device show ens160 只查看 ens160 设备的信息。

3.nmcli connection (连接)
① nmcli connection delete test:删除连接先将 ens160 设备删除,用图形查看是否删除成功。

② nmcli connection add type ethernet con-name test ifname ens160 ipv4.method manual ipv4.addresses 192.168.10.123/24 :手动添加名为 test 的连接,IP 为 192.168.10.123/24

③ nmcli connection add type ethernet con-name test1 ifname ens160 ipv4.method auto :配置 DHCP
④ nmcli connection show:查看网卡信息
因 ens160 已被 test 使用,所以 test1 启用不了

将 test1 删除,并查看是否删除成功。
⑤ nmcli connection modify test ipv4.addresses 192.168.10.100/24 :修改 test 的 IP 地址为192.168.10.100/24 。在图形中查看,IP 已改,但不生效。因为图形显示的是配置文件,而网络已经运行了 192.168.10.123/24 的 IP 地址,加载过了这个地址,所以不生效。

⑥ nmcli connection reload :刷新
⑦ nmcli connection up test :激活
更改完毕后,要先刷新,再激活,才能生效。
六、网络配置文件
cd /etc/NetworkManager/system-connections/
/etc/NetworkManager/system-connections/ 网卡的配置目录
可查看到 test.nmconnection 的权限必须为 600, 否则网络无法启用。

将 test.nmconnection 的权限修改为 644,刷新后可查看到已没有 test 的网卡了

再将权限修改回 600, 刷新激活后,可查看到 test 网卡存在。

ipv6 和 proxy(代理) 不需要添加,可删


查看 test.nmconnection 文件是否还存在,随后直接修改 test.nmconnection 文件,设定 IP

将以下内容写入 test.nmconnection 文件,手动设定两个 ip 地址
[connection]
id=lxt #链接名称
type=ethernet #网络类型
interface-name=ens160 #设备名称[ipv4]
address1=192.168.10.100/24 # IP 地址
address2=192.168.10.200/24 # IP 地址
method=manual #网卡工作模式为静态(手动配置)

确保当前所在目录为网卡配置目录,然后将文件名改为 lxt.nmconnection ,并修改权限为 600,才能成功启用网络。

刷新、查看并启用网卡,已成功添加名为 lxt 的网卡。

用ip a 命令可查看到该设备已有 192.168.10.100/24 和 192.168.10.200/24 两个 ip 地址。

七、网关的定义及配置
在 Linux 系统中,网关(Gateway)是一个网络节点,充当着不同网络之间的桥梁,使数据包能够在不同网络之间进行转发。
1.临时设定网关
route -n :查看路由表
route add default gw 192.168.10.2 :添加临时网关

将网络连接重新刷新和激活后,便没有了网关。

2.永久设定网关
nmcli connection modify lxt ipv4.method manual ipv4.addresses 192.168.10.100/24 ipv4.gateway 192.168.10.2
根据以上命令添加网关,然后刷新并激活,查看路由表,便可知成功设定了永久网关。

随后进入到网络配置目录中,查看网关,若在文件中设定网关,只需在 ip 地址后面加上 ,网关 即可。


只有配置了网关,才能连通外网。

八、dns 的定义及配置
在 Linux 中,DNS(Domain Name System,域名系统)是一种用于将域名转换为 IP 地址的分布式网络服务系统。
在 Windows 的终端可以 ping 通外网(以百度为例),也可知道百度的 ip 地址。

而在当前主机只能 ping 通 ip 地址,无法 ping 通域名,因为这台主机并不知道百度的 ip 地址。

1.临时设定 dns
解析:解释分析,知道网址,可得出 ip 地址
/etc/hosts:本地解析文件,用户自己把网址和 ip 的对应关系记录到此文件中,那么在浏览器访问网址的时候就可以做解析。
/etc/resolv.conf:dns 服务器的指向文件,此文件中不提供域名解析,但提供 dns 域名解析服务器的地址。
vim /etc/hosts:编辑本地解析文件,将百度的 ip 地址与域名加上,并 :wq 保存。
![]()

随后 ping 百度的域名,显示可以连通。

vim /etc/resolv.conf:编辑 dns 服务器的指向文件,添加服务器名称 8.8.8.8。
8.8.8.8:当有域名解析需求时发送需求给 8.8.8.8(谷歌的 dns)
![]()

查看 /etc/hosts 解析文件的内容,只添加了百度的 ip 和域名,随后 ping www.qq.com ,连通成功,通过 dig 可查看到,数据来源于 8.8.8.8。


此时可以随意上网,大多数网址都能查看。

2.永久设定 dns
但是这个方式并不是永久的,最好是写入配置文件中,才是永久设定 dns。写入配置文件的dns 为114.114.114.114。
![]()

刷新并激活后,查看 /etc/resolv.conf 中的内容,服务器名称已改为 114.114.114.114,随后 ping 百度的域名,连通成功。

相关文章:
Linux 下的网络管理(附加详细实验案例)
一、简单了解 NM(NetworkManager) 在 Linux 中,NM 是 NetworkManager 的缩写。它是一个用于管理网络连接的守护进程和工具集。 在 RHEL9 上,使用 NM 进行网络配置,ifcfg (也称为文件)将不再…...
基于SpringBoot的疫情居家检测管理系统(源码+数据库)
514基于SpringBoot的疫情居家检测管理系统,系统包含三种角色:管理员、用户、医生,主要功能如下。 【用户功能】 1. 首页:获取系统信息。 2. 论坛:参与居民讨论和分享信息。 3. 公告:查看社区发布的各类公告…...
关于系统架构思考,如何设计实现系统的高可用?
绪论、系统高可用的必要性 系统高可用为了保持业务连续性保障,以及停机成本量化,比如在以前的双十一当天如果出现宕机,那将会损失多少钱?比如最近几年Amazon 2021年30分钟宕机损失$5.6M。当然也有成功的案例,比如异地…...
MATLAB 控制系统设计与仿真 - 35
MATLAB鲁棒控制器分析 所谓鲁棒性是指控制系统在一定(结构,大小)的参数扰动下,维持某些性能的特征。 根据对性能的不同定义,可分为稳定鲁棒性(Robust stability)和性能鲁棒性(Robust performance)。 以闭环系统的鲁棒性作为目标设计得到的…...
性能比拼: Nginx vs Caddy
本内容是对知名性能评测博主 Anton Putra Nginx vs Caddy Performance 内容的翻译与整理, 有适当删减, 相关指标和结论以原作为准 引言 在本期视频中,我们将对比 Nginx 和 Caddy---一个用 Go 编写的 Web 服务器和反向代理。 在第一个测试中,我们会使用…...
C++项目-衡码云判项目演示
衡码云判项目是什么呢?简单来说就是这是一个类似于牛客、力扣等在线OJ系统,用户在网页编写代码,点击提交后传递给后端云服务器,云服务器将用户的代码和测试用例进行合并编译,返回结果到网页。 项目最大的两个亮点&…...
李宏毅NLP-6-seq2seqHMM
比较seq2seq和HMM Hidden Markov Model(HMM) 隐马尔可夫模型(HMM)在语音识别中的应用,具体内容如下: 整体流程: 左侧为语音信号(标记为 “speech”),其特征表示为 X X X。中间蓝色模…...
百度暑期实习岗位超3000个,AI相关岗位占比87%,近屿智能携AIGC课程加速人才输出
今年3月,百度重磅发布3000暑期实习岗位,聚焦大模型、机器学习、自动驾驶等AI方向的岗位比例高达87%。此次实习岗位涉及技术研发、产品策划、专业服务、管理支持、政企解决方案等四大类别,覆盖超300个岗位细分方向。值得一提的是,百…...
【技术派后端篇】基于 Redis 实现网站 PV/UV 数据统计
在网站的数据分析中,PV(Page View,页面浏览量)和 UV(Unique Visitor,独立访客数)是两个重要的指标,几乎每个网站都需要对其进行统计。市面上有很多成熟的统计产品,例如百…...
JAVA:利用 Apache Tika 提取文件内容的技术指南
1、简述 Apache Tika 是一个强大的工具,用于从各种文件中提取内容和元数据。📄Tika 支持解析文档、📸图像、🎵音频、🎥视频文件以及其他多种格式,非常适合构建🔍搜索引擎、📂内容管理系统和📊数据分析工具。 样例代码:https://gitee.com/lhdxhl/springboot-…...
【AI】SpringAI 第二弹:接入 DeepSeek 官方服务
一、接入 DeepSeek 官方服务 通过一个简单的案例演示接入 DeepSeek 实现简单的问答功能 1.添加依赖 <dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-openai</artifactId> </dependency> 2…...
XMLXXE 安全无回显方案OOB 盲注DTD 外部实体黑白盒挖掘
# 详细点: XML 被设计为传输和存储数据, XML 文档结构包括 XML 声明、 DTD 文档类型定义(可 选)、文档元素,其焦点是数据的内容,其把数据从 HTML 分离,是独立于软件和硬件的 信息传输…...
SQL之DML(查询语句:select、where)
🎯 本文专栏:MySQL深入浅出 🚀 作者主页:小度爱学习 select查询语句 在开发中,查询语句是使用最多,也是CRUD中,复杂度最高的sql语句。 查询的语法结构 select *|字段1 [, 字段2 ……] from 表…...
Oracle--用户管理
前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 用户管理在 Oracle 数据库中至关重要。一个服务器通常只运行一个 Oracle 实例,而一个 Oracle 用户代表一个用户群,他们通过该用…...
MYDB仿MySQL手写数据库项目总结
声明:该项目是一个开源项目,我是在学习该项目,该项目的github地址如下: MYDB项目地址:https://github.com/CN-GuoZiyang/MYDB MYDB项目采用C/S结构,支持启动一个服务器,并有多个客户端去连接…...
24.中医知识问答删除历史对话功能前端代码实现
前端实现对话删除功能的完整指南 功能概述 前篇文章介绍了删除历史对话的后端开发,本篇将介绍如何在前端实现一个完整的对话删除功能,包括用户确认、API调用、状态管理和错误处理等关键环节。 功能拆解 1. 用户确认机制 javascript const confirmDe…...
git忽略已跟踪的文件/指定文件
在项目开发中,有时候我们并不需要git跟踪所有文件,而是需要忽略掉某些指定的文件或文件夹,怎么操作呢?我们分两种情况讨论: 1. 要忽略的文件之前并未被git跟踪 这种情况常用的方法是在项目的根目录下创建和编辑.gitig…...
RAG(检索增强生成)、ReAct(推理与行动) 和 多模态AI 的详细解析,包括三者的定义、工作原理、应用场景及协同关系
以下是 RAG(检索增强生成)、ReAct(推理与行动) 和 多模态AI 的详细解析,包括三者的定义、工作原理、应用场景及协同关系: 一、RAG(Retrieval-Augmented Generation) 1. 核心原理 …...
6.QT-常用控件-QWidget|windowTitle|windowIcon|qrc机制|windowOpacity|cursor(C++)
windowTitle API说明windowTitle()获取到控件的窗⼝标题.setWindowTitle(const QString& title)设置控件的窗⼝标题. 注意!上述设置操作针对不同的widget可能会有不同的⾏为. 如果是顶层widget(独⽴窗⼝),这个操作才会有效. 如果是⼦widget,这个操作⽆任何效果. 代码⽰例…...
Excel/WPS表格中图片链接转换成对应的实际图片
Excel 超链图变助手(点击下载可免费试用) 是一款将链接转换成实际图片,批量下载表格中所有图片的转换工具,无需安装,双击打开即可使用。 表格中链接如下图所示: 操作方法: 1、双击以下图标&a…...
PostgreSQL基础
一、PostgreSQL介绍 PostgreSQL是一个功能强大的 开源 的关系型数据库。底层基于C实现。 PostgreSQL的开源协议和Linux内核版本的开源协议是一样的。。BDS协议,这个协议基本和MIT开源协议一样,说人话,就是你可以对PostgreSQL进行一些封装&a…...
win11修改文件后缀名
一、问题描述 win11系统中,直接添加.py后缀后仍然是txt文本文件 二、处理方式: 点击上方三个小点点击“选项”按钮 点击“查看”取消“隐藏已知文件类型的扩展名”选项点击“应用” 此时,“.txt”文件后缀显示出来了。将txt删去,…...
【python实用小脚本系列】用Python打造你的专属智能语音助手
用Python打造你的专属智能语音助手 在科技飞速发展的今天,语音助手已经成为了我们生活中的“小帮手”。无论是苹果的Siri,还是亚马逊的Alexa,它们都能通过语音指令帮我们完成各种任务。今天,我来给大家分享一个用Python打造的简单…...
《Java工程师面试核心突破》专栏简介
《Java工程师面试核心突破》专栏简介 🔥 大厂Offer收割机 | 源码级技术纵深 | 90%高频考点覆盖 专栏定位 「拒绝八股文,直击技术本质」 本专栏专为Java中高级工程师量身定制,通过6大核心模块、30个硬核专题,系统性拆解大厂面试…...
Navicat连接数据库密码忘了如何解析
1、首先打开Navicat导出密码 打开文件---》导出链接----》选择连接并勾选导出密码 2、用编辑器打开复制密码 把password后面的密码复制出来 3、打开php编辑器,我这边因为平时不用就在网上找了一个在线编辑器 地址: https://www.w3cschool.cn/tryrun/runcode?la…...
OpenStack Yoga版安装笔记(22)Swift笔记20250418
一、官方文档 https://docs.openstack.org/swift/yoga/admin/objectstorage-components.html#https://docs.openstack.org/swift/yoga/admin/objectstorage-components.html# 二、对象存储简介(Introduction to Object Storage) OpenStack 对象存储&a…...
基于若依的ruoyi-vue-plus的nbmade-boot在线表单的设计(七)后端方面的设计
希望大家一起能参与我的新开源项目nbmade-boot: 宁波智能制造低代码实训平台 主要目标是类似设计jeecgboot那样的online表单功能,因为online本身没有开源这部分代码,而我设计这个是完全开源的,所以希望大家支持支持,开源不容易。 今天主要是讲后端部门之前漏的文件。 下面主…...
18、TimeDiff论文笔记
TimeDiff **1. 背景与动机****2. 扩散模型基础****3. TimeDiff 模型****3.1 前向扩散过程****3.2 后向去噪过程** 4、TimeDiff(架构)原理训练推理其他关键点解释 DDPM(相关数学)1、正态分布2、条件概率1. **与多个条件相关**&…...
【Rust 精进之路之第11篇-借用·实践】切片 (Slices):安全、高效地引用集合的一部分
系列: Rust 精进之路:构建可靠、高效软件的底层逻辑 作者: 码觉客 发布日期: 2025年4月20日 引言:不止整个借用,我们还能“借”片段! 在上一篇【借用规则】中,我们深入理解了 Rust 的引用 (&T, &mut T) 和借用规则。我们知道,引用允许我们在不获取所有权的情…...
Linux环境下使用ADB命令做嵌入式开发
介绍 adb一般是给Android开发用的,但是换个思路也能做嵌入式Linux开发 安装 以Ubuntu20.04为例 sudo apt install android-tools-adb android-tools-fastboot安装成功可以查看adb版本号 命令 查看adb设备 登录shell 上传文件到设备指定目录 拉取设备上的文件到…...
