¿Cómo puedo liberar y renovar mi contrato de arrendamiento de DHCP desde la Terminal?

18

Desde la Terminal, ¿cómo puedo liberar y renovar mi contrato de arrendamiento de DHCP?

Actualmente, estoy haciendo lo siguiente para la interfaz inalámbrica, pero me pregunto si hay una mejor manera:

sudo ifconfig en1 down
sudo ifconfig en1 up

Para la interfaz con cable, reemplace en1con en0.

Matthew Rankin
fuente
¿Estás esperando que alguien diga que no? No hay mejor manera o podemos responder a tu pregunta / editarla, de modo que es probable que obtenga una respuesta diferente a ue ipconfig/ ifconfig.
bmike

Respuestas:

27

Esto también se puede lograr con los siguientes dos comandos:

sudo ipconfig set en0 BOOTP
sudo ipconfig set en0 DHCP

Puede alias los dos juntos en su perfil de bash:

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

Entonces, solo tiene un comando llamado renewque liberará y renovará su DHCP.

robzolkos
fuente
2
La respuesta de Rob ciertamente funcionará, pero ipconfig setsiempre primero desconfigura la interfaz antes de configurar DHCP nuevamente. Nunca he necesitado el primer comando, y ipconfiges mucho más alto nivel (maneja las rutas mejor) que ifconfigy lo prefiero para el caso que usted indique.
bmike
44
El comando cli "ipconfig set en0 DHCP" no es una renovación dhcp en sentido estricto, sino un completo procedimiento de descubrimiento, oferta, solicitud y reconocimiento. El botón "renovar" en el panel de control solo genera una solicitud dhcp (precedida por un lanzamiento) y es respondido por un ACK. Hay una diferencia entre ambos, ya que la renovación generalmente se envía por un cpe a la mitad del tiempo de arrendamiento para renovar el arrendamiento antes de que expire. Los dispositivos de acceso a Internet como un sistema de terminación de módem por cable reaccionarán de manera diferente en ambos procedimientos. Así que todavía estoy buscando un comando puro dhcp-renew
@robzolkos El comando anterior se ejecuta perfectamente para la cuenta de administrador, pero cuando inicié sesión como usuario estándar en MAC, me pide una contraseña. Si es posible, cómo podría omitir esta parte de contraseña y un usuario estándar puede ejecutar este comando.
Jyotish Singh
8

La forma en que funciona el botón renovar en Preferencias del sistema es crear una clave en la configuración del sistema. Uno puede crear la clave a través de:

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

Cambio en0por la interfaz deseada.

chimbo
fuente