Ubuntu 配置 DHCP 客户端选项的实用指南
一、先确认你的 Ubuntu 使用哪种网络管理方式
iface <iface> inet dhcp 等:有则使用 ifupdown(传统方式)。nmcli con show 能看到连接名称,且桌面环境有网络图标。sudo dhclient <接口名>(如 eth0 或 ens33)。二、按所用管理方式配置 DHCP 客户端选项
Netplan(Ubuntu 18.04+ 默认)
sudo nano /etc/netplan/01-netcfg.yamlnetwork:
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 降低断连风险)。nameservers 是最稳妥的下发 DNS 方式。ifupdown(/etc/network/interfaces)
sudo nano /etc/network/interfacesauto 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)。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 细粒度控制(可选)
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;
sudo systemctl restart systemd-networkdsudo systemctl restart NetworkManagersudo dhclient -r <iface>;sudo dhclient -v <iface>supersede 可强制覆盖服务器下发的选项;request 列出要请求的选项;修改后需重启相应网络栈或重取租约。三、验证与常见问题排查
ip addr show <iface>、ip route(应看到 DHCP 分配的地址 和 默认路由)。dns-nameservers,查看:cat /etc/resolv.conf(应含你配置的 DNS)。nmcli con show "<NAME>" | grep ipv4.dns。sudo tcpdump -i <iface> -nn port 67 or port 68。netplan try 或先准备控制台。