温馨提示×

Ubuntu DHCP客户端IP地址过期怎么办

小樊
31
2025-11-30 13:02:45
栏目: 智能运维

Ubuntu DHCP客户端IP地址过期的处理指南

一、快速恢复上网

  • 确认网卡名:例如 eth0enp3s0wlan0。可运行:ip addrnmcli device status
  • 释放并重新获取地址(无需重启网络服务):
    sudo dhclient -r <接口名>    # 释放当前租约
    sudo dhclient <接口名>       # 获取新租约
    
    示例:sudo dhclient -r eth0 && sudo dhclient eth0。上述方式在多数 Ubuntu 版本都适用。

二、按网络管理方式选择正确做法

  • 使用 NetworkManager(桌面版与部分服务器默认)
    • 查看连接名:nmcli con show,记下有线/无线连接名称(如“Wired connection 1”)。
    • 临时重取地址:
      nmcli con down "<连接名>" && nmcli con up "<连接名>"
      
    • 若异常可尝试重置状态(会短暂断网):
      sudo systemctl restart NetworkManager
      
  • 使用 netplan(Ubuntu 18.04 及之后常见)
    • 应用当前配置(会触发 DHCP 重新请求):
      sudo netplan apply
      
  • 使用传统 ifupdown(/etc/network/interfaces)
    • 重启接口以触发 DHCP:
      sudo ifdown <接口名> && sudo ifup <接口名>
      
    以上方法分别适用于对应的网络管理方式,优先使用与系统一致的方案以避免冲突。

三、验证是否恢复

  • 查看地址与路由:
    ip addr show <接口名>
    ip route
    
  • 测试连通性:
    ping -c 4 8.8.8.8
    ping -c 4 <你的网关IP>
    
  • 检查 DNS 解析:
    nslookup www.ubuntu.com
    

四、常见原因与预防

  • 租约未自动续约或异常
    • 个别旧版本在特定网络环境下可能出现 DHCP 租约未续约导致断网。可临时用计划任务兜底(例如每 30 分钟续租一次):
      sudo crontab -e
      # 添加一行
      */30 * * * * root /sbin/dhclient -r <接口名> && /sbin/dhclient <接口名>
      
      此为权宜之计,建议同时排查网络与 DHCP 服务侧问题。
  • 想延长或自定义租约时间
    • 若由 NetworkManager 管理,可在连接配置中设置(示例为 3600 秒):
      nmcli con mod "<连接名>" ipv4.lease-time 3600
      nmcli con down "<连接名>" && nmcli con up "<连接名>"
      
    • 若使用 netplan,在相应接口下配置 dhcp4-overrides: { lease-time: 3600 } 后执行 sudo netplan apply
    • 也可在 /etc/dhcp/dhclient.conf 中设置全局默认租期(如 supersede dhcp-lease-time 3600;),然后重启网络或重取租约。
    • 注意:实际生效的租期仍以 DHCP 服务器配置为准,客户端只能“请求/建议”。

0