Necesito ayuda para entender por qué mi resolv.conf
cambio sigue cambiando a esto, lo que hace que no pueda acceder a Internet externo y solo a la red local:
$ cat /etc/resolv.conf
nameserver 192.168.16.1
domain localdomain
search localdomain
Pensé que lo solucioné deshaciéndome de la interfaz loopback y agregando la interfaz eth0 /etc/network/interfaces
con las instrucciones en el blog posterous de jontsai .
He intentado cosas como hacer:
$ sudo ifconfig eth0 down
$ sudo ifconfig eth0 up
$ sudo /etc/init.d/networking restart
$ sudo dhclient
Y luego las cosas funcionarían temporalmente, y eventualmente el servidor de nombres en resolv.conf se revertiría nuevamente.
PD: También publiqué esto en ubuntuforums .
Editar: Hay al menos otro programa además de NetworkManager que está escribiendo resolv.conf
, y lo sé porque cuando actualizo NetworkManager, el resolv.conf
archivo que se genera tiene un comentario que dice # Generated by NetworkManager
, y la versión a la que sigue cambiando no.
Entonces estoy intentando esto:
while true; do echo listening; lsof | grep /etc/resolv.conf; echo sleeping; sleep 1; done
Edición 2:
Agregar salida de archivos:
$ cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
No hay tal archivo como /etc/NetworkManager/NetworkManager.conf
$ sudo cat /etc/NetworkManager/system-connections/Auto\ Ethernet
[connection]
id=Auto Ethernet
uuid=#######omitted#######
type=802-3-ethernet
autoconnect=true
timestamp=1314377063
[ipv4]
method=auto
ignore-auto-routes=false
ignore-auto-dns=false
dhcp-send-hostname=false
never-default=false
[802-3-ethernet]
speed=0
duplex=full
auto-negotiate=true
mtu=0
[ipv6]
method=ignore
ignore-auto-routes=false
ignore-auto-dns=false
never-default=false
fuente
resolvconf
paquete instalado? Publique el contenido de/etc/network/interfaces
,/etc/NetworkManager/NetworkManager.conf
y/etc/NetworkManager/system-connections/*
.resolvconf
paquete. En algún momento, mi módem DSL estaba fallando (detrás del enrutador) mientras mi red local estaba bien, por lo que podría haber intentado instalarnscd
odnsmasq
... ahora están desinstalados, pero ¿podría haber dejado algunos artefactos que interfieren?vmnet1
ovmnet8
(NAT y Sólo-Host)Respuestas:
Puede hacer adiciones estáticas a
/etc/resolv.conf
. Esas adiciones podrían anular las cosas que se agregan automáticamente.Primero, instale el
resolvconf
paquete.Luego, presione Alt + F2 y ejecute
gksudo nautilus
. Abra/etc/resolvconf/resolv.conf.d/head
si desea agregar al inicio del archivo; ábralo/etc/resolvconf/resolv.conf.d/tail
si desea agregar al final. Realice sus cambios, guarde / cierre los archivos y luego ejecútelossudo resolvconf -u
para aplicar los cambios.(Lo siento, no recuerdo si la configuración al inicio o al final del archivo tiene la máxima prioridad).
fuente
Tuve exactamente el mismo problema: resolv.conf se reescribía cada vez que se reiniciaba el servidor.
Fue causado por DHCP. Para configurar resolv.conf a lo que quiero que sea, edité
/etc/dhcp/dhclient.conf
y agregué lo siguiente:Realmente puede controlar un poco sobre su archivo resolv.conf haciendo cambios a esto.
Espero eso ayude.
fuente
(Esta respuesta contiene formas de investigar lo que está sucediendo. Es posible que pueda dar una solución real si utiliza estos métodos para recopilar y proporcionar más información).
Un posible desencadenante para las actualizaciones aparentemente espontáneas
/etc/resolv.conf
es cuando se renueva su contrato de arrendamiento de DHCP. Compruebe durante cuánto tiempo obtiene las concesiones de DHCP (creo que esto debería aparecer en los registros del sistema/var/log/syslog
).Puede usar auditado para averiguar qué modifica el archivo. Inicie el daemon (
sudo service auditd start
) y dígale que busque modificaciones a ese archivo:Los registros de auditoría están adentro
/var/log/audit/audit.log
. Verá la hora en que se modificó el archivo y el nombre del programa que lo modificó.Si tiene el
resolvconf
paquete instalado, Network Manager puede estar pisoteando. Intente desactivar todas las interfaces de red, luego detenga Network Manager (sudo service network-manager stop
), luego reinícielo.fuente
nm-connection-editor
en su terminal. Seleccione su interfaz y presione editar. En la configuración de IPv4, debe haber un método llamado solo direcciones DHCP (o algo similar). Si no me equivoco, esto le permitirá obtener direcciones IP a través de DHCP pero no de servidores de nombres (puede especificarlos en los campos a continuación).auditctl
línea no funciona para mí y creo que el nombre del servicio para Network Manager esnetwork-manager
(incluye el guión). No tenía unresolvconf
paquete instalado, pero tenía cosas dentro de la/etc/resolvconf/
carpeta, y cuando lo comparé con otra máquina Ubuntu, no lo tenía, así que instalé y desinstalé el paquete, y eliminé manualmente esa carpeta./etc/resolv.conf
acabo de reescribir nuevamente, así que creo que llegarauditctl
al trabajo sería muy útil./etc/resolvconf
es normal incluso si no tiene elresolvconf
paquete, algunos paquetes dejan caer ganchos allí, y estos ganchos solo se usan siresolvconf
está instalado. He arreglado laauditctl
línea, en caso de que el problema vuelva a aparecer.Abre una terminal y escribe
el + i se encarga de que el archivo no se restablezca en un arranque incluso por root.
Para deshacer lo anterior
Para más
fuente
Otra opción con la que he tenido suerte es el uso
resolvconf
.Agregue cualquier entrada a este archivo:
Y se agregarán a la
/etc/resolv.conf
.Gracias a esta publicación Pregunte a Ubuntu: ¿Cómo incluyo líneas en resolv.conf que no se perderán al reiniciar?
fuente
Desactivo la actualización de
resolv.conf
la creación de un archivo llamadodisable_make_resolv_conf
en/etc/dhcp3/dhclient-enter-hooks.d
Reemplaza la función estándar por el mismo nombre responsable de la
resolv.conf
actualización.fuente
Tarde en esto, pero publicaré mi caso, ya que era diferente de todo lo anterior.
En mi caso,
/etc/resolv.conf
es un enlace simbólico a/var/run/NetworkManager/resolv.conf
, y por alguna razón nocat /etc/resolv.conf
me da error tal archivo o directorio (¿tal vez porque está vacío?)Si lo abro con vi y agrego
nameserver x.x.x.x
, funciona, pero se borra al reiniciar.Intenté editar
/etc/network/interfaces
y agregardns-nameservers x.x.x.x
, cambié/etc/dhcp/dhclient.conf
y eliminé debajorequest
domain-name-servers
, también editéprepend domain-name-servers x.x.x.x
.El binario Resolvconf no está instalado,
NetworkManager.conf
no tenía nada relevante. Pero cada vez que reiniciaba la máquina, no había servidor de dominio.No estoy seguro de cuál es la razón, pero parece tener que ver con el hecho de que esta es una máquina VBox, iniciada por GNS3 y debido a eso dentro de la configuración de VBox, tengo que dejarla sin una interfaz creada. Aparentemente, GNS3 crea una "interfaz UDP" sobre la marcha cuando enciendo la máquina, siempre que la inicie desde GNS3.
Entonces, para evitar que busque sin cesar, simplemente agregué
echo nameserver x.x.x.x> /etc/resolv.conf
un/etc/profile
problema resuelto (no resuelto, pero solucioné el problema). Pero podría ser interesante saber qué sucede con ese escenario si alguien se encuentra con él.fuente
Si tienes el archivo
/etc/NetworkManager/NetworkManager.conf
puede configurar NetworkManager para dejar de restablecer resolv.conf con
Ahora cambie manualmente
/etc/resolv.conf
y pruebe su permanencia conFuente: /ubuntu//a/623956/452398
fuente
Simplemente haga entradas en sus archivos ifcfg-ethX así
DNS1 = 192.168.XX
DNS2 = 192.168.XX
DOMINIO = tudominio.com
entonces el administrador de red publicará esos registros en el archivo resolv.conf después de que reinicie los servicios o reinicie su caja.
fuente
Por si alguien cae en el mismo caso:
Olvidé configurar dhcp en una interfaz dentro del archivo
/etc/network/interfaces
Networkmanager modificará
/etc/resolv.conf
la respuesta de dhcp que obtenga.hth
fuente
Cuando hay
# Generated by NetworkManager
en/etc/resolv.conf
Editar configuración de Network Manager:
en la
[main]
sección agregarrc-manager=unmanaged
:¿Por qué?
Referencia de configuración para más información: https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html
Luego edite su
/etc/resolv.conf
y reinicie Network Manager para ver, si/etc/resolv.conf
permanece intacto:o
que:
Si el procedimiento falló y
/etc/resolv.conf
se sobrescribió durante el reinicio de Network Manager, intente agregardns=none
a la[main]
sección en la configuración como /ubuntu//a/1150326/364772 dijofuente