温馨提示×

linux dhclient怎么配置

小樊
38
2026-10-18 23:49:23
栏目: 智能运维

在 Linux 中,dhclient 是 DHCP 客户端,用于从 DHCP 服务器自动获取 IP 地址。配置 dhclient 主要涉及两部分:

  1. dhclient 自身配置文件
  2. 系统网络配置(是否启用 dhclient)

下面按常见场景说明。


一、dhclient 主配置文件

1. 配置文件位置

/etc/dhcp/dhclient.conf

(部分发行版可能是 /etc/dhcp3/dhclient.conf)

2. 常用配置示例

# 请求指定的选项
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

request subnet-mask, broadcast-address, routers,
        domain-name, domain-name-servers,
        host-name, ntp-servers;

# 发送主机名
send host-name = gethostname();

# 超时与重试
timeout 30;
retry 60;

# 固定租用时间
initial-interval 2;

3. 常见选项说明

  • request:向 DHCP 服务器请求哪些信息
  • send:向服务器发送的信息(如主机名)
  • timeout:等待 DHCP 响应超时时间
  • retry:重试间隔
  • reboot:重启后是否尝试原 IP

二、指定网卡使用 dhclient

手动运行

dhclient eth0

释放 IP

dhclient -r eth0

查看当前租约

cat /var/lib/dhcp/dhclient.leases

三、系统层面启用 dhclient(发行版相关)

1. Debian / Ubuntu(传统 ifupdown)

编辑:

/etc/network/interfaces

示例:

auto eth0
iface eth0 inet dhcp

然后:

ifdown eth0 && ifup eth0

2. CentOS / RHEL 7 以前

编辑:

/etc/sysconfig/network-scripts/ifcfg-eth0

内容:

BOOTPROTO=dhcp
ONBOOT=yes

重启网络:

service network restart

3. CentOS / RHEL 8+ / Rocky / Alma

使用 NetworkManager:

nmcli con mod eth0 ipv4.method auto
nmcli con up eth0

4. systemd-networkd(如 CoreOS / 部分服务器)

[Match]
Name=eth0

[Network]
DHCP=yes

四、常见排错

查看 dhclient 日志

journalctl -u dhclient
# 或
tail -f /var/log/syslog

检查是否运行

ps aux | grep dhclient

强制重新获取

dhclient -r eth0
dhclient eth0

五、常见需求示例

固定主机名发送给 DHCP

send host-name = "my-server";

忽略 DHCP 下发的 DNS

supersede domain-name-servers 8.8.8.8, 8.8.4.4;

如果你能说明:

  • 使用的 Linux 发行版
  • 是否使用 NetworkManager / systemd-networkd
  • 是想 手动配置还是系统自动启动

我可以给你更精确的配置示例。

0 踩