¿Es /etc/resolv.conf
inútil en Ubuntu 12.04 LTS (Precise Pangolin)?
Veo que la información del servidor DNS se almacena en NetworkManager ahora. La nmcli
herramienta de línea de comandos puede enumerar eso por usted.
Si deseo agregar un servidor DNS más , ¿lo agregaré /etc/resolv.conf
usando la resolvconf
ayuda del paquete?
resolv.conf
PnotNP
fuente
fuente
nm-tool
, nonmcli
.Respuestas:
Si
/etc/resolv.conf
contiene,nameserver 127.0.0.1
entonces agregar entradas a/etc/resolvconf/resolv.conf.d/tail
realmente no hará nada útil.Si está utilizando NetworkManager, debe agregar estáticamente direcciones de servidor de nombres mediante el indicador de red : Editar conexiones ... | Editar ... | Configuración de IPv4 | Servidores DNS adicionales .
Si realmente desea agregar más entradas
/etc/resolv.conf
, cree una/etc/resolvconf/resolv.conf.d/tail
y agréguelas allí.Al igual que con todas las versiones de Ubuntu, se recomienda leer las Notas de la versión de Ubuntu, disponibles aquí:
Las secciones Escritorio e Infraestructura común contienen un enlace a
fuente
/etc/resolvconf/resolv.conf.d/tail
archivo o usar Network Manager? Gracias.dns-nameservers
a su sección eth0 en/etc/network/interfaces
./etc/resolvconf/update.d/libc
en el servidor Ubuntu 14.04.1:# Set TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS=no
# to allow additional nameserver addresses to be listed in
# resolv.conf after an initial loopback address 127.* or ::1.
( configúrelo/etc/default/resolvconf
, como las líneas 23 y 24 del/etc/resolvconf/update.d/libc
programa.Encontré otro enfoque aquí que implica agregar una línea como la siguiente para
/etc/dhcp/dhclient.conf
:Del mismo modo, encontré un tercer enfoque aquí que implica agregar líneas a
/etc/network/interfaces
:Actualización: Aquí está la documentación oficial para el tercer enfoque.
fuente
third approach
es, con mucho, la forma más sencilla de hacerlo./etc/resolvconf/resolv.conf.d/head
(después de superar el engañoso comentario "NO EDITAR" allí :))Parece que estás hablando del paquete resolvconf.
Instale el paquete resolvconf .
correr
La parte superior del archivo es una advertencia aterradora. El archivo /etc/resolv.conf se genera automáticamente a partir del contenido de este archivo; la advertencia está ahí, por lo que se colocará en /etc/resolv.conf cuando se genere /etc/resolv.conf. Al final del archivo, agregue
Presione Ctrl xy responda sí para guardar el archivo. Para terminar, regenere /etc/resolv.conf para que los cambios se apliquen ahora:
Luego verifique el contenido de /etc/resolv.conf para ver que la línea que agregó ahora está allí. Además, seguirá estando allí la próxima vez que su máquina se inicie o se reinicie su servicio de red, lo que ocurra primero.
fuente
A continuación, le mostraré la mejor manera que he encontrado desde que ejecuté la edición de Ubuntu Server y uso ifup en lugar de NetworkManager.
En realidad para mí lo hicieron más fácil :) al ponerlo todo en el archivo / etc / network / interfaces. Las mismas configuraciones que habría escrito en resolv.conf ahora pueden estar en el mismo archivo que las configuraciones de su adaptador de red como en el siguiente ejemplo:
Espero que esto ayude y lo haga más fácil para mí, ahora podemos crear direcciones IP estáticas y agregar servidores de nombres y dominios DNS en un solo archivo :)
fuente
El mío está ejecutando Ubuntu Server 12.04. Realicé los siguientes cambios y reinicié el servidor (por lo general, esto se puede hacer solo desactivando la interfaz de red, es decir,
ifdown eth0
oifup eth0
).En el archivo
/etc/resolvconf/resolv.conf.d/base
agregué las siguientes entradas:¡Espero que lo de arriba ayude!
fuente
Puede usar NetworkManager como se indica en la respuesta de Frank, pero si prefiere editar manualmente
/etc/resolv.conf
, puede hacerlo eliminándolo (en realidad es un enlace simbólico) y luego creando un nuevo archivo sin formato con el contenido que desee. Laresolvconf
utilidad solo escribe en el archivo/run/resolvconf/resolv.conf
.fuente
Nota: Esta respuesta fue para una versión bastante diferente, previa a la fusión de la Pregunta, con un enfoque solo en pre-pendiente de un servidor de nombres deseado.
Esto funciona antes de 12.04:
Editar
/etc/dhcp3/dhclient.conf
y agregar:prepend domain-name-servers 127.0.0.1;
(De hecho, esta línea ya está presente; todo lo que necesita hacer es descomentarla).
fuente
man dhclient.conf
para acceder a la página de manual de dhclient. (Esto no es una respuesta a la pregunta de Azendale.)resolvconf
es inútil Estoy en un servidor Linux y mi dirección IP es estática y mis servidores DNS son estáticos. No necesitoresolvconf
ni NetworkManager .Mantenerlo simple es mi política cuando trabajo en un servidor. Cuanto menos complejidad, más fácil será administrar / arreglar cuando las cosas se rompan.
Así que lo hice
aptitude purge resolvconf
y me aseguré manualmente de que/etc/resolv.conf
no sea un enlace simbólico y simplemente creé un archivo estático. En caso de que un programa intente cambiar el archivo, lo hicechattr +i
(inmutable)/etc/resolv.conf
como medida de precaución.fuente
La mayor parte de lo anterior supone que tiene un sistema inmaculado, pero la realidad a menudo es que ha estado instalando diferentes clientes dhcp, deshabilitado el administrador de red en ciertas versiones anteriores de Ubuntu, etc. Puede valer la pena saber lo siguiente. He estado usando dnsmasq por un tiempo, pero lo desinstalé. Actualmente mi sistema tenía los siguientes contenidos
/etc/resolv.conf
(que es un enlace simbólico/run/resolvconf/resolv.conf
en mi sistema):No importa con qué frecuencia ejecuto
sudo resolvconf -u
osudo dpkg-reconfigure resolvconf
no actualizó el servidor de nombres a los que configuré en el NetworkManager. La información que resolvconf utiliza del NetworkManager estaba presente:Sin embargo, resulta que si hay varios archivos en este directorio, es posible que este archivo no se use en absoluto. El culpable fue un archivo no eliminado con la desinstalación de dnsmasq:
Solo eliminar este archivo (y ejecutarlo
sudo resolvconf -u
después) resolvió mis problemas de dns:Espero que esto también ayude a otros con la depuración (las complejas interacciones entre todas estas diferentes herramientas de red). Si usa,
resolvconf
asegúrese de correrls /run/resolvconf/interfaces
para ver qué hay allí.fuente
/run/resolvconf/interface/
directorio, pero miNetworkManager
archivo necesitaba algo de amor. Su respuesta me ayudó a resolver este problema.Acabo de eliminar un enlace
/etc/resolv.conf
y creé un archivo regular con las direcciones de los servidores de nombres. Funciona, y no veo ninguna razón para usar esa construcción bastante extraña que los desarrolladores de Ubuntu han creado.fuente
Puede editar la conexión "AUTO ETH0" o el nombre que utilice para conectarse en NM. Puede hacer esto haciendo clic derecho en NM y seleccionando "Editar conexiones ...". En la pestaña IPv4, puede seleccionar "Solo direcciones automáticas (DHCP)" como "Método" y NM le permitirá configurar las direcciones del servidor de nombres manualmente, incluso las direcciones se entregan a través de DHCP.
fuente
Agregando mi parte a la lista ya larga, aquí hay otra forma (probado en 12.04):
Edite
/run/resolvconf/interface/NetworkManager
para satisfacer sus necesidades. Aquí hay un ejemplo:Luego, como se indicó para la mayoría de los otros ejemplos, haga a
sudo resolvconf -u
. Ahora encontrarás turesolv.conf
aspecto así:Todavía no me gusta la forma en que se implementa ahora (parece que Ubuntu necesita un servicio para cada cliente), y preferiría un plano
resolv.conf
seguro. Pero este enfoque parece ser el mejor compromiso para mí hasta ahora. El "localhost-NS" agregado no debería doler demasiado.fuente
Lo arreglé cambiando el orden de las fuentes. Moví la
dns
fuente antesmdns
en/etc/nsswitch.conf
:Puede mantener su configuración y seguir utilizando el servidor de almacenamiento en caché local de esta manera.
fuente
Qué tal si:
Antes de eso, use Network Manager para cambiar la dirección DNS y cambie el Método a
Luego ejecute el comando anterior y reinicie. Eso hizo la solución para mí.
fuente
fuente
Esta es una pregunta muy popular, con una colección de posibles respuestas estándar, todas las cuales, en mi opinión, son bastante extravagantes. Por mi parte, siempre he tenido problemas para hacer que Ubuntu respete la configuración de DNS que configuré en NetworkManager, en particular la configuración de servidores DNS estáticos con "direcciones automáticas (DHCP) solamente", y hoy finalmente descubrí qué estaba REALMENTE EQUIVOCADO.
El problema está en la interacción entre resolvconf y NetworkManager. resolvconf tiene este archivo llamado
/etc/resolvconf/interface-order
. Al menos en mis sistemas, NetworkManager no está en este archivo en absoluto (excepto que está cubierto por el comodín * al final). Entonces, lo que sucede es que el informe más reciente de dhclient a resolvconf tiene prioridad sobre cualquier cosa que NetworkManager tenga que decir.Por lo tanto, al menos en mi caso, la respuesta real fue agregar
en o cerca de la parte superior de
/etc/resolvconf/interface-order
.(Sí, sé que muchas personas simplemente dicen "desinstalar resolvconf", lo que me parece una mala idea en sí misma. Pero más que eso, al menos astuto y xenial consideran resolvconf como una parte vital del sistema [es decir, ubuntu -minimal depende de ello], por lo que sería difícil mantener su sistema en un estado coherente y actualizado sin resolvconf).
Si lo solicito, puedo proporcionar más detalles sobre cómo resolví esto.( EDITAR : aparentemente no lo hice cuando me lo pidieron, lo siento. En este momento no recuerdo muchos más detalles de lo que digo a continuación :) En pocas palabras, reemplacé el ejecutable resolvconf con un envoltorio de shell a su alrededor. que volcó sus argumentos, entrada, salida y stderr a los archivos; y agregó set -x a los scripts de actualización de resolvconf.( EDITAR : puedo decir que lo que quiero decir con la primera parte es que usé sudo para mover el ejecutable resolvconf real, que se puede encontrar usando el comando which o el comando type. Luego crea un script de shell que finalmente solo ejecuta el movido resolvconf, pero también hace eco de los argumentos de algún archivo, y utiliza la redirección de shell para enviar stdin, stdout y stderr a varios otros archivos. No recuerdo dónde están los "scripts de actualización de resolvconf" y no puedo verificarlos fácilmente. Creo muchos geeks de Linux pueden entender lo que quiero decir; tal vez algún buen samaritano proporcionará aún más detalles en un comentario).
fuente
Otra forma es definir servidores dns específicos de Docker en:
Si no tiene ese archivo, simplemente créelo:
Fuente: https://robinwinslow.uk/2016/06/23/fix-docker-networking-dns/
Además, consulte: https://docs.docker.com/engine/reference/commandline/dockerd/#/daemon-configuration-file
fuente
Para cambiar DNS, siga las instrucciones en: https://developers.google.com/speed/public-dns/docs/using
Ir a la red
Seleccione la conexión para la que desea configurar el DNS.
Para cambiar la configuración de una conexión inalámbrica, seleccione la pestaña Inalámbrica, luego seleccione la red inalámbrica adecuada.
Haga clic en la flecha (derecha) y en la ventana que aparece, seleccione la pestaña Configuración de IPv4 o Configuración de IPv6.
Si el método seleccionado es Automático (DHCP), abra el menú desplegable y seleccione solo las direcciones Automáticas (DHCP). Si el método se establece en otra cosa, no lo cambie.
En el campo Servidores DNS, ingrese las direcciones IP de DNS, separadas por una coma
fuente
0.Agregue DNS temporal. Edite /etc/resolv.conf.
1.Instale o actualice resolvconf.
2.Agregue su servidor de nombres en /etc/resolvconf/resolv.conf.d/tail
3. Reinicie su máquina.
fuente