Linux DHCP客户端配置:步骤与技巧
多数Linux发行版默认预装dhclient(ISC DHCP客户端),若未安装,可通过包管理器安装:
sudo apt update && sudo apt install isc-dhcp-clientsudo yum install dhcp-clientsudo dnf install dhcp-clientdhclient工具用于动态获取IP。若需临时为接口获取IP(无需重启网络),可使用dhclient命令:
sudo dhclient <接口名>(如eth0、ens33,可通过ip link查看接口名称)。执行后,系统会向DHCP服务器发送请求并获取IP地址。
要让DHCP客户端在系统启动时自动运行,需修改网络接口配置文件:
/etc/network/interfaces,添加以下内容:auto <接口名>
iface <接口名> inet dhcp
例如:auto eth0\niface eth0 inet dhcp。保存后重启网络服务:sudo systemctl restart networking。/etc/netplan/01-netcfg.yaml(文件名可能不同),配置如下:network:
version: 2
ethernets:
<接口名>:
dhcp4: true
应用配置:sudo netplan apply。/etc/sysconfig/network-scripts/ifcfg-<接口名>(如ifcfg-eth0),设置以下参数:DEVICE=<接口名>
BOOTPROTO=dhcp
ONBOOT=yes
保存后重启网络服务:sudo systemctl restart network(CentOS 7及以下)或sudo systemctl restart NetworkManager(CentOS 8+/Rocky Linux)。使用以下命令检查IP地址是否成功获取:
ip addr show <接口名>:查看接口的IP地址(重点关注inet字段);ip route show:查看默认网关(default via开头的行);cat /etc/resolv.conf:查看DNS服务器地址(nameserver开头的行)。若需调整DHCP客户端请求的参数(如仅请求特定选项),可编辑/etc/dhcp/dhclient.conf文件。例如:
request subnet-mask, broadcast-address, routers, domain-name-servers;
supersede domain-name-servers 8.8.8.8, 8.8.4.4; # 强制使用指定DNS
request语句指定客户端向服务器请求的参数,supersede语句覆盖服务器提供的参数(如DNS)。
若网络中有多个DHCP服务器,可在dhclient.conf中指定优先使用的服务器:
server 192.168.1.100; # 只向该服务器请求IP
此配置可避免客户端从不可信的DHCP服务器获取配置。
DHCP客户端获取的IP地址及租约时间会保存在/var/lib/dhcp/dhclient.leases(Debian/Ubuntu)或/var/lib/dhclient/<接口名>.leases(CentOS/RHEL)中。使用以下命令查看:
cat /var/lib/dhcp/dhclient.leases
可了解IP地址的租约开始时间、结束时间及续租情况。
ping测试与DHCP服务器的连通性(如ping 192.168.1.1)。NetworkManager替代传统network服务),建议参考对应发行版的官方文档。