Estoy buscando escribir un cambio de servidor DNS temporal para anular la respuesta de DHCP que recibo de la red. He descubierto que puedo usar networksetup
, pero una vez que hayamos terminado las pruebas. Antes de pasar a producción, creo que debería saber cómo deshacer esto.
¿Cómo puedo crear una secuencia de comandos para borrar estos cambios y restaurar la configuración que proporciona la red ahora como si nunca hubiera ejecutado la siguiente secuencia de comandos?
networksetup -setdnsservers Wi-Fi "8.8.8.8" "8.8.4.4"
No es factible guardar la configuración anterior y estoy buscando eliminar la configuración para que los nuevos valores reales puedan recuperarse de la red en lugar de guardar la configuración anterior para no guardar un valor anterior que es ya no es correcto.
Básicamente, estoy buscando ipconfig /renew
en macOS.
Si solo le preocupa limpiar las entradas de DNS, la ayuda del comando le brinda instrucciones sobre qué hacer:
Usage: networksetup -setdnsservers <networkservice> <dns1> [dns2] [...]
Set the <networkservice> DNS servers to <dns1> [dns2] [...]. Any
number of dns servers can be specified. Specify "Empty" for <dns1>
to clear all DNS entries.
En mi caso
sudo networksetup -setdnsservers Wi-Fi "Empty"
Cree un nuevo servicio de red con la interfaz respectiva (por ejemplo, en1 = AirPort):
sudo networksetup -createnetworkservice Wi-Fi2 en1
Elimine el que tiene la configuración de DNS personalizada:
sudo networksetup -removenetworkservice Wi-Fi
Cambie el nombre del nuevo servicio de red al nombre original:
sudo networksetup -renamenetworkservice Wi-Fi2 Wi-Fi
En mi entorno, el nuevo servicio obtuvo DHCP y su nueva configuración automáticamente. Es posible que deba configurarlo sudo networksetup -setdhcp Wi-Fi
explícitamente o mirar la respuesta de DHCP para la interfaz y analizar las direcciones IP de DNS proporcionadas ipconfig getpacket en1
.
Simplemente vaya a Preferencias del sistema y siga los pasos en mis capturas de pantalla.
Lo siento por las capturas de pantalla alemanas.
una vez que haya eliminado todos los servidores de nombres configurados manualmente, Mac OS volverá a utilizar los servidores de nombres proporcionados por DHCP.
networksetup -setdnsservers NetServiceName "Empty"
es la solución cli correcta.
Quuxplusone
networksetup -setdnsservers Wi-Fi Empty
.