1. Linux网络配置概述
在Linux服务器管理中,网络配置是最基础也是最重要的技能之一。无论是单机部署还是集群环境,正确的网络配置都是确保服务可用的前提条件。目前主流的Linux网络配置方式主要有两种:使用nmcli命令行工具和手动修改网卡配置文件。
作为一名运维工程师,我在实际工作中发现,很多新手在面对网络配置时常常感到困惑:是该用nmcli还是直接改配置文件?两种方式有什么区别?哪种更适合生产环境?本文将结合我多年的实战经验,详细解析这两种配置方法的原理、使用场景和最佳实践。
提示:本文所有命令和配置均在CentOS 7/8和RHEL 7/8/9系统实测通过,同样适用于其他基于Red Hat的发行版。对于Debian/Ubuntu系统,配置文件路径和部分命令可能有所不同。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. nmcli命令详解
2.1 基础信息查询命令
在开始配置网络前,了解当前网络状态是至关重要的。nmcli提供了丰富的查询命令,帮助我们快速掌握网络环境。
2.1.1 查看设备状态
bash复制nmcli device status
这个命令的输出通常包括四列:
- DEVICE:物理网卡名称(如ens33、eth0)
- TYPE:设备类型(ethernet、wifi、bridge等)
- STATE:连接状态(connected/disconnected/unavailable)
- CONNECTION:绑定的连接配置名称
这个命令特别适合快速检查哪些网卡已经激活,以及它们绑定了哪些连接配置。我经常在登录新服务器后首先运行这个命令,对网络状况有个基本了解。
2.1.2 查看连接详情
bash复制nmcli connection show
这个命令列出所有已配置的网络连接,无论是否激活。输出包含:
- NAME:连接配置名称
- UUID:系统自动生成的唯一标识符
- TYPE:连接类型
- DEVICE:绑定的物理设备
一个常见的误区是认为一个网卡只能有一个连接配置。实际上,一个物理网卡可以绑定多个连接配置,但同一时间只能激活一个。这个特性在需要频繁切换网络配置的场景下非常有用。
2.1.3 查看详细配置
bash复制nmcli connection show ens33
这个命令会显示指定连接的所有配置参数,包括IP地址、网关、DNS、MTU等。当网络出现问题时,这是我排查故障的第一个命令。它比直接查看配置文件更直观,因为会显示实际生效的配置。
2.2 连接管理命令
2.2.1 创建新连接
创建静态IP连接:
bash复制nmcli connection add type ethernet \
con-name ens33-static \
ifname ens33 \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "8.8.8.8,114.114.114.114" \
ipv4.method manual \
connection.autoconnect yes
这个命令创建了一个名为"ens33-static"的以太网连接,关键参数说明:
ipv4.method manual:表示使用静态IPconnection.autoconnect yes:系统启动时自动激活此连接- IP地址使用CIDR表示法(192
