¿Cómo configuro mi DNS cuando se sobrescribe resolv.conf?


279

La mayoría de la información que veo en línea dice que se edite /etc/resolv.conf, pero cualquier cambio que haga allí se anula.

$ 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 OVERWRITTEN
nameserver 127.0.1.1

Parece que 127.0.1.1 es una instancia local de dnsmasq. Los dnsmasqdocumentos dicen editar /etc/resolv.conf. Intenté poner servidores de nombres personalizados /etc/resolv.conf.d/base, pero los cambios no aparecieron /etc/resolv.confdespués de la ejecución sudo resolvconf -u.

Para su información, no quiero cambiar el DNS por conexión, quiero establecer la configuración predeterminada de DNS para usar en todas las conexiones cuando no se especifique lo contrario.

ACTUALIZAR:

Yo mismo respondí esta pregunta: https://unix.stackexchange.com/a/163506/67024

Creo que es la mejor solución ya que:

  1. Funciona.
  2. Requiere la menor cantidad de cambios y
  3. Todavía funciona junto con el caché DNS de dnsmasq, en lugar de omitirlo.

Mejor responda su pregunta en lugar de actualizar su pregunta, creo ... será más fácil encontrar la respuesta correcta que dio a su problema
Philippe Gachoud

Parece que la mayoría de las respuestas están orientadas a Ubuntu y son demasiado complicadas. Una solución universal para los usuarios NetworkManager es simplemente agregar dns=noneen /etc/NetworkManager/NetworkManager.conf(ver detalles en mi respuesta a continuación).
Skippy le Grand Gourou

Creo que esta respuesta aclara por qué se sobrescribe el resolve.conf, entonces ya sabe cómo configurarlo.
foman

Respuestas:


250

Creo que si desea anular el servidor de nombres DNS, simplemente agregue una línea similar a esta en su basearchivo debajo resolv.conf.d.

Ejemplo

$ sudo vim /etc/resolvconf/resolv.conf.d/base

Luego ponga su lista de servidores de nombres de esta manera:

nameserver 8.8.8.8
nameserver 8.8.4.4

Finalmente actualizar resolvconf:

$ sudo resolvconf -u

Si echa un vistazo a la página del manual, resolvconfse describen los diferentes archivos que se encuentran debajo /etc/resolvconf/resolv.conf.d/.

   /etc/resolvconf/resolv.conf.d/base
          File  containing  basic  resolver  information.  The lines in this 
          file are included in the resolver configuration file even when no
          interfaces are configured.

   /etc/resolvconf/resolv.conf.d/head
          File to be prepended to the dynamically generated resolver 
          configuration file.  Normally this is just a comment line.

   /etc/resolvconf/resolv.conf.d/tail
          File to be appended to the dynamically generated resolver 
          configuration file.  To append nothing, make this  an  empty  
          file.   This file is a good place to put a resolver options line 
          if one is needed, e.g.,

              options inet6

Aunque hay una advertencia en la parte superior del headarchivo:

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

esta advertencia está ahí para que, cuando se construyan estos archivos, la advertencia finalmente llegue al resolv.confarchivo resultante que se utilizarán para crear estos archivos. Por lo tanto, también podría haber agregado nameserveral basearchivo las líneas que se describen anteriormente para el archivo head.

Referencias


21
Ubuntu 14.04 - cuando puse los servidores de nombres basey resolvconf -ulos ejecuté, los servidores de nombres no se pusieron en resolv.conf - cuando puse los servidores de nombres head, fueron
HorusKol

77
Ubuntu 14.04 - También tuve que comentar la configuración establecida/run/resolvconf/interface/NetworkManager
bitsoflogic

3
escriba nslookup google.comy la primera IP en la lista debería ser su nuevo servidor de nombres, si no, lo hizo mal
frazras

66
Ubuntu 16.04: funcionaba si /etc/resolvconf/resolv.conf.d/headsolo se agregaba , no con base. Confirmó con nslookup google.com.
Acumenus

3
Inicialmente, debe haber resolvconfinstalado. Puedes instalarlo haciendo sudo apt-get install resolvconf.
MAChitgarha

79

También estoy interesado en esta pregunta y probé la solución propuesta @sim.

Para probarlo, pongo

nameserver 8.8.8.8

en /etc/resolvconf/resolv.conf.d/basey

nameserver 8.8.4.4

en /etc/resolvconf/resolv.conf.d/head

Luego reinicié la red con

sudo service network-manager restart

El resultado es que /etc/resolv.confparece

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

y nm-toolafirma que el servidor dns son

DNS:             208.67.222.222
DNS:             208.67.220.220

cuáles son las proporcionadas por mi enrutador. Por otro lado, cavar una dirección dice que

;; Query time: 28 msec
;; SERVER: 8.8.4.4#53(8.8.4.4)

Si tengo razón, concluyo de todo esto que

  1. resolvonf solo lee la parte "cabeza": dnsmasq controla de alguna manera la parte "base"
  2. dnsserver se ve obligado a 8.8.4.4 independientemente del servidor proporcionado por dhcp, PERO pierde el almacenamiento en caché proporcionado por dnsmasq, ya que la solicitud siempre se envía a 8.8.4.4
  3. dnsmasq todavía usa SOLO el dnsserver proporcionado por dhcp.

En general, funciona, pero no creo que sea el resultado deseado solicitado. Una solución más cercana, creo, es la siguiente. Editar

sudo vim /etc/dhcp/dhclient.conf

Luego añade

supersede domain-name-servers 8.8.8.8;

El resultado es el siguiente: resolv.conf contiene solo 127.0.0.1, lo que significa que se invoca dnsmasq cache y nm-tool dice

DNS:             8.8.8.8

lo que significa que si el nombre buscado no está en la memoria caché, se solicita en 8.8.8.8 y no en el servidor proporcionado por dhcp.

Otra opción (quizás mejor) es usar "anteponer" en lugar de "reemplazar": de esta manera, si el nombre no se resuelve en 8.8.8.8, la solicitud recae en el otro servidor. De hecho, nm-tool dice

DNS:             8.8.8.8    
DNS:             208.67.222.222
DNS:             208.67.220.220

44
Una respuesta mucho mejor que piratear las configuraciones de NS. Especialmente la opción de anteponer un servidor frente a los dhcp provistos. ¡Parece el equilibrio perfecto para resolver el problema, sin crear otros nuevos!
Steve Midgley

2
Tanta claridad y pensamientos en la respuesta y no solo una orden.
igaurav

3
Yo hombre! "reemplazar servidores de nombres de dominio 8.8.8.8;" es LA respuesta
Jack

Vale la pena señalar que la herramienta nm ha sido reemplazada por nmcli
Fiddy Bux

59

Descubrí que puede cambiar los servidores de nombres que dnsmasqusa agregando las siguientes líneas a /etc/dnsmasq.conf:

server=8.8.8.8
server=8.8.4.4

Sin embargo, no tenía un /etc/dnsmasq.confarchivo, ya que está instalado por el paquete dnsmasq, pero Ubuntu solo viene con dnsmasq-base. Corrí sudo apt-get install dnsmasq, luego edité /etc/dnsmasq.conf, luego sudo service dnsmasq restarty sudo service network-manager restart.

Corrí sudo tail -n 200 /var/log/syslogpara verificar mi syslog y verificar que dnsmasqestaba usando los servidores de nombres que especifiqué:

Oct 21 23:00:54 mylaptop dnsmasq[8611]: using nameserver 8.8.8.8#53
Oct 21 23:00:54 mylaptop dnsmasq[8611]: using nameserver 8.8.4.4#53

44
Hay una razón por la cual esto está marcado como la mejor respuesta ... ¡porque sí lo es! ¡muchas gracias! Agregaría que, después de todos los pasos que mencionó, podría ser necesario reiniciar la red para que todo funcione sin problemas (fue para mí ... sudo service network-manager restart)
Clint Eastwood

3
En el servidor Ubuntu 14.04, aproximadamente la mitad del tiempo, un arranque en frío no daría acceso a Internet utilizando una URL, pero una dirección IP funcionaría. Pasé mucho tiempo infructuosamente tratando de arreglarlo, me di por vencido durante meses y luego encontré esta solución. Yo también creo que es la mejor respuesta.
Nate Lockwood

Es interesante que dnsmasq tenga que estar instalado. De hecho, esto solucionó mi DNS en una situación normal, pero rompió totalmente mi configuración de VPN (la conexión de VPN ahora falla ...)
PlasmaBinturong

22

Para situaciones de IP estática, la Guía del servidor de Ubuntu dice que cambie el archivo / etc / network / interfaces, que puede verse así:

iface eth0 inet static
address 192.168.3.3
netmask 255.255.255.0
gateway 192.168.3.1
dns-search example.com
dns-nameservers 192.168.3.45 192.168.8.10

Cambia las IP 192.168.3.45 192.168.8.10 por las que desea, como 8.8.8.8

https://help.ubuntu.com/14.04/serverguide/serverguide.pdf Página 38


Esto ciertamente parece correcto, pero ¿cómo regenero ahora resolv.conf ?!
Joel Berger

3
@JoelBerger ifdown eth0; ifup eth0.
Dzamo Norton

17
  1. Buscar 'Conexión de red'
  2. Abrelo

                        ingrese la descripción de la imagen aquí

  3. Luego seleccione WiFi o Ethernet, o lo que sea que esté usando, y haga clic en editar. Obtendrás esto:

                  ingrese la descripción de la imagen aquí

  4. Seleccione ipv4 en pestañas

  5. Seleccionar direcciones solo en el método
  6. Ingrese su nombre DNS a continuación y guárdelo

  7. Ya terminaste


Sin embargo, tendría que hacer esto para cada conexión de red. En el pasado, podía cambiar el valor predeterminado para todas las conexiones, que es lo que estaba buscando hacer aquí.
Seán Hayes

2
¡Te amo! Esta configuración de interfaz de usuario salvó mi trasero de sudo y vim mess: '(
Luke

Usando Mint (en Ubuntu 14.04), pero visto esto también con KDE, por alguna razón, configurar servidores DNS en el GUI Network Manager no afecta la configuración de DNS utilizada en un terminal
HorusKol

2
La mejor respuesta en mi humilde opinión. En Ubuntu 14.04 obtuve 2 direcciones IP externas para DNS que no reconocerían clientes dentro de mi red doméstica. Dejar el Método en 'Automático (DHCP)' para la conexión por cable agregó la dirección IP de mi enrutador a la lista existente. Para la conexión inalámbrica a través de wlan0, eso no funcionó, pero el Método en 'Direcciones automáticas (DHCP) solo' reemplazó las direcciones externas con la dirección IP de mi enrutador y eso también funcionó. Aplicar cambios con sudo service network-manager restart, esperar un poco, verificar con nmcli d list | grep 'DNS\|IP-IFACE'. Y haga ping a su cliente interno por su nombre.
RolfBly

13

Una solución rápida y sucia que aún no se mencionó es establecer el indicador inmutable en el resolv.confarchivo justo después de editarlo.

$ sudo nano /etc/resolv.conf

Agregue esto y guarde:

nameserver 8.8.8.8

Entonces:

$ sudo chattr +i /etc/resolv.conf

Eso debería hacer el truco. También hago esto en mi sistema.


18
Cada vez que su solución involucra chattr, no es realmente una solución.
Jeff Jirsa

1
Esto es lo que hago en los sistemas donde necesito cambiar temporalmente el DNS por alguna razón y no quiero modificar la configuración. Como solución permanente no lo recomendaría.
hochl

3
"solución rápida y sucia"
YouniS Bensalah

10
Esto no está sucio Los programas que destruyen la configuración local porque piensan que saben mejor están sucios.

11

Configuración de DNS en Linux

El uso de DNS en Linux se realiza a través de un conjunto de rutinas en la biblioteca C que proporcionan acceso al Sistema de nombres de dominio de Internet (DNS). El archivo de configuración de resolución ( resolv.conf) contiene información que las rutinas de resolución leen la primera vez que un proceso las invoca. En resumen, cada proceso que solicite DNS se leerá /etc/resolv.confen la biblioteca. El NSS se superpone en capas y está configurado por /etc/nsswitch.conf.

La configuración de DNS de Linux se encuentra en el archivo /etc/resolv.conf PERO hay una serie de programas / servicios que desean administrar y manejar automáticamente el archivo de configuración de DNS en /etc/resolv.conf. En algunas situaciones, es posible que desee administrar este archivo usted mismo. Cada programa / servicio que administra DNS tiene sus propios archivos de configuración como /etc/dnsmasq.conf(para el servicio dnsmasq) y agrega la configuración de DNS en el cambio de conexión y / o en otros eventos ... una solución rápida es bloquear el archivo de configuración de DNS chattr +i /etc/resolv.confpero esto no es recomendable en cierto caso, una mejor solución es configurar correctamente todos los programas / servicios usando el DNS como (dnsmasq / network-manager / resolvconf / etc.)

Recuperando el control de DNS

Aquí hay una lista exhaustiva de configuraciones para recuperar el control de resolv.conf y evitar que se sobrescriba ( cómo deshabilitar / configurar DNS desde otra ubicación que no sea resolv.conf ) tenga en cuenta que resolvconf es un programa independiente de resolv.conf, también dependiendo de su sistema / configuración, es posible que no tenga uno o muchos de los programas enumerados aquí.

1. Resolvconf:

Archivos de configuración

cat /etc/resolvconf/resolv.conf.d/head
nameserver 8.8.4.4
cat /etc/resolvconf/resolv.conf.d/base
nameserver 8.8.4.4

Actualiza la configuración

sudo resolvconf -u

Deshabilitar resolvconf

systemctl disable --now resolvconf.service 

2. Servicio Dnsmasq:

Archivos de configuración

cat /etc/dnsmasq.conf
server=1.1.1.1
server=8.8.4.4

Actualiza la configuración

sudo systemctl restart dnsmasq.service

3. Administrador de red:

Archivos de configuración

/etc/NetworkManager/*

Deshabilitar DNS

$ cat /etc/NetworkManager/conf.d/no-dns.conf
[main]
dns=none

Habilitar DNS

$ cat /etc/NetworkManager/conf.d/dns.conf
[main]
dns=default

[global-dns]
searches=example.com

[global-dns-domain-*]

Usar servicio resuelto

$ cat /usr/lib/NetworkManager/conf.d/resolved.conf 
[main]
dns=systemd-resolved

Use resolvconf

$ cat /usr/lib/NetworkManager/conf.d/resolvconf.conf 
[main]
rc-manager=resolvconf

Actualiza la configuración

systemctl restart NetworkManager.service

4. Interfaces de red:

Archivos de configuración

$ cat /etc/network/interfaces
#nameservers
# or dns-search like so
# dns-search x.y 
dns-nameservers 4.4.4.4 8.8.8.8

Actualizar la configuración

reboot

5. Cliente DHCP:

Archivos de configuración

$ cat /etc/dhcp3/dhclient.conf
supersede domain-name-servers <dns_ip_address1>,<dns_ip_address2>;

Actualizar la configuración

reboot

6. Servicio de Rdnssd:

Deshabilitar rdnssd

systemctl disable --now rdnssd.service

7. Servicio resuelto:

Deshabilitar resuelto

systemctl disable --now systemd-resolved.service

8. Netconfig:

Archivos de configuración

/etc/sysconfig/network/config

Deshabilitar netconfig

cat /etc/sysconfig/network/config
NETCONFIG_DNS_POLICY=""

Actualizar la configuración

reboot

Configuración del servidor DNS

Ejemplo de una /etc/resolv.confconfiguración

#Cloudflare
nameserver 1.0.0.1

#Google
#nameserver 8.8.8.8
#nameserver 8.8.4.4

#Cloudflare 
#nameserver 1.1.1.1

#Classic Config
#nameserver 192.168.1.1
#search lan

10

Mi problema era un poco diferente, quería anular los servidores DNS de mis enrutadores. Encontré este enlace de Ubuntu: https://wiki.ubuntu.com/OverrideDNSServers

Dice: si desea anular la configuración de DNS que le proporcionó un servidor DHCP, abra

/etc/dhcp3/dhclient.conf

y agregue la siguiente línea:

supersede domain-name-servers <dns_ip_address1>,<dns_ip_address2>;

reemplazando <dns_ip_address*>artículos con el contenido apropiado.


Esta es la respuesta que resolvió mi problema.
Michael

Perfecto. Simplemente agregue que debe suudir el reinicio de la red de servicios para habilitar los cambios.
Nick Triantafillou

¿Qué pasa si no tenemos esa dhcp3carpeta? Tengo Xubuntu 17.10, ¿se ha movido a /etc/dhcpsimplemente?
PlasmaBinturong

4

Tal vez me falta algo, pero de acuerdo con las instrucciones de configuración en https://help.ubuntu.com/14.04/serverguide/network-configuration.html, todo lo que debe hacer es actualizar lo siguiente. No estoy ejecutando un proxy, solo una máquina detrás de un firewall y DNS local (el ejemplo muestra Google, pero configúrelo en lo que necesite).

nano /etc/network/interfaces

Defecto:

# This file...
# and how to activate...

# The loopback...
auto local
iface lo inet loopback

# The primary network interface 
auto eth0
iface eth0 inet dhcp

ACTUALIZADO:

# This file...
# and how to activate...

# The loopback...
auto local
iface lo inet loopback

# The primary network interface 
#iface eth0 inet dhcp
iface eth0 inet static
address x.x.x.x
netmask 255.255.255.0
gateway x.x.x.x

#nameservers
# you may not need dns-search
# I use it because I'm running this on a Windows network 
# so its useful to have
# dns-search x.y 
dns-nameservers 4.4.4.4 8.8.8.8

Reinicia, si puedes.


3

Intenta agregar dns-nameservers XXX.XXX.XXX.Xa tu /etc/networking/interfacesarchivo.


Deje un comentario cuando haga un voto negativo, por favor. Este es el método dado en el manual , página 38.
Zook

1
El manual no mencionado muestra todas las IP en una línea. Esta respuesta parece sugerir agregar una línea. ¿Y por qué el último número solo tiene una X de ancho? Creo que, en su mayoría, fue la escritura breve, informal e incierta, de estilo de chat, la que obtuvo los votos negativos, @Zook.
Cees Timmerman

2

Algunas de las respuestas aquí funcionan bien. Sin embargo, yo no estaba contento con el hecho de que tengo que ir manualmente a través de archivos de configuración sólo para establecer la "adecuada" DNS, que yo ya estoy recibiendo más DHCPcon NetworkManager.

Investigué un poco y noté que el /etc/resolv.confarchivo es en realidad un enlace y está apuntando /run/systemd/resolve/stub-resolv.conf. Después de experimentar un poco, parece que el /run/systemd/resolve/directorio contiene otro archivo llamado resolv.confque ya contiene la configuración que recibió a través de DHCP. Entonces, en lugar de tener que sobrescribir / crear manualmente los archivos de configuración /etc/, simplemente puede volver a vincular /etc/resolv.confpara apuntar al /run/systemd/resolve/resolv.confarchivo y todo debería estar bien:

# sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

Ahora debería poder editar la configuración incluso desde Network Manager en Gnome. :)

No estoy seguro de si esto funcionará en ubuntu anteriores, pero lo hace en Ubuntu 17.10.


cuando ejecutamos systemd-resolve --flush-cacheel archivo original vinculado aparentemente se
corta

1

EDITAR MAYO 6,2016

He escrito un script para actualizar todas las configuraciones para las conexiones del sistema en el /etc/Network-Manager/system-connections/directorio. La GUI que usa para editar conexiones individuales edita un archivo en particular en ese directorio. El script actualiza todos los archivos, solo busca a aquellos que no tienen dns configurado con grep y lo configura con awk.

Dado que el acceso a esos archivos requiere sudoacceso, ejecute este script con sudoy luego, reinicie el administrador de red

#!/bin/bash
# Author: Serg Kolo
# Date: May 6, 2015
# Description: this script checks all settings for connections in 
# /etc/NetworkManager/system-connections/ , and if there's no custom
# dns set , this script sets it;
# NOTE: run sudo service network-manager restart after running this script

set -x

for file in /etc/NetworkManager/system-connections/* ; do
        grep 'dns=208.67.220.220;' "$file"  || ( awk '{print;if ($1=="[ipv4]"){getline; print "method=auto\ndns=208.67.220.
220;\nignore-auto-dns=true"}}' "$file" > .tmpfile && ( cat .tmpfile > "$file") )
done

Guión en acción:

ingrese la descripción de la imagen aquí

POST ORIGINAL Algunos usuarios aquí señalaron que DNS está controlado de alguna manera por dnsmasq. Eso es de hecho cierto. Me he enfrentado a un problema algo menor, donde no importa cómo cambié heado bodyen qué lugar /etc/resolvconf/resolv.conf.d, mi computadora en realidad no podía acceder internado por nombre de dominio, solo funcionaba con direcciones IP.

Lo que hice fue editar el /etc/NetworkManager/NetworkManager.confarchivo. Originalmente, se dijo dns=dnsmasqpero lo cambió a: dns=208.67.222.222. Aunque de esta manera, nm-toolno menciona 208.67.222.222, todavía pude usar nombres de dominio, no solo direcciones IP.

Así NetworkManager.confes como se ve mi archivo ahora:

[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
dns=208.67.222.222

[ifupdown]
managed=false

NOTA: Para obtener más detalles sobre mi problema y esta solución, consulte mi publicación en askubuntu.com .

ACTUALIZACIÓN # 1

Al regresar a casa desde la universidad hoy, descubrí que no podía conectarme a la red WiFi de mi casa. He leído un poco man NetworkManager.confy resulta que dns=en [main]realidad es una línea para complementos, por lo que la línea en dns=dnsmasqrealidad está agregando el complemento dnsmasq al NetworkManager, aparentemente.

Entonces mi solución aún funcionó, solo que no como esperaba. Aquí hay un extracto de la página del manual:

dns=plugin1,plugin2, ... List DNS plugin names separated by ','. 

Los complementos DNS se utilizan para proporcionar la funcionalidad del servidor de nombres de almacenamiento en caché local (que acelera las consultas DNS) y para enviar datos DNS a las aplicaciones que lo utilizan.

Entonces, al configurar dns=208.67.222.222, es posible que, básicamente, haya evitado que NetworkManager use ese complemento, que de lo contrario usaría el servidor DNS local (que aparentemente no funciona).


1

Hay dos métodos

Método 1

El servidor DNS a utilizar se puede cambiar actualizando el headarchivo enresolv.conf.d

$ echo 'nameserver 1.1.1.1' | sudo tee /etc/resolvconf/resolv.conf.d/base

y luego correr

$ sudo resolvconf -u

Lo anterior generará un resolv.confarchivo genérico en el /etcdirectorio. Todas sus solicitudes de resolución se enviarán al servidor de nombres mencionado anteriormente. Resuelto

Sin embargo, hay implicaciones para esto. Cuando se utiliza resolvconfpara consultar directamente 1.1.1.1las resoluciones de dirección, el poder de almacenamiento en caché proporcionado por dnsmasq se ha ido. Cada solicitud irá a1.1.1.1

Método 2

Si no desea que suceda lo anterior y use dnsmasq para resoluciones DNS, consulte esta respuesta. La respuesta se describe simplemente aquí.

Agregue el siguiente contenido en el /etc/dnsmasq.confarchivo.

servidor = 1.1.1.1

Luego reinicie el servicio dnsmasq

$ sudo systemctl restart dnsmasq.service

Las cosas funcionarán bien. Resuelto


0

La forma fácil de cambiar DNS:

$ sudo nano /etc/network/interfaces

Si surgen problemas, instale nano:

$ sudo apt-get install nano -y

luego ..

  1. encuentra esto: dns-nameservers
  2. si no lo encuentra, simplemente escríbalo allí
  3. Hice el mío así: dns-nameservers 199.85.126.10 199.85.127.10

Espero que esta sea la mejor manera, por cierto lo hice así en un VPS.


0

en la raíz:

  1. comentar dns=dnsmasqsobre/etc/NetworkManager/NetworkManager.conf
  2. agregar supersede domain-name-servers 4.2.2.1,4.2.2.3,4.2.2.5,4.2.2.4,4.2.2.1,4.2.2.2;al final de/etc/dhcp/dhclient.conf
  3. sudo service network-manager restart

A continuación se realizan los cambios que se muestran arriba:

$ sudo sed -i 's/dns\x3Ddnsmasq/\x23dns\x3Ddnsmasq/' \
   /etc/NetworkManager/NetworkManager.conf

$ echo 'supersede domain-name-servers 4.2.2.1,4.2.2.3,4.2.2.5,4.2.2.4,4.2.2.1,4.2.2.2;' | \
   sudo tee --append /etc/dhcp/dhclient.conf

$ sudo service network-manager restart

Espere 7/10 segundos para finalizar el proceso de reinicio, verifique su configuración con "nslookup nist.gov". Funciona bien en Ubuntu LTS 14.04.


0

NB: Como la mayoría de las respuestas, esta supone el uso de NetworkManager. Sin embargo, a diferencia de la mayoría de las otras respuestas, no asume el uso de resolvconf, dhclientni nada más, tenga cuidado de que puedan hacerse cargo, sin embargo (ver actualización).

Dado el número de puntos de vista de esta pregunta, es bastante increíble que esta solución de 8 caracteres aún no se haya publicado: según man NetworkManager.conf,

dns: […] none: NetworkManager no modificará resolv.conf. Esto implica rc-manager no administrado

Por lo tanto, agregue

dns=none

en la [main]sección de /etc/NetworkManager/NetworkManager.confluego reinicie NetworkManager y ya no se modificará /etc/resolv.conf.

Tenga en cuenta que la configuración rc-manager=unmanageddebe ser equivalente a dns=none, y esa configuración rc-manager=symlinkjunto con tener /etc/resolv.confcomo enlace simbólico puede ser una mejor idea (lea la página de manual mencionada anteriormente).

Actualización:

Después de que NetworkManager dejó de sobrescribir /etc/resolv.conf, pensé que dhcpcdya estaba reemplazando /etc/resolv.confpor un archivo vacío inútil en el arranque. La página de manual de dhcpcd.confayuda, es suficiente para agregar

nohook resolv.conf

en tu dhcpcd.conf(el mío está adentro /etc/dhcpcd.conf).


0

En mi servidor Linux centos7, la mejor manera de cambiar esta opción era usar

nmtui

comando que no se sugiere en ninguna respuesta aquí. Puede editar servidores de nombres en esta herramienta y cuando cambie las opciones de networkmanager desde esta utilidad, se aplicarán automáticamente /etc/resolv.confdespués del reinicio. Aquí puedes encontrar más información .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.