雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

Linux中如何释放DHCP获取的IP地址并重新获取

2024-08-10 Linux 76

问题描述

由于之前的一个Linux系统的开发环境使用了DCHP动态分配IP,后来又新增了一个虚拟机也是动态获取IP,当原来的开发环境关机后,打开虚拟机时,虚拟机占用了原来开发环境的IP地址,但由于开发环境远程登录的ssh认证都配置好了不想换IP又配置一遍,所以想将原来的ip地址重新指定给开发环境。
经过多方资料查询和试验,终于成功解决了我的问题。

DHCP如何分配IP地址的?

DHCP服务器优先分配尚未出租的最小的IP地址,以后DHCP客户机每次重新登录网络时,就不需要再发送DHCP discover发现信息,而是直接发送包含前一次所分配的ip地址的DHCP请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。

如果此IP地址无法再分配给原来的客户机时,则DHCP给客户机回答一个nack的否认信息。DHCP客户机收到nack否认信息后,它就必须重新发送DHCP Discover信息来请求新的IP地址。

DHCP服务器向客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址,如果客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限过一半时,客户机都会自动向DHCP服务器发送更新其ip租约的信息。

解决过程

  1. 启动虚拟机,在虚拟机中释放占用的IP地址,命令如下。
dhclient -r #释放现有的IP地址
  1. 启动原来的开发环境,确认已经获取了原来的IP地址
  2. 启动虚拟机,在虚拟机中释放现有ip
  3. 在虚拟机中,重新获取IP地址,命令如下:
dhclient  #获取新ip

此时,虚拟会获取到一个新的IP地址,以后只要设计租约续期,就不会占用之前的开发环境的IP地址了。

更新于:3个月前
赞一波!2

文章评论

评论问答