En Linux Mint, cuando veo el /etc/resolv.conf
archivo, el primer comentario indica que el /etc/resolv.conf
archivo es generado por resolvconf(8)
.
~ $ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
Parafraseando la resolvconf(8)
página de manual:
el programa resolvconf es ejecutado por clientes DHCP como dhclient
Corro dhclient wlan0
.
~ $ dhclient wlan0
Dhclient debería hacer que el resolvconf
programa se actualice /etc/resolv.conf
. El /var/lib/dhcp/dhclient.leases
archivo verifica que puedo arrendar la dirección IP del servidor de nombres (192.168.0.6).
~ $ cat /var/lib/dhcp/dhclient.leases
lease {
interface "wlan0";
. . .
option domain-name-servers 192.168.0.6;
. . .
}
Sin embargo, el /etc/resolv.conf
archivo no se actualiza. El /etc/resolv.conf
archivo tiene el servidor de nombres 127.0.1.1.
~ $ 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
search software.eng.apl
No hay servidores de nombres listados en /etc/network/interfaces
.
~ $ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
No estoy seguro de lo que me falta aquí para que el /etc/resolv.conf
archivo se actualice utilizando el servidor de nombres alquilado desde el servidor DHCP. El servidor DHCP es una máquina Linux CentOS que utiliza DHCPD.
Respuesta1
Mint y otras distribuciones modernas se envían de mdns
forma predeterminada, que envuelve el DNS público normal con un contenedor local "descentralizado" que permite la compatibilidad con zeroconf para su red local. Básicamente, un servidor DNS local resuelve nombres en la red local que ha descubierto, luego recurre al DNS público (ahora proxy) para la resolución pública de Internet, es decir, para nombres fuera de su red local.
En pocas palabras, esto resolv.conf
es correcto y apropiado para este escenario, y si mdns
tiene problemas para acceder al servidor de nombres de su ISP, debe mirar dentroesconfiguración - aunque, por supuesto, si no le importa el soporte zeroconf, deshabilitar mdns
(y probablemente también Avahi) le permite administrar resolv.conf
de la manera tradicional.
Ver también, por ejemplohttps://help.ubuntu.com/community/HowToZeroconf
Respuesta2
puedes editar /etc/dhcp/dhclient.conf
editar la línea descomentando#prepend domain-name-server
Respuesta3
Tuve el mismo problema descrito en el OP pero ninguna de las respuestas anteriores funcionó para mí. Estoy ejecutando Linux Mint 18 y descubrí este problema al intentar utilizar funciones de red dentro de un contenedor acoplable. Docker esperaba resolver los valores DNS de /etc/resolv.conf
. Pero como el único servidor de nombres listado era 127.0.1.1, la conexión en red de Docker no tuvo éxito.
encontréotra soluciónen Askubuntu eso funcionó para mí. Lo publico aquí como referencia cruzada en caso de que ayude a alguien.
NetworkManager es el programa que (a través de la utilidad resolvconf) inserta la dirección 127.0.1.1 en resolv.conf. NetworkManager inserta esa dirección si y sólo si está configurado para iniciar una instancia del programa dnsmasq para que sirva como servidor de nombres de reenvío local. Esa instancia de dnsmasq escucha consultas en la dirección 127.0.1.1.
Si no desea utilizar un servidor de nombres de reenvío local, configure NetworkManager para que no inicie una instancia de dnsmasq y no inserte esa dirección. En /etc/NetworkManager/NetworkManager.conf
comentar fuera de la líneadns=dnsmasq
sudo vim /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
y reinicie el servicio NetworkManager.
sudo service network-manager restart
En este modo, NetworkManager actualiza /etc/resolv.conf (aún a través de resolvconf) para incluir las direcciones del servidor de nombres que NetworkManager tiene para las conexiones activas.
Si desea deshabilitar el mecanismo resolvconf para actualizar resolv.conf y simplemente usar un archivo resolv.conf estático, haga lo siguiente.
sudo rm -f /etc/resolv.conf # Delete the symbolic link
sudo vim /etc/resolv.conf # Create static file