当前位置: 首页 > news >正文

【Linux 运维必备】打通网络任督二脉:现代 Linux 网络管理利器 `nmcli` 全面精通指南

【Linux 运维必备】打通网络任督二脉:现代 Linux 网络管理利器nmcli全面精通指南

在过去,很多老程序员或者运维在重置 Linux IP 地址时,习惯去/etc/sysconfig/network-scripts/目录下疯狂改动黑白的文本配置文件。不仅格式难记,一不小心敲错一个字母,重启网卡时服务器就会直接“彻底断网”。

Rocky Linux 8/9、RHEL 8/9 以及现代 Ubuntu开始,官方彻底淘汰了老旧的network服务,全面转由NetworkManager来统一接管网络。

而我们今天的主角 ——nmcli(NetworkManager Command Line Interface),就是官方唯一指定的现代网络管理大管家。本文将从零基础出发,带你全面征服这个强大的命令行工具!


一、 核心概念:为什么服务器一定要用nmcli

在 Windows 上,我们改 IP、换 WiFi 都是用鼠标去右下角点开网络图标。
但在纯命令行的 Linux 服务器里,没有鼠标,nmcli就是你的网络控制台

💡 核心设计:Device(设备)与 Connection(连接)的区别

在使用nmcli之前,必须分清两个高频词,这是绝大多数新手踩坑的根源:

  • Device(设备):这是硬件概念。指的是你的物理网卡或虚拟机模拟出的网卡(如物理网卡、虚拟网卡ens160等)。你可以把它想象成你的手机卡槽
  • Connection(连接):这是软件配置。指的是一套网络参数(包含了 IP 地址、网关、DNS 等)。你可以把它想象成你的电话卡/套餐

大白话概括:一个卡槽(Device)在不同场景下,可以插不同的电话卡(Connection)。nmcli的本质,就是创建出一套好用的“配置参数”,然后把它“绑定”到指定的“网卡硬件”上。


二、 基础篇:查看与监控网络状态

在排查网络故障(比如 Xshell 连不上)时,先用这三条命令进行“望闻问切”:

1. 查看网卡硬件状态

nmcli device status
  • 作用:列出系统里所有的网卡硬件,并展示它们是否连接(connected)或断开(disconnected)。

2. 查看网络连接(配置)列表

nmcli connection show
  • 作用:展示当前系统里生效的网络参数。
  • 亮眼功能:该命令自带彩色高亮。绿色的行代表当前正在生效并已经绑定到网卡上的配置;白色的行代表存在但未启用的配置。

3. 查看某张网卡的全部详细信息

nmcli device show ens160
  • (注:需将ens160换成你通过ip addr查到的真实网卡名)
  • 作用:全方位展示该网卡当前的实际 IP、子网掩码、网关、MAC 地址和 DNS 服务器。

三、 实战篇:彻底征服“一键固定静态 IP”

这是全栈和后端开发最常用到的高频场景。为了不让虚拟机每次重启都变 IP 导致 Xshell 失联,我们需要用nmcli一劳永逸地将 IP 卡死。

假设我们要把网卡ens160的网络配置修改为:

  • 固定 IP192.168.123.100
  • 子网掩码前缀24(即255.255.255.0)
  • 网关192.168.123.2
  • 首选 DNS223.5.5.5(阿里公共 DNS)

请按照以下四步法操作:

🛠️ 第一步:设置静态 IP 地址与掩码

nmcli connection modify ens160 ipv4.addresses192.168.123.100/24
  • modify(可简写为mod):代表修改配置。
  • ipv4.addresses:指定固定 IP,后面的/24绝对不能漏掉。

🛠️ 第二步:设置网关(出口大门)

nmcli connection modify ens160 ipv4.gateway192.168.123.2

🛠️ 第三步:设置 DNS(域名解析服务器)

nmcli connection modify ens160 ipv4.dns223.5.5.5

🛠️ 第四步:将获取 IP 的模式改为“手动指定”

nmcli connection modify ens160 ipv4.method manual
  • 核心细节:这一步至关重要。manual(手动)代表关闭 DHCP 自动获取。如果不敲这一行,上面配的静态 IP 开机后还是会被路由器的动态 IP 覆盖掉。

四、 激活篇:网卡重启与自启动管理

网络参数修改完之后,Linux 并不会立刻生效。我们必须通知网卡“重新读取配置文件”。

1. 刷新网卡配置(重连大法)

nmcli connection down ens160&&nmcli connection up ens160
  • 原理:先让网卡顺时断网(down),再立刻联网(up)。网卡在重新抬起时,会吃进我们刚刚修改好的静态 IP 组合拳。
  • ⚠️ 警告必须用&&把两条命令连着敲。如果你只敲了down并没有敲up,当你按回车的瞬间,远程的 Xshell 就会因为你亲手拔了网线而直接断开连接,你就只能苦哈哈地跑去 VMware 图形界面里拯救它了。

2. 设置开机自动联网

很多同学装完系统发现虚拟机死活上不去网,直到去图形界面点了一下开关才行。其实一行命令就能让它开机死心塌地自动联网:

nmcli connection modify ens160 connection.autoconnectyes

五、 救命进阶篇:快速从“静态”切回“动态自动获取”

如果在做实验时,不小心把静态 IP 算错或敲错,导致虚拟机彻底断网怎么办?
不用慌,用下面两行命令,可以瞬间推翻刚才所有的手动改动,重新让虚拟路由器的 DHCP 自动拯救你的网络:

# 1. 把模式改回 auto (自动获取)nmcli connection modify ens160 ipv4.method auto# 2. 刷新网卡,重新向路由器申请合法 IPnmcli connection down ens160&&nmcli connection up ens160

📝 本地极客备忘卡(Cheat Sheet)

为了方便大家日常快速复制粘贴,这里将nmcli的核心常用语总结为一张卡片:

nmcli device status# 查看硬件网卡状态nmcli connection show# 查看网络配置列表(绿色为生效)nmcli connection delete 配置名# 删除一个不想要的垃圾网络配置# 终极一键配静态网络模板(注意替换你的网卡名与IP段)nmcli con mod ens160 ipv4.addresses192.168.1.100/24 ipv4.gateway192.168.1.1 ipv4.dns223.5.5.5 ipv4.method manual connection.autoconnectyes&&nmcli con down ens160&&nmcli con up ens160

💡 结语

熟练使用nmcli是检验一个 Linux 运维或全栈后端是否“正规、专业”的分水岭。从今天起,告别难用的黑白文本编辑,全面拥抱这一行流利的彩色命令吧!如果在配置过程中遇到任何 IP 冲突或网关不通的问题,欢迎在评论区给我留言讨论!

http://www.jsqmd.com/news/1141359/

相关文章:

  • STM32F429与EM3080-W的条码识别系统硬件设计与优化
  • 工业级通信系统设计:PIC18F85J10与SLO2016协议实战
  • HiBit Uninstaller:彻底卸载流氓软件的终极神器
  • 基于ICM-42605和STM32L081CB的6DOF运动追踪系统设计
  • Metasploitable2靶机实战:Kali Linux渗透测试与五大经典漏洞利用解析
  • 【Java课程设计/毕业设计】基于 SpringBoot 的校园访客车辆管理系统的设计与实现 基于 SpringBoot 的高校智能车辆调度系统【附源码、数据库、万字文档】
  • AD74413R与PIC18F65K40构建高精度信号采集系统
  • 基于Si4731与PIC18F45K80的数字收音机开发指南
  • 网盘下载加速终极方案:8大平台直链解析工具完全指南
  • MAD世界模型:面向视觉导航的映射感知与动作驱动范式
  • 终极指南:3步用QMCDecode解锁QQ音乐加密音频,实现跨平台自由播放
  • 锂离子电池过压保护与BQ2920电量平衡方案详解
  • 5分钟上手:roop-unleashed AI换脸工具完全指南
  • ARM Cortex-R8 四核实时处理器:28nm 工艺下 1.5GHz 主频与 15K DMIPS 性能实测
  • Fast-GitHub终极指南:如何让国内GitHub下载速度飙升20倍以上
  • 4人同屏玩转单机游戏:Nucleus Co-Op本地分屏神器全攻略
  • 电机的星形接法 vs 三角形接法图解
  • ICM-42688-P与STM32F101ZG在工业自动化中的应用解析
  • 终极指南:如何用Jsxer快速解码Adobe JSXBIN二进制脚本?[特殊字符]
  • 5分钟完成《Honey Select 2》汉化去码:HS2-HF_Patch终极增强指南
  • SPT-AKI Profile Editor:让离线塔科夫存档管理变得如此简单
  • PIC18F26K40驱动WS2812 RGB LED的硬件与软件实现
  • 第六次作业Linux环境变量
  • Geo优化源码部署搭建技术分享——开源支持二开
  • 浏览器中的SVG绘图神器:SVG-edit免费矢量图形编辑器入门指南
  • 工业级4-20mA电流环系统设计与DAC161S997芯片应用
  • 【计算机Java毕业设计案例】基于 SpringBoot 的校园停车车辆管理系统的设计与实现 基于 SpringBoot 的校园车辆溯源管理系统(程序+文档+讲解+定制)
  • TC78H653FTG与MKV46F128VLH16的直流电机驱动方案
  • B站视频下载终极指南:三步轻松保存大会员4K和充电专属内容
  • Python 实现群智能学习策略:5 行代码集成 ROBL 提升 PSO 寻优精度 15%