Comment forcer Linux à réacquérir une nouvelle adresse IP à partir du serveur DHCP?

24

L'environnement est Debian , bien que la réponse s'applique à toutes les distributions.

p.campbell
la source
Ceci est maintenant un wiki communautaire. N'hésitez pas à contribuer à toute autre méthode qui fonctionne.
GeneQ

Réponses:

35

Vous pouvez également utiliser cette commande:

dhclient -r interface

Où se interfacetrouve l'appareil pour lequel vous souhaitez obtenir une nouvelle adresse.

dhclient -r eth0

Le -rdrapeau force dhclientà libérer d'abord tous les baux que vous avez, vous pouvez ensuite utiliser cette commande pour demander un nouveau bail:

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
la source
Aussi un bon moyen de le faire :)
Frenchie
1
Après cette commande, mon Debian n'a pas réussi à obtenir une nouvelle IP, mais après un redémarrage, j'ai été affecté à une nouvelle, donc ça marche!
Damien
3
Pour moi, cela ne libère que le bail et dé-configure l'interface. Aucune nouvelle adresse IP n'est obtenue par la suite.
cgogolin
Ce qui est vraiment décevant si votre interface principale est ssh ...
Eric Nord
13

L'un des éléments suivants devrait le faire renouveler.

/etc/init.d/networking restart

ou

ifdown eth0; ifup eth0

Je ne recommanderais pas non plus d'exécuter une connexion SSH, bien que vous vous en sortirez probablement avec la première si elle ne revient pas avec une nouvelle adresse IP.

Frenchie
la source
1
Les connexions SSH tolèrent quelques secondes de "déconnexion" à condition que vous récupériez la connexion en quelques secondes à la même adresse IP. Dans ces conditions, je n'ai jamais perdu de connexion pendant /etc/init.d/networking restart, même s'il a fallu plus de 5 secondes pour remonter ...
Avery Payne
Cela ne nécessite-t-il pas des privilèges administratifs?
Peter Mortensen
10

Je commenterais p.campbell, mais je n'ai qu'une seule réputation et ne peux donc pas, d'abord je passe en revue les interfaces installées:

ip addr

libérer l'IP de l'interface sélectionnée (par exemple eth0, eth1, enp1s0, sit0, wlan0, ...):

sudo dhclient -r *interface*

demander une nouvelle IP au serveur DHCP (alerte en cas d'erreur):

sudo dhclient -1 *interface*

vérifier IP:

ip addr

Ubuntu 16.04 LTS confirmé

BFGoody
la source
4

Si vous utilisez l' dhcpcdoutil, alors:

dhcpcd -k interface
dhcpcd interface

Le premier dit d'arrêter le démon et le second dit de le redémarrer.

p.campbell
la source
2

Si l'adresse MAC de l'interface n'est pas modifiée, le serveur DHCP peut lui attribuer la même adresse lors du renouvellement. Par conséquent, une simple version et un renouvellement avec dhclient peuvent ne pas acquérir une nouvelle adresse. Modifiez l'adresse MAC et acquérez une nouvelle adresse IP avec les commandes suivantes. N'oubliez pas de noter l'original si vous devez y revenir ultérieurement.

ifconfig <interface> down
ifconfig <interface> hw ether <MAC address>
ifconfig <interface> up
Trevor Karjanis
la source
C'était tellement utile, merci! Pas de numéro dhclient -rou ifconfig downm'a donné une nouvelle adresse IP sur mon réseau de travail, jusqu'à ce que je change l'adresse MAC en quelque chose de aléatoire en utilisant cette commande.
Migwell
Même chose ici, cela devrait être la réponse officielle.
Jonathan Argentiero