如何在Ubuntu上配置DHCP客户端选项
导读:Ubuntu 配置 DHCP 客户端选项的实用指南 一、先确认你的 Ubuntu 使用哪种网络管理方式 查看是否存在 /etc/netplan/ 目录及 .yaml 文件(如 01-netcfg.yaml、50-cloud-init.ya...
Ubuntu 配置 DHCP 客户端选项的实用指南
一、先确认你的 Ubuntu 使用哪种网络管理方式
- 查看是否存在 /etc/netplan/ 目录及 .yaml 文件(如 01-netcfg.yaml、50-cloud-init.yaml):有则使用 Netplan(Ubuntu 18.04+ 默认)。
- 查看 /etc/network/interfaces 是否包含
iface < iface> inet dhcp等:有则使用 ifupdown(传统方式)。 - 查看是否由 NetworkManager 管理:运行
nmcli con show能看到连接名称,且桌面环境有网络图标。 - 临时手动获取地址可用:
sudo dhclient < 接口名>(如 eth0 或 ens33)。
二、按所用管理方式配置 DHCP 客户端选项
-
Netplan(Ubuntu 18.04+ 默认)
- 编辑配置(文件以实际为准):
sudo nano /etc/netplan/01-netcfg.yaml - 启用 DHCP 并同时下发 DNS(示例):
network: version: 2 renderer: networkd ethernets: eth0: dhcp4: true dhcp6: false nameservers: addresses: [8.8.8.8, 1.1.1.1]- 应用:
sudo netplan apply(远程环境可用sudo netplan try降低断连风险)。
说明:Netplan 会生成底层配置并通过 systemd-networkd 或 NetworkManager 生效;在 Netplan 中直接设置nameservers是最稳妥的下发 DNS 方式。
- 编辑配置(文件以实际为准):
-
ifupdown(/etc/network/interfaces)
- 编辑:
sudo nano /etc/network/interfaces - 启用 DHCP 并设置 DNS(示例):
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp dns-nameservers 8.8.8.8 1.1.1.1- 使能:
sudo systemctl restart networking(或sudo ifdown eth0 & & sudo ifup eth0)。
说明:在接口配置中使用dns-nameservers可让 DHCP 客户端在获取租约后写入指定 DNS。
- 编辑:
-
NetworkManager(nmcli / nmtui)
- 查看连接名:
nmcli con show(记下有线或 Wi‑Fi 的 NAME)。 - 设置仅 DHCP 并下发 DNS(示例):
nmcli con mod "Wired connection 1" ipv4.method auto ipv6.method ignore nmcli con mod "Wired connection 1" ipv4.dns "8.8.8.8 1.1.1.1" nmcli con up "Wired connection 1"- 图形界面:
sudo nmtui→ Edit a connection → 选择连接 → IPv4 Configuration 选择 Automatic → 在 DNS servers 填入地址 → OK → 激活连接。
说明:通过ipv4.dns可持久化下发 DNS;如需忽略 IPv6 可设ipv6.method ignore。
- 查看连接名:
-
使用 dhclient 细粒度控制(可选)
- 全局选项:编辑 /etc/dhcp/dhclient.conf(建议先备份),按需添加:
send host-name "my-host"; supersede domain-name-servers 8.8.8.8, 1.1.1.1; request subnet-mask, broadcast-address, routers, domain-name, domain-name-servers, host-name, ntp-servers;- 使配置生效:
- 若由 systemd-networkd 管理:
sudo systemctl restart systemd-networkd - 若由 NetworkManager 管理:
sudo systemctl restart NetworkManager - 临时手动获取/释放:
sudo dhclient -r < iface>;sudo dhclient -v < iface>
说明:supersede可强制覆盖服务器下发的选项;request列出要请求的选项;修改后需重启相应网络栈或重取租约。
三、验证与常见问题排查
- 验证地址与路由:
ip addr show < iface>、ip route(应看到 DHCP 分配的地址 和 默认路由)。 - 验证 DNS:
- 若用 Netplan 或 ifupdown 的
dns-nameservers,查看:cat /etc/resolv.conf(应含你配置的 DNS)。 - 若用 NetworkManager,可用:
nmcli con show "< NAME> " | grep ipv4.dns。
- 若用 Netplan 或 ifupdown 的
- 抓包定位(服务器未响应等):
sudo tcpdump -i < iface> -nn port 67 or port 68。 - 常见问题:
- 虚拟机/云主机未获取到地址:确认虚拟网络或云网络启用了 DHCP。
- 修改后未生效:确认修改了正确的管理方式(Netplan/ifupdown/NetworkManager),并执行了对应的 apply/restart;远程操作优先用
netplan try或先准备控制台。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Ubuntu上配置DHCP客户端选项
本文地址: https://pptw.com/jishu/748528.html
