¿Cómo fuerzo a Linux a volver a adquirir una nueva dirección IP del servidor DHCP?

24

El entorno es Debian , aunque la respuesta se aplicará a todas las distribuciones.

p.campbell
fuente
Esta es ahora una wiki comunitaria. Siéntase libre de contribuir con cualquier otro método que funcione.
GeneQ

Respuestas:

35

También puedes usar este comando:

dhclient -r interface

¿Dónde interfaceestá el dispositivo para el que desea obtener una nueva dirección?

dhclient -r eth0

La -rbandera obliga dhclienta liberar primero cualquier arrendamiento que tenga, luego puede usar este comando para solicitar un nuevo arrendamiento:

dhclient eth0

De man dhclient:

   -r     Tell  dhclient  to  release the current lease it has from the 
          server.  This is not required by the DHCP protocol, but some 
          ISPs require their clients to notify the server if they wish 
          to release an assigned IP address.
slm
fuente
También es una buena manera de hacerlo :)
Frenchie
1
Después de este comando, mi Debian no pudo obtener una nueva IP, pero después de reiniciar me asignaron una nueva, ¡así que funciona!
Damien
3
Para mí, esto solo libera el contrato de arrendamiento y descifra la interfaz. No se obtiene una nueva IP después.
cgogolin
Lo cual es un fastidio total si su interfaz principal es ssh ...
Eric Nord
13

Cualquiera de los siguientes debe hacer que se renueve.

/etc/init.d/networking restart

o

ifdown eth0; ifup eth0

No recomendaría ejecutar tampoco una conexión SSH, aunque probablemente se saldrá con la primera si no vuelve con una nueva dirección IP.

Frenchie
fuente
1
Las conexiones SSH tolerarán unos segundos de "desconexión" siempre que recupere la conexión en unos segundos en la misma dirección IP. En estas condiciones, nunca he perdido una conexión durante /etc/init.d/networking restart, incluso cuando estaba tomando más de 5 segundos para volver a subir ...
Avery Payne
¿No requiere esto privilegios administrativos?
Peter Mortensen
10

Comentaría p.campbell, pero solo tengo 1 reputación y, por lo tanto, no puedo, primero reviso las interfaces instaladas:

ip addr

liberar IP de la interfaz seleccionada (por ejemplo, eth0, eth1, enp1s0, sit0, wlan0, ...):

sudo dhclient -r *interface*

Solicitar nueva IP del servidor DHCP (alerta de error):

sudo dhclient -1 *interface*

verificar IP:

ip addr

Ubuntu 16.04 LTS confirmado

BFGoody
fuente
4

Si está utilizando la dhcpcdherramienta, entonces:

dhcpcd -k interface
dhcpcd interface

El primero dice que detengas al demonio, y el segundo dice que lo vuelvas a iniciar.

p.campbell
fuente
2

Si no se cambia la dirección MAC de la interfaz, el servidor DHCP puede asignarle la misma dirección al renovar. Por lo tanto, una versión simple y renovada con dhclient puede no adquirir una nueva dirección. Cambie la dirección MAC y adquiera una nueva dirección IP con los siguientes comandos. No olvide escribir el original si necesita volver a él más adelante.

ifconfig <interface> down
ifconfig <interface> hw ether <MAC address>
ifconfig <interface> up
Trevor Karjanis
fuente
Esto fue muy útil, gracias! Ningún número dhclient -ro ifconfig downme dio una nueva dirección IP en mi red de trabajo, hasta que cambié la dirección MAC a algo aleatorio usando ese comando.
Migwell
Lo mismo aquí, esta debería ser la respuesta oficial.
Jonathan Argentiero