插件窝 干货文章 DHCP客户端在Linux中如何释放IP

DHCP客户端在Linux中如何释放IP

接口 sudo dhclient 连接 60    来源:    2025-05-08

在Linux系统中释放通过DHCP获取的IP地址,需要根据使用的网络管理工具选择对应方法。以下是常见场景的详细步骤:


一、使用 dhclient 命令(传统方式)

适用于大多数Linux发行版,尤其是手动管理网络的场景。

  1. 释放当前IP
    执行以下命令主动释放IP并停止接口:

    sudo dhclient -r <接口名>  # 如 eth0、ens33 等
    

    示例:sudo dhclient -r eth0

  2. 重新获取IP
    释放后如需重新获取IP:

    sudo dhclient <接口名>
    

二、使用 nmcli(NetworkManager)

适用于使用NetworkManager管理的系统(如RHEL/CentOS 8+、Ubuntu Desktop等)。

  1. 释放并停用连接

    sudo nmcli con down <连接名称>  # 先停用连接
    sudo nmcli con modify <连接名称> ipv4.method disabled  # 临时禁用DHCP
    
  2. 重新启用DHCP

    sudo nmcli con modify <连接名称> ipv4.method auto
    sudo nmcli con up <连接名称>
    

    提示:通过nmcli con show查看连接名称。


三、使用 ipifconfig 临时清除IP

若需立即清除接口IP(不通知DHCP服务器):

  1. 清除IP地址

    sudo ip addr flush dev <接口名>  # 推荐
    # 或传统方式
    sudo ifconfig <接口名> 0.0.0.0
    
  2. 后续操作
    需配合dhclient或重启网络服务重新获取IP。


四、Systemd-networkd(Ubuntu Server/Core等)

使用networkctl释放并重新请求IP:

sudo networkctl renew <接口名>

五、其他注意事项

  1. 日志查看
    DHCP交互日志通常记录在:

    journalctl -u NetworkManager  # NetworkManager
    journalctl -u systemd-networkd  # systemd-networkd
    cat /var/log/syslog | grep dhclient  # 传统日志
    
  2. Windows/Mac对比

    • Windows: ipconfig /releaseipconfig /renew
    • MacOS: sudo ipconfig set <接口> DHCP

常见问题解决

  • 命令未找到:安装对应工具(如dhclient包名为isc-dhcp-client)。
  • 接口名不匹配:使用ip anmcli device status确认正确接口名。
  • 持久生效:某些配置需写入网络配置文件(如/etc/network/interfaces/etc/sysconfig/network-scripts/)。

根据您的系统环境选择合适方法即可。