74 votos

¿Cómo puedo solucionar de resolución DNS que no funciona después de actualizar a Ubuntu 13.10 (Descarado)

Después de la actualización a 13.10 mi DNS resolver la falla. Parece que los servidores de DNS que puedo obtener por DHCP (LAN) no se utilizan.

Yo podría temporal de resolver el problema mediante la adición de nameserver 8.8.8.8 a /etc/resolv.conf. Pero luego de la intranet de la hosts todavía no puede ser resuelto.

Al hacer clic en la Información de Conexión del elemento de menú en el indicador de red, DNS Primario y DNS Secundario están configurados correctamente. Pero mi equipo costuras no hacer uso de ellas.

Así que mis preguntas:

  • ¿Qué debo poner en resolv.conf, si nada?
  • Cómo saber, que los servidores de nombre de mi equipo es la consulta?
  • Dónde buscar siguiente, para averiguar, por qué los servidores de nombre recibido por el servidor de DHCP no se utilizan?

86voto

Adisak Puntos 178

En primer lugar usted necesita saber un poco acerca de cómo el nombre de resolver funciona en Ubuntu desde Ubuntu 12.04.

Stéphane Graber escribió en su blog algo de información sobre ella el año pasado (https://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/). La cosa más importante a saber es que tanto el Servidor de Ubuntu y Ubuntu Desktop uso resolvconf para gestionar el resolv.conf archivo. Eso significa que usted ya no debe editar el archivo /etc/resolv.conf directamente; en su lugar debe configurar la interfaz de red de la utilidad de configuración para proporcionar la información correcta a resolvconf. Para Ubuntu Servidor de la interfaz de red de la utilidad de configuración es ifup y es configurado en el archivo /etc/network/interfaces. Para Ubuntu de Escritorio de la interfaz de red de la utilidad de configuración es NetworkManager. Esto es lo que usted está utilizando.

NetworkManager es que se configura por medio de la red de indicador | Edit Connections.... Sin embargo, para las interfaces de red configurado por DHCP normalmente no es necesario cambiar la configuración manualmente. Normalmente lo que sucede es que la (remota) servidor DHCP proporciona a NetworkManager una dirección IP para la interfaz local y la dirección de un (a distancia) de servidor de nombres DNS a utilizar. NetworkManager se inicia una instancia de un reenvío de servidor de nombres que se escucha a nivel local en 127.0.1.1. Esta dirección, 127.0.1.1, es enviado a resolvconf que pone nameserver 127.0.1.1 en /etc/resolv.conf. NetworkManager también da la (remota) de la dirección IP de DHCP siempre de servidor de nombres DNS para el reenvío de un servidor de nombres. Así, un programa que se ejecuta en el sistema local pide a la resolución de traducir un nombre de host en una dirección IP; la resolución de las consultas de los locales de reenvío de servidor de nombres en 127.0.1.1; el reenvío de servidor de nombres consulta remoto servidor de nombres(s) se ha contado, no recibe una respuesta y la envía de nuevo la cadena.

NetworkManager se comunica con el reenvío de servidor de nombres proceso de D-Bus. Usted puede ver lo que NetworkManager dijo el reenvío de servidor de nombres ejecutando el comando nmcli dev list iface eth0 | grep IP4.DNS.

Actualización derivadas de los comentarios: tenga en cuenta que resolvconf realmente escribe el archivo /ejecutar/resolvconf/resolv.conf a /etc/resolv.conf se supone que es un enlace simbólico. Si /etc/resolv.conf no es un enlace simbólico, entonces usted necesita para volver a crear. Para ello se puede ejecutar sudo dpkg-reconfigure resolvconf o sudo ln -sf ../run/resolvconf/resolv.conf /etc/resolv.conf.

50voto

Hice el cambio sugerido en el enlace de abajo (desactivación de dnsmasq). Ahora todo funciona de maravilla! http://www.ubuntugeek.com/how-to-disable-dnsmasq-in-ubuntu-12-04precise.html

Abra /etc/NetworkManager/NetworkManager.conf archivo.

sudo gedit /etc/NetworkManager/NetworkManager.conf

Comentar la siguiente línea

dns=dnsmasq

/ Richard

21voto

Henrique Puntos 292

EDIT 2: el post Anterior fue justamente eliminados por la moderación, voy a postear lo que he encontrado para ser una solución. Lo siento por eso.

EDIT: acabo de encontrar la respuesta y es en esta misma página - lo siento por mi miopy. He publicado mis hallazgos a continuación, la expansión de la respuesta correcta por Richard Lindstedt se encuentran en esta página. Salí de mis primeros estruendo de un poco de contexto. Por favor upvote Richard respuesta, se lo merece.

De hecho, es muy fácil.

acaba de abrir sus interfaces conf archivo --> sudo vi /etc/network/interfaces

Seguro que no ayuda el OP y no me ayuda ahora. No queremos direcciones estáticas, queremos utilizar los que el servidor DHCP envía a nosotros. NetworkManager parece que les reconozca, pero Ubuntu sin rodeos ignora:

# nmcli dev list iface wlan0 | grep IP4.DNS
IP4.DNS[1]:          10.*.*.*
IP4.DNS[2]:          10.*.*.*
IP4.DNS[3]:          8.8.8.8

Pero...

# dig microsoft.com
; <<>> DiG 9.9.5-4.3-Ubuntu <<>> microsoft.com
;; global options: cmd
;; connection timed out; no servers could be reached

Y mi /etc/network/interfaces:

auto lo
iface lo inet loopback

que es un poco extraño, yo esperaría que todas las interfaces se declaró aquí (o me estoy perdiendo algo?).

Así que, en resumen:

  • No me lío con cualquier archivo para iniciar con
  • Ya he ejecute dpkg-reconfigure resolvconf
  • El derecho de enlace simbólico está en su lugar
  • NetworkManager recupera el DNS correcto servidores de DHCP
  • Ubuntu NO se utilizan estas direcciones
  • La solución es poner fijo 8.8.8.8 en /etc/network/interfaces QUE NO QUIERO
  • Quiero usar el servidor DHCP proporciona los servidores DNS en todas las situaciones.

No abrir otro hilo, porque es el problema exacto, excepto estoy en 14.10 ahora (pero esto ha estado molestando desde de actualización de 12.10 a 13.04).

SOLUCIÓN

Esa última frase me puso sobre la pista de la derecha, y sólo entonces me di cuenta de Richard respuesta.

El problema parece estar relacionado con el conflicto dnsmasq y resolvconf paquetes. Hasta 12.10, dnsmasq fue utilizado. Desde 13.04 en adelante, Ubuntu parecía cambiar a un dnsmasq/resolvconf híbrido, donde se han instalado los paquetes dnsmasq-base y resolvconf, pero no dnsmasq sí.

Yo no puedo decir si es un error en los scripts de actualización para 13.04 o algo más, porque al actualizar (como en nuevas instalaciones) resolvconf está instalado, dnsmasq-base se actualiza y dnsmasq es (correctamente) desinstalado.

La captura es, la secuencia de comandos de actualización falla para comentar la dns=dnsmasq línea /etc/NetworkManager/NetworkManager.conf. Así que, aunque el dnsmasq demonio no está presente ya en el sistema, /etc/resolv.conf todavía espera.

8voto

Rob B Puntos 18

De hecho, es muy fácil.

sólo tiene que abrir el fichero de configuración de las interfaces --> sudo vi /etc/network/interfaces

y en virtud de su interfaz (probablemente eth0) podrás ver todos los habituales de configuración.

address 192.168.22.71
netmask 255.255.255.0
gateway 192.168.22.1

Después de la puerta de enlace sólo añadir "dns-nameservers 8.8.8.8 8.8.8.9' o lo que sea de servidor de nombres que vamos a utilizar.

Para su configuración debe ser:

address 192.168.22.71
netmask 255.255.255.0
gateway 192.168.22.1
dns-nameservers 8.8.8.8 8.8.8.9

a continuación, sólo hacer un "sudo service networking restart' y ya está bueno para ir!

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X