¿Por qué mi archivo resolv.conf se regenera cada vez?

17

Mi /etc/resolv.confarchivo se regenera cada vez, lo que me hace perder servidores DNS de Google cuando vuelvo a conectar mi módem 3G.

Para cambiar la configuración de DNS, miré en http://code.google.com/intl/fr-FR/speed/public-dns/docs/using.html .

Mi dhclient.confes bastante grande (58 líneas), así que lo publiqué en pastebin .

Sin embargo, aquí está todo dhclient.confsin líneas de comentario o líneas en blanco:

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name "<hostname>";
request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes, ntp-servers;
prepend domain-name-servers 8.8.8.8, 8.8.4.4;

Estoy usando en wvdiallugar de Network Manager.

Jakh Saidlikp
fuente
Lamentablemente, no sé nada al respecto wvdial. En este punto, sospecho que está involucrado u otro paquete aún no descubierto. ¿Sabe si ha instalado otras aplicaciones o herramientas relacionadas con la red que podrían estar tocando DNS, DHCP, interfaces, etc. de alguna manera?
belacqua

Respuestas:

6

En 12.04, resolvconf se instala por defecto. Aquí hay un resumen rápido de cómo hacer cambios en la configuración de DNS para algunos casos de uso comunes:

Para una configuración estática usando ifup, use dns-nameserversy dns-searchentradas en /etc/network/interfaces.

Para una configuración estática usando NetworkManager, seleccione Automatic (DHCP) addresses only Methode ingrese direcciones y nombres de dominio en los campos Additional DNS serversy Additional search domainsen el Editor de conexiones.

Para anular resolvconf de configuración por defecto, el uso base, heady tailen /etc/resolvconf/resolv.conf.d/. Solo ingrese direcciones y nombres de dominio en estos archivos como una medida temporal, ya que realmente pertenecen a otro lugar, como se describió anteriormente.

No se recomienda desactivar resolvconf, pero puede reemplazar el enlace simbólico /etc/resolv.confcon un archivo normal.

Para obtener más información, consulte la publicación del blog de Stéphane Graber .

Robie Basak
fuente
4

Si todo lo que desea hacer es mantener sus servidores DNS de Google en resolv.conf, puede editar
/etc/dhcp3/dhclient.confy agregar:

prepend domain-name-servers 8.8.8.8;
prepend domain-name-servers 8.8.4.4;

La única diferencia entre lo que tiene y lo que estoy mostrando aquí es que tiene ambos servidores de nombres en una sola línea, según los documentos que ha mencionado.

A menos que me falte algo, su dhclient.conf no es un problema aquí. En este punto, supongo que el problema tiene que ver con wvdial.

Aquí hay algo para probar, desde ubuntuforums :

gksudo gedit /etc/ppp/peers/wvdial

RETIRE el parámetro usepeerdns y guarde el archivo. Código:

gksudo gedit /etc/wvdial.conf

agregue estas líneas:

check DNS = no
auto DNS = no
belacqua
fuente
@jgbelacqua Lo intenté en líneas dispersas pero no funcionó: P
Jakh Saidlikp
@Jakh ¿Estoy asumiendo que mover las líneas delanteras más cerca de la parte superior también falla? (Así es como configuré la mía)
Belacqua
@jgbelacqua sí, también lo intenté;]
Jakh Saidlikp
@Jakh: ¿has intentado editar la request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers;línea para eliminar los servidores de nombres allí?
belacqua
@jgbelacqu No lo intentaré ahora y te dejaré saber
Jakh Saidlikp
4

La mejor manera de configurar un servidor de nombres a través de la CLI, sin NetworkManger, con una dirección estática o independiente de la conexión es esta:

Instala el paquete resolvconf .

correr

sudo nano /etc/resolvconf/resolv.conf.d/head

(ignore la advertencia de miedo. /etc/resolv.conf se genera automáticamente, por lo que la advertencia está ahí para que se coloque en /etc/resolv.conf cuando se genere /etc/resolv.conf). Al final del archivo, añadir

 nameserver <ip_of_nameserver>

Presione Ctrl xy responda sí para guardar el archivo. Para terminar, regenere /etc/resolv.conf para que los cambios se apliquen ahora:

 sudo resolvconf -u
Azendale
fuente
Debe agregarse que generalmente no es una buena idea poner una dirección de servidor de nombres estática en resolv.conf. Lea /usr/share/doc/resolvconf/README.gz.
jdthood
0

Puede configurar la domain-name-serversopción dhclient.conf.

Adam Byrtek
fuente
revisa su pastebin - parece que ya tiene esto.
belacqua
Gracias, no me di cuenta de eso. Por cierto, su solución podría ser correcta, así que considere publicarla como una respuesta en lugar de un comentario.
Adam Byrtek
hola @adam, ¿puedes ser más claro? Soy un novato:] gracias
Jakh Saidlikp
0

Resolví el mismo problema con los siguientes comandos:

echo "nameserver 212.217.0.1" >> /etc/resolvconf/resolv.conf.d/head
ln -s /etc/resolvconf/resolv.conf.d/head /etc/resolv.conf
resolvconf -u
/etc/init.d/networking restart
moha
fuente
1
Es posible que haya resuelto el problema de esta manera, pero es una mala configuración total. Ha terminado enlazando /etc/resolv.conf a un archivo estático que resulta ser uno de los archivos de configuración de resolvconf. Si desea deshabilitar resolvconf, sería mucho más simple eliminar el enlace simbólico /etc/resolv.conf y colocar un archivo estático allí.
jdthood
-1

probablemente tenga instalado el paquete resolvconf. en ese caso, cada vez que aparece una interfaz, el resolv.conf se actualiza. puede agregar entradas estáticas utilizando el archivo /etc/resolv.conf.tail, consulte la página del manual para resolv.conf para obtener más información.

eFloh
fuente
noo no tengo ese paquete instalado
Jakh Saidlikp
El programa resolvconf actualiza /etc/resolv.conf, pero solo si /etc/resolv.conf es un enlace simbólico a ../run/resolvconf/resolv.conf. El paquete resolvconf se introdujo porque muchos otros programas estaban pisando fuerte en /etc/resolv.conf independientemente uno del otro, lo que resultó en un caos. Lea /usr/share/doc/resolvconf/README.gz. Por lo tanto, por el hecho de que /etc/resolv.conf se actualizó, no se sigue (en marzo de 2011 cuando se hizo la pregunta) que resolvconf estaba instalado. Más probablemente pppd estaba reescribiendo el archivo. (A partir de Ubuntu 12.04, sin embargo, resolvconf es parte del sistema base.)
jdthood
-1

Tuve exactamente el mismo problema, el servidor DNS que proporciona mi proveedor de servicios móviles era bastante pobre, así que quería usar el DNS de Google. También NetworkManager hace un trabajo realmente pobre al manejar conexiones de banda ancha móvil, por lo que wvdiales una necesidad.

Resulta que /etc/resolv.confes un enlace simbólico ubuntu 12.10y tal vez incluso 12.04. Esto es lo que he hecho sudo unlink /etc/resolv.confdespués de esto: puede crear uno nuevo resolv.confcon vimel editor que elija y agregar los servidores de nombres de Google o cualquier otro servidor de nombres que prefiera. Guárdalo y listo.

Si tienes miedo de romper algo, puedes tomar nota del enlace simbólico existente haciendo un ls -la /etc/resolv.confantes unlinking.

Espero eso ayude.

nikhil
fuente
@Downvoter, me gustaría comentar. Si mi respuesta es realmente un mal consejo, estaré encantado de eliminarlo. Por favor, hágame saber lo que estoy haciendo mal. Gracias
nikhil