¿Cómo forzar a MacOS a regenerar el archivo /etc/resolv.conf?

3

Apple indica claramente que el archivo /etc/resolv.conf es administrado por Mac OS, por lo que se regenerará. El problema es que parece que cuando me uno a OpenVPN esto no sucede y, como resultado, las herramientas como nslookup no pueden ver la vpn.

#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
domain local
nameserver 192.168.1.1

Necesito saber qué comando puedo ejecutar para forzar a MacOS (Sierra) a regenerar el archivo.

Como puede ver, mi archivo no contiene la lista correcta de servidores DNS. Por ejemplo, scutil --dns devuelve una larga lista de servidores DNS, uno que incluye los servidores dns de OpenVPN.

    
pregunta sorin 09.12.2016 - 12:27

2 respuestas

1

Supongo que este archivo se crea / actualiza cuando cambia la configuración de red en 'Preferencias del sistema'. Necesitas 'Preferencias del sistema ...' - > Red - > (seleccione el dispositivo NIC activo)

En el cuadro de diálogo Red, selecciona: 'Avanzado'. Puede realizar cambios para TCP / IP, DNS, WINS, 802.1X, Proxies, Hardware en las pestañas de diálogo correspondientes. Cerrar este diálogo con Ok. Ahora debe hacer clic en 'Aplicar' en el cuadro de diálogo Configuración de red para que el cambio sea persistente. (Para mí, esa fue la parte difícil)

También confirmando la ubicación de resolv.conf:

➜  ~ ls -al /etc/resolv.conf 
lrwxr-xr-x  1 root  wheel  22 May  1  2017 /etc/resolv.conf -> ../var/run/resolv.conf

➜  ~ ls -al /var/run/resolv.conf
-rw-r--r--  1 root  daemon  303 Nov 27 09:27 /var/run/resolv.conf

➜  ~ cat /var/run/resolv.conf
#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
search example.com
nameserver 8.8.4.4
nameserver 8.8.8.8

EDITAR: tenga en cuenta que '/ etc' es un enlace simbólico a 'private / etc'

    
respondido por el Thomas Kettenbach 27.11.2017 - 09:42
0

Encontré una solución hoy. En realidad, el archivo no es /etc/resolv.conf en mac OS. Es /var/run/resolv.conf

Haz esto:

sudo rm /etc/resolv.conf
sudo ln -s /var/run/resolv.conf /etc/resolv.conf
    
respondido por el nudeltabak 28.03.2017 - 17:45

Lea otras preguntas en las etiquetas