首页主机资讯如何在Ubuntu上配置DHCP客户端选项

如何在Ubuntu上配置DHCP客户端选项

时间2025-11-14 22:47:03发布访客分类主机资讯浏览845
导读: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 < 接口名> (如 eth0ens33)。

二、按所用管理方式配置 DHCP 客户端选项

  • Netplan(Ubuntu 18.04+ 默认)

    1. 编辑配置(文件以实际为准):sudo nano /etc/netplan/01-netcfg.yaml
    2. 启用 DHCP 并同时下发 DNS(示例):
    network:
      version: 2
      renderer: networkd
      ethernets:
        eth0:
          dhcp4: true
          dhcp6: false
          nameservers:
            addresses: [8.8.8.8, 1.1.1.1]
    
    1. 应用:sudo netplan apply(远程环境可用 sudo netplan try 降低断连风险)。
      说明:Netplan 会生成底层配置并通过 systemd-networkdNetworkManager 生效;在 Netplan 中直接设置 nameservers 是最稳妥的下发 DNS 方式。
  • ifupdown(/etc/network/interfaces)

    1. 编辑:sudo nano /etc/network/interfaces
    2. 启用 DHCP 并设置 DNS(示例):
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet dhcp
        dns-nameservers 8.8.8.8 1.1.1.1
    
    1. 使能:sudo systemctl restart networking(或 sudo ifdown eth0 & & sudo ifup eth0)。
      说明:在接口配置中使用 dns-nameservers 可让 DHCP 客户端在获取租约后写入指定 DNS。
  • NetworkManager(nmcli / nmtui)

    1. 查看连接名:nmcli con show(记下有线或 Wi‑Fi 的 NAME)。
    2. 设置仅 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"
    
    1. 图形界面:sudo nmtui → Edit a connection → 选择连接 → IPv4 Configuration 选择 Automatic → 在 DNS servers 填入地址 → OK → 激活连接。
      说明:通过 ipv4.dns 可持久化下发 DNS;如需忽略 IPv6 可设 ipv6.method ignore
  • 使用 dhclient 细粒度控制(可选)

    1. 全局选项:编辑 /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;
        
    
    1. 使配置生效:
    • 若由 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:
    • 若用 Netplanifupdowndns-nameservers,查看:cat /etc/resolv.conf(应含你配置的 DNS)。
    • 若用 NetworkManager,可用:nmcli con show "< NAME> " | grep ipv4.dns
  • 抓包定位(服务器未响应等):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
Linux From Scratch适合初学者吗 Ubuntu DHCP服务器如何与DNS服务器集成

游客 回复需填写必要信息