resolv.conf no se configura al reiniciar cuando la red está configurada para ip estática

17

Estoy experimentando lo que parece ser un problema de resolución de nombres en Ubuntu 12.04 Server edition cuando configuro mi computadora para usar ip estática.

En / etc / network / interfaces:

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1

Al ejecutarse $ sudo apt-get upgrade, aparece el mensaje 'No se pudo recuperar ...':

. . . W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise-backports/universe/i18n/Translation-en_US Something wicked happened resolving 'us.archive.ubuntu.com:http' (-5 - No address associated with hostname)
[...]

Cuando cambio mi / etc / network / interfaces a:

auto eth0
iface eth0 inet dhcp

Todo funciona bien

Examinar /etc/resolv.conf proporciona algunas sugerencias más.

En los casos en que recibía el problema de resolución, resolv.conf estaba vacío; no se especificaron servidores de nombres. Luego cambié a DHCP de red estática y reinicié; /etc/resolv.conf se cambió a: 'nameserver 192.168.1.1'.

Cambiar de DHCP a estático y reiniciar no elimina la entrada del servidor de nombres. Pero cuando reinicié el sistema con el conjunto estático, resolv.conf estaba vacío. Cuando reinicio el sistema con DHCP configurado, resolv.conf tiene el servidor de nombres 192.168.1.1. Entonces, ¿parece que el problema es que resolve.conf no se escribe correctamente? ¿Qué paquete / código es responsable de escribir en resolv.conf? ¿Hay algún paquete en particular en el que pueda echar un vistazo a los problemas abiertos?

ACTUALIZACIÓN: istream publicó un buen artículo discutiendo los cambios a resolve.conf en 12.04. http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/

Kenneth Koontz
fuente
2
Si todo funciona bien cuando lo usa DHCP, entonces, ¿qué "problema" es que desea que las sugerencias "solucionen"? ¿Cómo es tu LAN? ¿Qué tipo de enrutador estás usando? (¿Qué hay en 192.168.1.1?) ¿Qué servidores DNS especifica cuando usa una IP estática?
John irracional
1
Título actualizado para reflejar los síntomas con mayor precisión y agregar más hallazgos
kenneth koontz
¡+1 para editar la pregunta y el título para mejorarlos a pesar de que ya tenía su respuesta!
John irracional
1
Se agregó la referencia de istream a los cambios en dns en ubuntu 12.04.
kenneth koontz

Respuestas:

16

Según la página man resolvconf (ejemplo proporcionado en la página man), agregue lo siguiente a su / etc / network / interfaces en su configuración estática:

dns-nameservers [IP address(es) of your DNS]     
dns-search      [your dns-search strings (optional)]
ukjola
fuente
Perfecto. ¡Esto funciona!
kenneth koontz
Sin embargo, lo que es extraño es en 11.10 No tuve que especificar dns-nameservers.
kenneth koontz
Así es. En 12.04 Ubuntu comenzó a usar resolvconf para manejar resolv.conf. Es resolvconf que lee la dns-nameserversopción en / e / n / i.
jdthood
1

¿Está seguro de que proporcionó 192.168.1.1el valor para el DNS cuando configuró la IP estática?

No sé cómo hacer esto desde la línea de comandos, pero usar la System Settings -> NetworkGUI también debería funcionar, ¿no? Todo lo que estoy pensando es que quieres algo como la captura de pantalla a continuación. ¿O no entiendo lo que estás tratando de hacer?

Configuración de red con IP estática, ruta predeterminada, servidor DNS

Nota: ignore los valores en la ventana de la izquierda. Esos son solo mis valores de DHCP. No me molesté en guardar la configuración estática ya que solo estaba tratando de ilustrar lo que estaba pensando.

Por cierto, solía 192.168.1.1porque eso era lo que estabas usando. Pero también podría usar las IP para cualquier servidor DNS válido. Por ejemplo, 8.8.8.8y / o 208.67.222.222también debería funcionar.

John irracional
fuente
Gracias por la solucion. Sin embargo, no estoy usando una computadora de escritorio.
kenneth koontz
@kennethkoontz No entiendo. ¿Estás usando el servidor Ubuntu? Si no está utilizando la instalación de escritorio típica de 12.04, edite su pregunta y agréguele esta información.
John irracional
2
Perdón por la confusion. Debería haber dicho: "No estoy usando la edición de escritorio. Estoy usando la edición del servidor". Actualizaré la publicación de preguntas para eliminar la ambigüedad.
kenneth koontz
0

Si no desea (o no puede) usar el applet Network Manager para configurar su configuración de red, encuentro la manera correcta de configurar una configuración de IP "estática" , para cuando no tiene un servidor DHCP disponible, es tener un contrato de arrendamiento estático en el dhclient.conf. Allí debe especificar el servidor de nombres que se escribirá en el resolv.confarchivo cuando dhclient recurra a static.

Sin embargo, si no quiere ensuciarse las manos, le recomiendo usar la GUI para especificar una dirección de servidor DNS en la configuración de IP de su conexión, como en /ubuntu//a/127537/33305 .

Simón
fuente
0

El OP está utilizando el servidor ed. NetworkManager no se aplica ... aunque quién sabe, tal vez se agregará solo para agregar complejidad al servidor.

Para el caso, ¿por qué en el mundo resolvconf se agregó al servidor ed ... ¿POR QUÉ?

De todos modos para responder a su pregunta agregue:

/ etc / network / interfaces

algo como esto:

auto eth0 inet static
     dns-nameservers ns1.mydnsservers.com ns2.mydnsservers.com

La opción importante es "dns-nameservers".

jbowen7
fuente