¿Cómo elimino el servidor de nombres localhost de resolv.conf?

10

Actualmente mis /etc/resolv.conflecturas:

nameserver 127.0.0.1  
nameserver 10.255.0.101  
nameserver 10.255.0.11  

y quiero que lea en su lugar:

search [my domain]  
nameserver 10.255.0.101  
nameserver 10.255.0.11  
nameserver 208.67.222.222  
nameserver 208.67.220.220  

Como ambos /etc/resolv.confy /etc/resolv.conf.d/headno se pueden editar a mano, ¿cómo puedo hacer este cambio?

usuario217676
fuente
Consulte askubuntu.com/a/208027/15811 para obtener una explicación sobre cómo usar esto.
Rinzwind

Respuestas:

7

Primero, /etc/resolvconf/resolv.conf.d/head se puede editar a mano. El comentario en el archivo que dice DO NOT EDIT THIS FILE BY HANDno se aplica a /etc/resolvconf/resolv.conf.d/headsí mismo, sino /etc/resolv.confa lo anterior.

Dicho esto, sin embargo, en circunstancias normales no debería tener que editar /etc/resolvconf/resolv.conf.d/head.

Los archivos /etc/resolvconf/resolv.conf.d/heady /etc/resolvconf/resolv.conf.d/tailse proporcionan como una forma de forzar una cabeza y una cola sobre los generados en resolv.confcaso de que sean necesarios en circunstancias excepcionales, pero si está utilizando resolvconf correctamente y en circunstancias normales, entonces no tiene que hacerlo.

Dices que el contenido del archivo es

nameserver 127.0.0.1
nameserver 10.255.0.101
nameserver 10.255.0.11

La presencia de la línea nameserver 127.0.0.1sugiere que está ejecutando un servidor de nombres de reenvío local como dnsmasq. El archivo anterior no es lo que normalmente resolvconf genera en estas circunstancias. Normalmente genera un archivo como el siguiente.

# 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.0.1
search foo.com

Supongo que en su sistema /etc/resolv.confno hay un enlace simbólico ../run/resolvconf/resolv.confsino un archivo simple que puede o no ser generado por algo que no sea resolvconf. Si el archivo es completamente estático, simplemente edítelo para que tenga el aspecto que desea. Si el archivo es generado por alguna herramienta que no sea resolvconf, averigüe qué herramienta está generando el archivo y configure esa herramienta.

Alternativamente, restaure el enlace simbólico /etc/resolv.conf -> ../run/resolvconf/resolv.confy configure resolvconf correctamente.

¿Cómo elimino el servidor de nombres localhost de resolv.conf?

Las siguientes instrucciones se aplican solo al caso en el que está utilizando resolvconf para administrar /etc/resolv.conf, es decir, /etc/resolv.confes un enlace simbólico a ../run/resolvconf/resolv.conf.

Si la línea nameserver 127.0.0.1está en uno de los archivos /etc/resolvconf/resolv.conf.d/, elimínela de allí.

De lo contrario, esa línea proviene de un servidor de nombres que se ejecuta localmente. Desinstale ese servidor de nombres o configure ese servidor de nombres para que no registre la dirección 127.0.0.1 con resolvconf. En particular, si está ejecutando BIND 9 llamado localmente, o bien retirarla o conjunto RESOLVCONF=node /etc/default/bind9.

Ref: https://bugs.launchpad.net/debian/+source/bind9/+bug/933723

jdthood
fuente
2

Tratar

sudo vi /run/resolvconf/interface/NetworkManager

Elimine o reemplace el servidor de nombres 127.0.0.1, luego use

sudo resolvconf -u.
Mitre Slavchev
fuente
1

Verifique su configuración de NetworkManager:

sudo NetworkManager --print-config

si hay

dns=systemd-resolved

luego edite la configuración en

/run/resolvconf/interface/systemd-resolved

y actualizar

sudo resolvconf -u

En mi caso también hubo

/run/resolvconf/interface/tun0.openvpn

archivo (creado por OpenVPN) que se puede eliminar de forma segura para evitar interferencias:

sudo rm /run/resolvconf/interface/tun0.openvpn
Valery Markov
fuente