Cómo agrego un servidor DNS a través de resolv.conf?

Ser /etc/resolv.conf inútil en Ubuntu 12.04 LTS (Pangolín Preciso)?

Veo que la información del servidor DNS se almacena en NetworkManager ahora. El nmcli la herramienta de línea de comandos puede enumerar eso por usted.

Si quiero añadir una más DNS servidor, lo agregará a /etc/resolv.conf mediante el uso de la resolvconf paquete de ayuda?

Si /etc/resolv.conf contener nameserver 127.0.0.1 a continuación, agregue entradas a /etc/resolvconf/resolv.conf.d/tail realmente no hará nada útil.

Si está utilizando NetworkManager, en su lugar, debe agregar estáticamente direcciones de servidor de nombres a través de indicador de red: Editar Conexiones... | Editar... / Configuración de IPv4 / Servidores DNS adicionales.

Si realmente desea agregar más entradas a /etc/resolv.conf, crear un /etc/resolvconf/resolv.conf.d/tail y agréguelos allí.

Como 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 vínculo a

Encontré otro enfoque aqui eso implica agregar una línea como la de abajo a /etc/dhcp/dhclient.conf:

prepend domain-name-servers x.x.x.x, y.y.y.y;

Del mismo modo, encontré un tercer enfoque aqui eso implica agregar líneas a /etc/network/interfaces:

auto eth0iface eth0 inet static    . . .    dns-nameservers 8.8.8.8 8.8.4.4

Actualización: Aquí está el documentación oficial para el tercer enfoque.

Parece que estás hablando del paquete resolvconf.

Instale el resolvconf paquete.

Ejecutar

cd /etc/resolvconf/resolv.conf.dsudo cp -p head head.orig  #backup copy, always do thissudo nano head

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 /etc / resolv.se genera conf. Al final del archivo, agregue

nameserver <ip_of_nameserver>

Pulsar Ctrl x y responda sí para guardar el archivo. Para terminar, regenere /etc / resolv.conf para que los cambios se aplican ahora:

sudo resolvconf -u

A continuación, compruebe el contenido de /etc/resolv.conf para ver que la línea que agregó ahora está allí. Además, seguirá ahí la próxima vez que se inicie la máquina o se reinicie el servicio de red, lo que ocurra primero.

A continuación, le mostraré la mejor manera que he encontrado desde que ejecuto Ubuntu Server Edition 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ías escrito en resolv.conf ahora puede estar en el mismo archivo que las configuraciones de su adaptador de red como en el ejemplo a continuación:

# The loopback network interfaceauto loiface lo inet loopback# The Primary Network Interfaceauto eth0iface eth0 inet static        address 192.168.1.2        netmask 255.255.255.0        network 192.168.0.0        broadcast 192.168.1.255        gateway 192.168.1.1        dns-nameserver 75.75.75.75         dns-nameserver 75.75.76.76        dns-search local        wildcard mask 0.0.0.255        cidr prefix size /24        cidr notation 192.168.1.0/24        first host 192.168.1.255        last host 192.168.1.254        mac address J7:836:737:727:gsgd837:g645

Espero que esto ayude y lo haga más fácil como lo hace para mí, ahora podemos crear direcciones IP estáticas y agregar servidores de nombres y dominio DNS, todo en un solo archivo :)

El mío está ejecutando Ubuntu Server 12.04. He realizado los siguientes cambios y reinicié el servidor (por lo general, esto se puede hacer solo bajando la interfaz de red, es decir, ifdown eth0 o ifup eth0).

En archivo /etc/resolvconf/resolv.conf.d/base Agregué las siguientes entradas:

nameserver 8.8.8.8nameserver 8.8.4.4

Espero que lo anterior ayude!

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 desea. El resolvconf la utilidad solo escribe en el archivo /run/resolvconf/resolv.conf.

Nota: Esta respuesta fue para una versión de la Pregunta bastante diferente, previa a la fusión, con un enfoque solo en la espera previa de un servidor de nombres deseado.

Esto funciona pre-12.04:

Editar /etc/dhcp3/dhclient.conf y añadir :
prepend domain-name-servers 127.0.0.1;

(De hecho, esta línea ya está presente ; todo lo que necesita hacer es no-comentario.)

resolvconf es inútil. Estoy en un servidor Linux y mi Dirección IP es estático y mi DNS los servidores son estáticos. No necesito resolvconf o NetworkManager.

Mantenerlo simple es mi política cuando trabajo en un servidor. Cuanta 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 /etc/resolv.conf no es un enlace simbólico y acaba de crear un archivo estático. En caso de que un programa intente cambiar el archivo, lo hice chattr +i (inmutable) a /etc/resolv.conf como precaución.

La mayor parte de lo anterior asume que tiene un sistema prístino, pero la realidad a menudo es tal que ha estado instalando diferentes clientes DHCP, deshabilitó 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 de /etc/resolv.conf (que es un enlace simbólico a /run/resolvconf/resolv.conf en mi sistema):

cat /etc/resolv.conf# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 127.0.0.1

No importa con qué frecuencia corro sudo resolvconf -u o sudo dpkg-reconfigure resolvconf, no actualizó el servidor de nombres a los que configuré en NetworkManager. La información que resolvconf utiliza del NetworkManager estaba presente:

cat /run/resolvconf/interface/NetworkManager  nameserver 8.8.4.4nameserver 8.8.8.8

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 que no se eliminó con la desinstalación de dnsmasq:

cat /run/resolvconf/interface/lo.dnsmasq                        nameserver 127.0.0.1

Simplemente eliminando este archivo (y ejecutando sudo resolvconf -u después) resolví mis problemas de DNS:

cat /etc/resolv.conf                        # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 8.8.4.4nameserver 8.8.8.8 

Espero que esto ayude a otros con la depuración (las complejas interacciones entre todas estas diferentes herramientas de red) también. Si utiliza resolvconf asegúrate de correr ls /run/resolvconf/interfaces para ver qué hay ahí.

Acabo de eliminar un enlace en /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.

Creo que el comando mencionado anteriormente debería ser nm-tool, no nmcli.