在linux系统中,DHCP服务负责自动分配IP地址等网络参数,有时候我们需要确认它是否已经关闭,避免自动获取的网络配置影响自定义设置。下面介绍几种常用的检查方式。

通过ip命令查看网卡配置
ip命令是linux下查看网络配置的常用工具,我们可以通过它查看网卡是否通过DHCP获取了地址,间接判断DHCP是否在工作。
首先执行以下命令查看所有网卡的信息:
# 查看所有网卡的IP配置信息 ip addr show
如果某个网卡是通过DHCP获取IP,通常会在输出中看到dynamic标识,例如:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
valid_lft 86388sec preferred_lft 86388sec
这里的dynamic就表示该IP是通过DHCP动态获取的。如果对应的网卡没有这个标识,且IP是手动配置的静态地址,说明该网卡的DHCP没有生效。
检查NetworkManager的DHCP状态
很多现代linux发行版使用NetworkManager管理网络,我们可以通过它的命令行工具nmcli来查看DHCP相关配置。
首先列出所有网络连接:
# 列出所有网络连接 nmcli connection show
找到你要检查的连接的名称,例如eth0,然后查看该连接的详细配置:
# 查看指定连接的配置,替换eth0为你的连接名 nmcli connection show eth0 | grep ipv4.method
如果输出的结果是ipv4.method: auto,说明该连接开启了DHCP自动获取;如果是ipv4.method: manual,则说明DHCP是关闭状态,使用手动配置的静态IP。
查看系统DHCP客户端服务状态
linux系统中常见的DHCP客户端服务有dhclient,我们可以检查这个服务的运行状态。
使用systemctl命令查看dhclient服务状态:
# 查看dhclient服务状态 systemctl status dhclient
如果输出中显示Active: inactive (dead),说明dhclient服务没有运行,DHCP客户端处于关闭状态。如果显示Active: active (running),则说明DHCP客户端正在工作。
部分发行版可能使用其他DHCP客户端,比如dhcpcd,对应的检查命令是:
# 查看dhcpcd服务状态 systemctl status dhcpcd
查看网络配置文件
不同linux发行版的网络配置文件路径不同,我们也可以直接查看配置文件中的DHCP相关设置。
Debian/Ubuntu系列
网络配置文件通常在/etc/network/interfaces,查看对应网卡的配置:
# 查看网络配置文件 cat /etc/network/interfaces
如果对应网卡配置是iface eth0 inet dhcp,说明开启了DHCP;如果是iface eth0 inet static并且下面有address、netmask等静态配置项,说明DHCP是关闭的。
CentOS/RHEL系列
网络配置文件在/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-网卡名,例如ifcfg-eth0:
# 查看eth0的配置文件,替换eth0为你的网卡名 cat /etc/sysconfig/network-scripts/ifcfg-eth0
如果配置中有BOOTPROTO=dhcp,说明开启了DHCP;如果是BOOTPROTO=static或者BOOTPROTO=none,并且配置了IPADDR、NETMASK等参数,说明DHCP是关闭状态。
总结
以上几种方法可以互相印证,帮助你准确判断linux系统中DHCP是否关闭。如果是排查网络问题,建议先通过ip命令查看当前网卡的IP获取方式,再结合服务状态和配置文件确认根本原因,避免误操作影响正常网络使用。
linuxdhcpnetwork_managerip_commandsystemctl修改时间:2026-07-05 05:27:10