动态主机配置协议(DHCP)是一种网络管理协议,它能够自动为网络中的设备分配IP地址、子网掩码、默认网关以及DNS服务器等网络配置信息,在CentOS系统中,让服务器或工作站通过DHCP获取网络配置是最常见和便捷的方式,尤其是在动态变化的网络环境中,本文将详细介绍在CentOS系统中配置DHCP的几种主流方法,并提供验证与故障排除的实用技巧。

使用 NetworkManager (nmcli) – 推荐方法
对于现代的CentOS版本(如CentOS 7, 8, 9及Stream),NetworkManager是默认的网络管理服务,而nmcli是其强大的命令行工具,使用nmcli进行配置既高效又适合脚本化管理。
您需要查看当前的网络连接名称,执行以下命令可以列出所有可用的网络连接:
nmcli connection show
输出结果中会显示连接的名称(如ens33、Wired connection 1等)和UUID,记下您想要配置的连接名称。
使用以下命令将指定的网络连接修改为通过DHCP自动获取IP地址:
sudo nmcli connection modify "你的连接名称" ipv4.method auto
如果之前设置过静态IP,最好先清除旧的IP地址配置,以确保配置干净:
sudo nmcli connection modify "你的连接名称" ipv4.addresses ""
重新启动网络连接以使新配置生效,推荐先关闭再启动,这样可以确保所有配置都被重新加载:
sudo nmcli connection down "你的连接名称" sudo nmcli connection up "你的连接名称"
执行完毕后,您的系统就会向网络中的DHCP服务器发送请求,并自动获取相应的网络配置。
使用文本用户界面 (nmtui)
对于不习惯纯命令行操作的用户,nmtui提供了一个基于文本的图形用户界面,操作直观简单。
在终端中直接输入以下命令启动nmtui:

sudo nmtui
启动后,您会看到一个蓝色的文本界面,使用方向键和回车键进行操作:
- 选择“Edit a connection”并按回车。
- 在列表中选择您要编辑的网络接口,然后选择“Edit”。
- 在IPv4 CONFIGURATION(IPv4配置)行,按回车键,从下拉菜单中选择“Automatic”(自动)。
- 确保下方的“Automatically connect”(自动连接)选项是勾选的。
- 选择“Back”返回上级菜单,然后选择“OK”保存配置。
- 返回主菜单后,选择“Activate a connection”。
- 找到您刚刚配置的连接,选择“Deactivate”使其失效,然后再次选择它并点击“Activate”来重新激活。
退出nmtui后,系统便会开始通过DHCP获取IP地址。
手动编辑配置文件 (适用于旧版或特定场景)
在一些旧版本的CentOS(如CentOS 6)或需要深度定制的情况下,可以直接编辑网络配置文件,这些文件通常位于/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-<接口名>,例如ifcfg-ens33。
使用文本编辑器(如vi或nano)打开对应的配置文件:
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
确保文件中包含或修改以下关键参数:
| 参数 | 值 | 描述 |
|---|---|---|
BOOTPROTO | dhcp | 指定获取IP地址的方式为DHCP。 |
ONBOOT | yes | 确保系统启动时激活此网络接口。 |
USERCTL | no | (可选) 禁止普通用户控制此接口。 |
修改完成后,保存并退出文件,然后重启网络服务以应用更改:
sudo systemctl restart network
验证DHCP获取状态
配置完成后,您需要验证系统是否成功通过DHCP获取了IP地址,可以使用以下命令:
查看IP地址:
ip addr show
在输出中找到您的网络接口(如
ens33),查看其inet字段,应该会显示一个由DHCP分配的IP地址。
查看默认网关:
ip route show
输出中应包含一条
default via <网关IP地址>的记录。查看DNS服务器:
cat /etc/resolv.conf
文件中会列出由DHCP服务器分配的DNS服务器地址。
相关问答FAQs
nmcli 和 nmtui 有什么区别?我应该使用哪一个?
解答: nmcli(NetworkManager Command-Line Interface)和nmtui(NetworkManager Text User Interface)都是NetworkManager服务的前端工具,它们的核心功能是相同的,即管理网络连接。nmcli是一个纯粹的命令行工具,功能更强大、更全面,非常适合用于自动化脚本和需要精细控制的场景。nmtui则提供了一个基于文本的图形化菜单界面,操作更直观、对新手更友好,适合进行快速、简单的交互式配置,对于日常管理,两者都可以胜任;如果您需要编写脚本,nmcli是唯一的选择。
我已经将网络配置为DHCP,但系统仍然无法获取IP地址,应该怎么办?
解答: 这是一个常见的网络问题,可以按照以下步骤进行排查:
- 物理连接检查:确保网线已插好,或者无线网络连接正常。
- DHCP服务器检查:确认网络中存在一台正在工作的DHCP服务器(通常是您的路由器),并且它没有被禁用。
- 防火墙检查:检查本地系统或网络中的防火墙是否阻止了DHCP客户端(端口67和68)的通信。
- 手动发起请求:尝试手动运行DHCP客户端程序来获取更详细的输出信息,
sudo dhclient -v <接口名>。-v参数会显示详细的交互过程,有助于定位问题。 - 查看系统日志:使用
journalctl -u NetworkManager命令查看NetworkManager的日志,其中可能包含获取IP失败的具体原因。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复