CentOS7下nmcli命令如何配置静态IP地址和DNS?

在CentOS 7系统中,nmcli(NetworkManager Command-Line Interface)是一个强大且功能丰富的命令行工具,用于管理网络连接,它取代了传统的ifcfg脚本编辑方式,提供了更直观、可脚本化和一致性的网络管理体验,通过nmcli,管理员可以轻松完成从查看网络状态、配置IP地址到管理复杂网络连接的各种任务。

CentOS7下nmcli命令如何配置静态IP地址和DNS?

核心概念:设备与连接

在深入使用nmcli之前,理解两个核心概念至关重要:设备(Device)和连接(Connection)。

  • 设备:指系统中的网络接口硬件,如eth0ens33wlan0nmcli device status可以查看所有设备及其当前状态(如已连接、未连接)。
  • 连接:指应用于某个设备的一套网络配置参数,一个设备可以有多个连接配置,但在任何时刻只有一个连接可以被激活,这类似于为一张网卡准备多套“拨号设置”,可以根据需要在不同的网络环境(如办公室、家庭)下快速切换。nmcli connection show用于列出所有已保存的连接配置。

理解这两者的区别是掌握nmcli的关键,我们操作的主要对象是“连接”,而不是“设备”。

基础命令速查

开始使用前,掌握几个基础命令可以帮助你快速了解当前网络环境。

# 查看NetworkManager整体状态
nmcli general status
# 查看所有网络设备的状态
nmcli device status
# 查看所有已保存的网络连接配置
nmcli connection show
# 查看特定连接的详细信息
nmcli connection show "连接名称"

这些命令为你提供了网络环境的“全景图”,是进行任何配置前的必要步骤。

实战操作:配置静态IP地址

为服务器配置静态IP是管理员最常见的任务之一,假设我们要为网卡ens33配置一个静态IP地址168.1.100,子网掩码255.255.0(或前缀24),网关168.1.1,DNS为8.8.88.4.4

步骤1:创建一个新的连接配置

我们可以创建一个名为static-ens33的新连接,并将其绑定到ens33设备上。

nmcli connection add type ethernet ifname ens33 con-name static-ens33 ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8,8.8.4.4" ipv4.method manual

命令解析:

CentOS7下nmcli命令如何配置静态IP地址和DNS?

  • add type ethernet:指定连接类型为以太网。
  • ifname ens33:指定此连接要绑定的网络设备。
  • con-name static-ens33:为这个连接配置起一个易于识别的名称。
  • ipv4.addresses 192.168.1.100/24:设置IPv4地址和子网前缀。
  • ipv4.gateway 192.168.1.1:设置默认网关。
  • ipv4.dns "8.8.8.8,8.8.4.4":设置DNS服务器,多个地址用逗号隔开。
  • ipv4.method manual:明确指定IPv4的配置方法为手动(静态)。

步骤2:激活连接

创建后,连接并不会自动激活,需要手动启动它。

nmcli connection up static-ens33

ens33设备就会使用static-ens33连接配置中定义的静态IP参数进行通信。

实战操作:切换至DHCP动态获取IP

如果需要将ens33从静态IP切换回由DHCP服务器自动获取IP,只需修改现有连接配置即可。

# 假设我们要修改名为 "static-ens33" 的连接
nmcli connection modify "static-ens33" ipv4.method auto
# 重新激活连接以应用更改
nmcli connection down "static-ens33" && nmcli connection up "static-ens33"

ipv4.method auto表示使用DHCP协议自动获取IP地址、网关和DNS等信息。

常用连接管理命令

除了创建和修改,日常管理还包括启动、停止和删除连接。

操作 命令 说明
启动连接 nmcli connection up <连接名称> 激活指定的连接配置
停止连接 nmcli connection down <连接名称> 停用当前活动的连接,设备会变为未连接状态
删除连接 nmcli connection delete <连接名称> 永久删除一个已保存的连接配置
重新加载配置 nmcli connection reload 在修改了配置文件后,让NetworkManager重新读取所有配置

高级技巧:修改主机名与查看详情

nmcli的功能不止于网络接口,它还可以管理系统主机名。

# 临时修改主机名(重启后失效)
nmcli general hostname new-hostname
# 永久修改主机名(推荐)
hostnamectl set-hostname new-hostname

当网络出现问题时,查看详细的连接信息是排查故障的关键。

CentOS7下nmcli命令如何配置静态IP地址和DNS?

nmcli device show ens33

这个命令会显示ens33设备当前激活的所有参数,包括IP、路由、DNS等,非常详尽。


相关问答FAQs

问题1:我使用 nmcli connection modify 命令修改了连接配置,为什么没有立即生效?

解答: nmcli connection modify 命令只是修改了保存在磁盘上的连接配置文件,要让这些更改应用到正在运行的系统上,您需要重新激活该连接,最简单的方法是先将其关闭再启动:
nmcli connection down "连接名称" && nmcli connection up "连接名称"
或者,您也可以使用 nmcli device reapply 设备名 来尝试在不中断连接的情况下应用更改,但对于某些核心参数(如IP地址),重新激活连接是更可靠的方式。

问题2:如何为一个网络连接配置多个IP地址?

解答: nmcli 支持为单个连接配置添加多个IP地址,您可以使用 号前缀来添加一个新的IP地址,而不会覆盖现有的地址,要为名为 office-net 的连接再添加一个IP 0.0.50/24
nmcli connection modify "office-net" +ipv4.addresses 10.0.0.50/24
执行后,同样需要重新激活连接才能使新的IP地址生效,要删除一个额外的IP地址,可以使用 号前缀,
nmcli connection modify "office-net" -ipv4.addresses 10.0.0.50/24

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-20 07:23
下一篇 2025-10-20 07:26

相关推荐

  • CentOS 6.3如何配置NFS服务并解决常见问题?

    CentOS 6.3 作为一款经典的 Linux 发行版,虽然在已停止支持的情况下仍被部分遗留系统使用,但其网络文件系统(NFS)的配置与应用仍具有一定的学习价值,NFS 允许不同主机之间通过网络共享文件系统,常用于实现文件集中管理和数据访问简化,本文将详细介绍在 CentOS 6.3 系统中部署 NFS 服务……

    2026-01-02
    004
  • 如何在负载均衡环境中启用HTTP/2协议以优化性能?

    摘要:本文介绍了在负载均衡环境中开启HTTP2协议的方法。通过启用HTTP2,可以提高网页加载速度和传输效率,优化用户体验。

    2024-08-09
    0034
  • CentOS 7.0重启网卡失败怎么办?命令步骤详解

    在CentOS 7.0操作系统中,管理网络服务是系统管理员日常工作中常见的任务之一,重启网络接口(网卡)是解决网络连接问题、配置更改生效或进行故障排查时的基本操作,本文将详细介绍在CentOS 7.0中重启网卡的多种方法、相关配置文件的修改以及注意事项,帮助用户高效完成网络服务的管理,使用命令行工具重启网卡在C……

    2025-12-06
    0010
  • 如何优化您的新闻网站手机版模板设置?

    根据提供的内容,您似乎需要创建一个适用于手机浏览的新闻网站模板。这个模板应该包括易于导航的布局、清晰的字体选择和适配不同屏幕尺寸的设计。模板设置应允许自定义颜色方案、排版和交互元素,以提升用户体验。

    2024-08-11
    0017

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信