在 Linux 中,dhclient 是 ISC DHCP 客户端,用于通过 DHCP 获取 IP 地址。下面从基本用法、配置文件、常见场景、排错几个方面说明如何配置和使用 dhclient。
sudo dhclient eth0
sudo dhclient -r eth0
sudo dhclient -r eth0
sudo dhclient eth0
路径:
/etc/dhcp/dhclient.conf
常见配置示例:
# 请求特定选项
request subnet-mask, broadcast-address, routers, domain-name, domain-name-servers;
# 发送主机名
send host-name "my-server";
# 指定默认超时
timeout 30;
# 重试时间
retry 60;
# 不更新 /etc/resolv.conf(由其他工具管理)
supersede domain-name-servers 8.8.8.8, 8.8.4.4;
/etc/dhcp/dhclient-eth0.conf
使用方式:
dhclient -cf /etc/dhcp/dhclient-eth0.conf eth0
通常不需要手动运行 dhclient,由 NetworkManager 自动调用。
查看状态:
nmcli device show eth0
设置 DHCP:
nmcli con mod eth0 ipv4.method auto
nmcli con up eth0
配置文件示例:
# /etc/systemd/network/10-eth0.network
[Match]
Name=eth0
[Network]
DHCP=yes
auto eth0
iface eth0 inet dhcp
dhclient 默认会修改:
/etc/resolv.conf
如果不希望被修改:
# dhclient.conf
supersede domain-name-servers 127.0.0.1;
或使用:
chattr +i /etc/resolv.conf
/var/lib/dhcp/dhclient.leases
ip addr show eth0
sudo dhclient -d eth0
ps aux | grep dhclient
sudo killall dhclient
ping 8.8.8.8
journalctl -u NetworkManager
如果你能告诉我:
我可以给你更精确的配置示例。