在 Linux 中查看 DHCP 配置和状态,取决于你使用的是哪种 DHCP 客户端(如 dhclient、NetworkManager、systemd-networkd 等)。下面按常见场景详细说明。
ip addr
或
ifconfig
示例:
inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
dynamic 表示 DHCP 分配。
dhclient 的系统cat /var/lib/dhcp/dhclient.leases
或
cat /var/lib/dhclient/dhclient-eth0.leases
可以看到:
cat /etc/resolv.conf
示例:
nameserver 192.168.1.1
⚠️ 注意:如果使用 NetworkManager,这个文件可能是自动生成的。
ip route
示例:
default via 192.168.1.1 dev eth0
nmcli connection show
nmcli connection show eth0
或
nmcli device show eth0
重点字段:
IP4.ADDRESSIP4.GATEWAYIP4.DNSnmcli con show eth0 | grep ipv4.method
输出:
ipv4.method: auto # DHCP
ls /etc/systemd/network/
示例:
[Network]
DHCP=yes
networkctl status eth0
cat /etc/netplan/*.yaml
示例:
network:
version: 2
ethernets:
eth0:
dhcp4: true
应用配置:
sudo netplan apply
journalctl -u NetworkManager
或
journalctl | grep dhclient
ps aux | grep dhclient
或
nmcli dev status
| 目的 | 命令 |
|---|---|
| 查看 IP | ip addr |
| 查看 DNS | cat /etc/resolv.conf |
| 查看网关 | ip route |
| DHCP 租约 | /var/lib/dhcp/dhclient.leases |
| NetworkManager | nmcli device show |
| systemd-networkd | networkctl status |
| Ubuntu netplan | cat /etc/netplan/*.yaml |
如果你愿意,可以告诉我:
我可以给你精确到命令级别的排查方案。