news 2026/5/20 23:09:51

Linux网络管理实战:用nmcli命令5分钟搞定服务器IP、网关、DNS配置(含连接监控技巧)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux网络管理实战:用nmcli命令5分钟搞定服务器IP、网关、DNS配置(含连接监控技巧)

Linux网络管理实战:用nmcli命令5分钟搞定服务器IP、网关、DNS配置(含连接监控技巧)

当你第一次登录一台全新的Linux服务器时,最迫切的需求往往不是安装软件或部署服务,而是让这台机器先"连上网"。作为经历过数十次服务器部署的老运维,我至今记得第一次面对没有图形界面的CentOS服务器时,那种对着黑屏终端手足无措的窘迫。传统ifconfig方法早已过时,而NetworkManager提供的nmcli工具,才是现代Linux网络配置的瑞士军刀。

1. 环境准备与基础检查

在开始配置前,我们需要确认几个关键点。首先检查NetworkManager服务状态,这是nmcli命令的基础支撑:

systemctl status NetworkManager

如果看到"active (running)"字样,说明服务已启动。若未运行,使用以下命令启动并设置开机自启:

systemctl enable --now NetworkManager

接下来快速扫描服务器上的网络接口设备:

nmcli device status

典型输出如下:

DEVICE TYPE STATE CONNECTION ens192 ethernet connected ens192 lo loopback unmanaged --

这里需要注意三个关键信息:

  • DEVICE:物理网卡名称(如ens192、eth0)
  • STATE:连接状态(connected/disconnected)
  • CONNECTION:当前激活的配置名称

提示:如果STATE显示为"unmanaged",说明该网卡未被NetworkManager管理,需要检查NetworkManager配置文件。

2. 静态IP配置全流程

假设我们需要为ens192网卡配置静态IP:192.168.1.100/24,网关192.168.1.1,DNS服务器为8.8.8.8和114.114.114.114。以下是经过实战验证的最佳操作顺序:

2.1 修改IP地址和子网掩码

nmcli connection modify ens192 ipv4.addresses "192.168.1.100/24"

这个命令实际上是在修改名为"ens192"的连接配置(connection),而非直接操作网卡设备。这是nmcli与传统ifconfig最大的设计差异。

2.2 设置网关

nmcli connection modify ens192 ipv4.gateway "192.168.1.1"

2.3 配置DNS服务器

nmcli connection modify ens192 ipv4.dns "8.8.8.8 114.114.114.114"

注意:如果要追加DNS而不覆盖原有设置,使用+ipv4.dns参数:

nmcli connection modify ens192 +ipv4.dns "114.114.114.114"

2.4 切换为静态IP模式

这是最关键的步骤,也是新手最容易出错的地方:

nmcli connection modify ens192 ipv4.method manual

必须最后执行这个命令!如果先设置method=manual再配置IP地址,会导致网络立即中断。

2.5 应用配置变更

执行以下命令使配置生效:

nmcli connection up ens192

验证配置是否成功:

nmcli connection show ens192 | grep -E 'ipv4.(address|gateway|dns)' ip route show default

3. 高级配置技巧

3.1 多IP地址绑定

单个网卡可以绑定多个IP地址,这在搭建测试环境时特别有用:

nmcli connection modify ens192 +ipv4.addresses "192.168.1.101/24" nmcli connection up ens192

查看结果:

ip addr show ens192

3.2 连接自动恢复与监控

网络闪断是运维常见痛点,nmcli提供了强大的监控功能:

nmcli connection monitor ens192

这个命令会实时显示连接状态变化,非常适合在调试网络问题时使用。

要使配置在重启后自动生效:

nmcli connection modify ens192 connection.autoconnect yes

3.3 无线网络配置(适用于带无线网卡的服务器)

nmcli device wifi list # 扫描可用WiFi nmcli device wifi connect "SSID" password "password" # 连接无线网络

4. 排错指南

当配置不生效时,按照以下步骤排查:

  1. 检查NetworkManager日志

    journalctl -u NetworkManager -n 50 --no-pager
  2. 验证配置文件

    cat /etc/sysconfig/network-scripts/ifcfg-ens192
  3. 测试基础连接

    ping -c4 192.168.1.1 # 测试网关 ping -c4 8.8.8.8 # 测试外网 nslookup example.com # 测试DNS
  4. 重置网络配置

    nmcli connection reload nmcli device reapply ens192

常见错误解决方案:

错误现象可能原因解决方案
配置后无法连接防火墙阻止检查firewalld/iptables规则
DNS不解析DNS配置错误确认/etc/resolv.conf内容
重启后配置丢失未设置autoconnect检查connection.autoconnect参数

经过这些年的运维实践,我发现nmcli最大的优势在于其一致性——无论你是用CentOS、Ubuntu还是RHEL,网络配置方法都完全相同。记得第一次用nmcli成功配置好服务器网络时,那种"原来可以这么简单"的顿悟感,至今难忘。现在我的~/.bashrc里还保存着几个常用的nmcli别名:

alias netstat='nmcli device status' alias netlist='nmcli connection show' alias netmon='nmcli connection monitor'
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 23:08:58

Nano-vLLM 源码解读 - 9. 抢占机制

nano-vllm 用千行代码拆解 vLLM 核心,是读懂大模型推理最快的捷径。 L07 第 5 节讲过 schedule() 的 decode 分支大致结构,其中提到一句:“decode 在块边界处可能装不下,装不下就走 preempt”,当时把细节明确推迟到本节。 那段代码不到 10 行,却同时回答三个问题:decode 在什么…

作者头像 李华
网站建设 2026/5/20 23:08:02

从零编译AOSP 10.0并刷入Pixel 3:完整环境搭建与实战指南

1. 项目概述与核心价值 最近在折腾一个老项目,需要基于AOSP 10.0(Android 10)进行深度定制,目标设备是手头一台吃灰已久的Pixel 3。虽然网上能找到一些零散的教程,但要么环境交代不清,要么步骤跳跃太大&am…

作者头像 李华
网站建设 2026/5/20 23:06:19

从账单明细看Taotoken按Token计费模式的清晰与灵活

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 从账单明细看Taotoken按Token计费模式的清晰与灵活 对于技术项目的管理者而言,成本的可观测与可控性是决策的关键。当团…

作者头像 李华
网站建设 2026/5/20 23:06:06

全志D1s开发板RT-Smart环境搭建:从工具链配置到固件烧录全流程详解

1. 项目概述与核心需求解析最近在折腾一块搭载全志D1s芯片的开发板,想在上面跑RT-Smart实时操作系统。这个想法源于一个具体的需求:我需要一个成本极低、功耗友好,但又能稳定运行实时任务的小型嵌入式平台,用于一个数据采集和简单…

作者头像 李华