Saltar al contenido

¿Cómo consigo que resolvconf regenere resolv.conf después de cambiar /etc/network/interfaces?

Nuestros mejores programadores agotaron sus reservas de café, investigando a tiempo completo por la respuesta, hasta que Enrique halló la solución en Gogs por lo tanto hoy la comparte aquí.

Solución:

service networking restart no siempre es una forma confiable de reducir todas las interfaces.

los resolvconf -u actualizaciones de comando solamente resolv.conf de la propia base de datos de resolvconf. Necesitas actualizar la base de datos.

Para actualizar la base de datos, debe llamar a resolvconf con el -a o -d opción. Eso sucede detrás de escena cuando ejecutas ifup o ifdown. Entonces, normalmente, como con cualquier otro cambio en /etc/network/interfaces, para activar cambios en las opciones de dns-* hay que si bajar la interfaz en cuestión y volver a subirla. O puede reiniciar.

Si desea realizar cambios en una interfaz sin descargarla (quizás porque está administrando la máquina de forma remota y está conectado a través de esa interfaz, naturalmente), puede lograr el mismo resultado ejecutando resolvconf directamente desde la línea de comandos. Esto requiere un poco más de conocimiento de la semántica de resolvconf. Suponga que la estrofa / e / n / i relevante es

iface IIII FFFF static
    address ...
    ...
    dns-nameservers X.X.X.X Y.Y.Y.Y
    dns-search SSSS

donde FFFF es un dirección de la familia (“inet” o “inet6”).

Para activar estas opciones dns-*, ejecute resolvconf de la siguiente manera (sí, con saltos de línea en el string conectado a resolvconf).

echo "nameserver X.X.X.X
nameserver Y.Y.Y.Y
search SSSS" | sudo resolvconf -a IIII.FFFF

Para la estrofa dada en la pregunta, esto sería lo siguiente.

echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com" | sudo resolvconf -a eth0.inet

Consulte la página del manual de resolvconf(8) y el archivo LÉAME del paquete de resolvconf (/usr/share/doc/resolvconf/README.gz) para obtener más información.

Aunque la página de manual no está instalada de forma predeterminada, está documentada a través de la opción de scripts de actualización, simplemente ejecute:

sudo resolvconf -u

Para aquellos de ustedes que administran sus servidores de forma remota, pueden:

  1. actualizar el dns-nameservers en linea /etc/network/interfaces
  2. # ifdown eth01; ifup eth01

Tenga en cuenta que esto tiene que estar en una línea dividida con ; (el separador de línea de comandos de Linux). Ni siquiera deberías perder tu conexión actual. La excepción es cometer un error tipográfico en el archivo de interfaces. Si esto pasa ifup fallará y tendrá que tener acceso físico u otro ethxx conexión.

Sección de Reseñas y Valoraciones

Ten en cuenta recomendar este artículo si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *