使用nmcli配置静态ip的步骤为:1. 通过nmcli connection show和nmcli device status查看当前连接和设备状态,确认目标连接名称;2. 使用nmcli connection modify命令设置ipv4地址、网关、dns并指定ipv4.method为manual;3. 执行nmcli connection down和up重启连接使配置生效;4. 通过ip addr、ip route和/etc/resolv.conf验证配置;5. 注意连接名称准确性、networkmanager服务运行状态及远程操作时的断网风险;6. 如需恢复dhcp,将ipv4.method设为auto并重启连接。该方法适用于centos 8/rhel 8、ubuntu 18.04+等现代linux发行版,配置持久化且支持脚本化管理,操作完成后网络设置在重启后依然有效。
在linux系统中,配置静态IP地址是网络管理的基本操作之一。随着传统工具(如
ifconfig
和
route
)逐渐被弃用,
nmcli
(NetworkManager Command Line Interface)成为现代Linux发行版(如centos 8/RHEL 8、Ubuntu 18.04+、Fedora等)中主流的网络配置工具。本文将详细介绍如何使用
nmcli
配置静态IP地址,并解释常用命令和注意事项。
一、什么是nmcli?
nmcli
是NetworkManager的命令行工具,用于查看、配置和管理网络连接。它支持有线、无线、虚拟网络接口(如bond、bridge、vlan)等多种连接类型,且配置可持久化,重启后仍然有效。
与直接修改配置文件相比,
nmcli
更安全、更直观,尤其适合脚本化和远程管理。
二、查看当前网络状态
在配置前,先查看当前的网络连接和设备状态:
# 查看所有网络连接 nmcli connection show # 查看活动的连接 nmcli connection show --active # 查看设备状态(如ens33、eth0等) nmcli device status
输出示例:
DEVICE TYPE STATE CONNECTION ens33 ethernet connected Wired connection 1 lo loopback unmanaged --
记下你要配置的连接名称,通常是“Wired connection 1”或类似名称。
三、修改连接配置为静态IP
假设我们要为名为
Wired connection 1
的连接配置以下静态IP信息:
- IP地址:192.168.1.100
- 子网掩码:24(即255.255.255.0)
- 网关:192.168.1.1
- DNS:8.8.8.8, 8.8.4.4
执行以下命令:
# 设置IPv4地址为静态,并指定IP和掩码 nmcli connection modify "Wired connection 1" ipv4.addresses 192.168.1.100/24 # 设置网关 nmcli connection modify "Wired connection 1" ipv4.gateway 192.168.1.1 # 设置DNS(多个DNS用逗号分隔) nmcli connection modify "Wired connection 1" ipv4.dns "8.8.8.8,8.8.4.4" # 设置IPv4方法为manual(静态),而不是dhcp nmcli connection modify "Wired connection 1" ipv4.method manual
注意:连接名称如果有空格,需要用引号包裹。
四、重启网络连接使配置生效
修改完成后,需要重新加载连接配置:
# 先关闭连接 nmcli connection down "Wired connection 1" # 再启用连接 nmcli connection up "Wired connection 1"
或者使用:
nmcli connection reload
然后验证IP是否生效:
ip addr show ens33
查看路由和DNS:
ip route cat /etc/resolv.conf
五、常见操作命令汇总
功能 | 命令 |
---|---|
查看所有连接 | @@######@@ |
查看设备状态 | @@######@@ |
修改IP地址 | @@######@@ |
修改网关 | @@######@@ |
修改DNS | @@######@@ |
设置为静态IP | @@######@@ |
设置为DHCP | @@######@@ |
启用连接 | @@######@@ |
禁用连接 | @@######@@ |
添加新连接(可选) | @@######@@ |
六、注意事项
-
连接名称不能写错:建议先用
nmcli connection show
确认名称。
-
配置不会立即生效:必须
nmcli device status
再
nmcli connection modify <连接名> ipv4.addresses <IP/掩码>
连接,或重启NetworkManager服务。
-
远程操作时小心断网:如果通过ssh修改服务器IP,建议在本地或有带外管理的情况下操作,避免失去连接。
-
某些系统使用cloud-init或NetPlan:如Ubuntu Server 18.04+可能使用
nmcli connection modify <连接名> ipv4.gateway <网关>
,此时需配合修改YAML文件,再应用配置。
-
NetworkManager必须运行:确保服务已启用:
nmcli connection modify <连接名> ipv4.dns <DNS列表>
七、恢复为DHCP模式
如果需要恢复为自动获取IP:
ipv4.method manual
基本上就这些。
ipv4.method auto
虽然一开始命令略长,但逻辑清晰,适合自动化和批量管理。掌握它之后,无论是桌面还是服务器环境,都能高效完成网络配置任务。
nmcli connection up <连接名>
nmcli connection down <连接名>
nmcli connection add ...
nmcli connection show
down
up
netplan
systemctl enable NetworkManager systemctl start NetworkManager
nmcli connection modify "Wired connection 1" ipv4.method auto nmcli connection down "Wired connection 1" nmcli connection up "Wired connection 1"
nmcli