Comment puis-je libérer et renouveler mon bail DHCP à partir de Terminal?

18

Depuis le terminal, comment puis-je libérer et renouveler mon bail DHCP?

Actuellement, je fais ce qui suit pour l'interface sans fil, mais je me demande s'il y a une meilleure façon:

sudo ifconfig en1 down
sudo ifconfig en1 up

Pour l'interface filaire, remplacez en1par en0.

Matthew Rankin
la source
Attendez-vous que quelqu'un vous dise non - il n'y a pas de meilleur moyen ou pouvons-nous répondre à votre question / la modifier afin qu'elle obtienne probablement une réponse différente de celle de ue ipconfig/ ifconfig?
bmike

Réponses:

27

Cela peut également être réalisé avec les deux commandes suivantes:

sudo ipconfig set en0 BOOTP
sudo ipconfig set en0 DHCP

Vous pouvez alias les deux ensemble dans votre profil bash:

alias renew="sudo ipconfig set en0 BOOTP && sudo ipconfig set en0 DHCP"

Donc, vous n'avez qu'une seule commande appelée renewqui libérera et renouvellera votre DHCP.

robzolkos
la source
2
La réponse de Rob fonctionnera certainement - mais ipconfig setdéconfigure toujours d'abord l'interface avant de reconfigurer DHCP. Je n'ai jamais eu besoin de la première commande - et elle ipconfigest beaucoup plus élevée (elle gère mieux les routes) que ifconfiget je la préfère pour le cas que vous dites.
bmike
4
La commande cli "ipconfig set en0 DHCP" n'est pas un renouvellement dhcp au sens pur mais une procédure complète de découverte, offre, demande, accusé de réception. Le bouton "renouveler" sur le panneau de contrôle génère simplement une demande dhcp (précédé d'une version) et est répondu par un ACK. Il y a une différence entre les deux, car le renouvellement est généralement envoyé par un cpe à la moitié de la durée du bail pour le renouveler au bail avant son expiration. Les dispositifs d'accès à Internet comme un système de terminaison de modem câble réagiront différemment sur les deux procédures. Je recherche donc toujours une commande
La commande @robzolkos ci-dessus fonctionne parfaitement bien pour le compte administrateur, mais lorsque je me suis connecté en tant qu'utilisateur standard dans MAC, il demande un mot de passe. Si possible, comment je pourrais ignorer cette partie du mot de passe et un utilisateur standard peut exécuter cette commande.
Jyotish Singh
8

Le fonctionnement du bouton de renouvellement dans les Préférences Système consiste à créer une clé dans la configuration du système. On peut créer la clé via:

echo "add State:/Network/Interface/en0/RefreshConfiguration temporary" | sudo scutil

Échange en0pour l'interface souhaitée.

chymb
la source