温馨提示×

Linux DHCP客户端配置:不同发行版的设置方法

小樊
40
2026-01-04 15:46:33
栏目: 智能运维

Linux DHCP客户端配置按发行版速查

通用检查与临时获取

  • 查看网卡名与地址:ip a;查看路由:ip r;查看 DNS:cat /etc/resolv.conf。
  • 临时从 DHCP 获取地址(接口名以实际为准,如 eth0/enp0s3/wlan0):sudo dhclient <接口名>;释放租约:sudo dhclient -r <接口名>。
  • 以上命令在各发行版通用,适合排障和临时切换为 DHCP。

按发行版配置方法

发行版/栈 配置文件或工具 设置为 DHCP 的示例 使配置生效 备注
Ubuntu 18.04+(Netplan) /etc/netplan/*.yaml(如 01-netcfg.yaml network: version: 2; ethernets: eth0: dhcp4: true sudo netplan apply 若用 NetworkManager 管理网络,优先用 nmcli 配置(见下节)
Ubuntu/Debian(ifupdown) /etc/network/interfaces auto eth0; iface eth0 inet dhcp sudo systemctl restart networking 老系统常见
Debian(isc-dhcp-client) /etc/dhcp/dhclient.conf 可设置:send host-name “your-host”; request subnet-mask,broadcast-address,routers,domain-name,domain-name-servers; supersede domain-name-servers 8.8.8.8, 8.8.4.4; 重启网络或 sudo systemctl restart isc-dhcp-client 细粒度控制请求/覆盖项
CentOS 7 / RHEL 7 /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0; BOOTPROTO=dhcp; ONBOOT=yes sudo systemctl restart network 传统 ifcfg 文件方式
CentOS 8 / Rocky Linux 8+(NetworkManager) nmcli nmcli con mod eth0 ipv4.method auto; nmcli con up eth0 nmcli 或 systemctl restart NetworkManager 推荐用 NetworkManager 管理
通用 systemd-networkd /etc/systemd/network/eth0.network [Match] Name=eth0; [Network] DHCP=yes sudo systemctl restart systemd-networkd 无桌面/服务器常用

常用进阶操作

  • 指定或覆盖 DNS:在 /etc/dhcp/dhclient.conf 中使用 supersede,例如:supersede domain-name-servers 8.8.8.8, 8.8.4.4;按需调整 request 列表以请求/忽略特定选项。修改后重启网络或 dhclient 使生效。
  • 使用 NetworkManager 统一管理(适用于 Fedora/Ubuntu 桌面/服务器):nmcli con mod <连接名> ipv4.method auto;nmcli con up <连接名>。若需指定客户端实现,可在 /etc/NetworkManager/conf.d/dhcp-client.conf 设置:dhcp=dhclient
  • 使用 systemd-networkd:创建 /etc/systemd/network/eth0.network,[Network] 中设 DHCP=yes,启用并重启服务即可。

验证与排障

  • 验证:ip a 应见 inet 地址;ip r 应见 default via 网关;cat /etc/resolv.conf 应见 nameserver 行。
  • 抓日志与调试:查看 /var/log/syslogjournalctl -u NetworkManager;dhclient 可用 -d(前台调试)、-r(释放)等参数辅助定位。
  • 常见原因:无 DHCP 服务器响应、网线/虚拟网络未连接、接口名变更(如 eth0 → enp0s3)、防火墙阻断 DHCP(UDP 67/68)。必要时在防火墙上放行 DHCP 服务或相应端口。

0