¿Existe un comando para enumerar los servidores DNS que utiliza mi sistema?
Lo intenté
$ 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 OVERWRITTENnameserver 127.0.0.1$ cat /etc/network/interfaces # interfaces(5) file used by ifup(8) and ifdown(8)auto loiface lo inet loopback
Pero no enumera ningún servidor, si voy a "Herramienta GUI de Network Manager", en la sección Inalámbrica enumera "DNS 192.168.1.1 8.8.8.8 8.8.4.4"
¿Puedo obtener la misma información desde la línea de comandos?
resolv.conf ya no se usa realmente, a menos que lo implemente usted mismo. El administrador de red lo hace ahora. Creé un alias para enumerar los servidores DNS de mi sistema, ya que a veces cambio de OpenDNS a open DNS de Google.
>Ubuntu = 15
nmcli device show <interfacename> | grep IP4.DNS
Ubuntu <= 14
nmcli dev list iface <interfacename> | grep IP4
En mi caso, <interfacename> ser eth0, lo cual es común, pero no siempre es el caso.
Mira si esto es lo que quieres.
EDITAR:
Creo que resolv.conf en realidad se usa indirectamente, porque el administrador de red crea el servidor que escucha en 127.0.0.1, pero me dijeron que este es un detalle de implementación con el que no se debe contar. Creo que si ingresa direcciones DNS antes de esta entrada, podrían usarse, pero no estoy seguro exactamente de cómo funciona esto. Creo que es mejor usar el administrador de red en la mayoría de los casos, cuando sea posible.
Las dos respuestas con mayor puntuación, nmcli dev list iface <interfacename> | grep IP4 y nm-tool ambos asumen que el administrador de red tiene el control. Lo que es , en máquinas de escritorio la mayor parte del tiempo al menos. Pero la respuesta más completa es que a veces el administrador de red no tiene el control. P. ej. vpnc se mete con /etc/resolv.conf directamente.
Entonces: Primero verifique si se usa 127.0.0.1 / localhost. Esto se puede hacer con dig:
Aqui, dig es correcto y nm-toolla información es engañosa. En realidad, las direcciones locales del entorno en el que me he conectado a la VPN se resuelven correctamente. Todos los cuales son DNS de Google 8.8.8.8no saber sobre.
Esto se debe a que después de conectarse a una VPN con vpnc, pone una línea en /etc/resolv.conf así que parece:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 1.2.3.4nameserver 127.0.0.1search MyDomain
cat /etc/resolv.conf debería mostrar sus servidores DNS.
Usted no puede modificar el resolv.conf directamente con Ubuntu 12.04. Sin embargo, si necesita cambiarlos, puede agregar nuevos servidores DNS en su /etc/network/interfaces archivo agregando lo siguiente:
dns-nameservers x.x.x.x x.x.x.x
donde x es el servidor DNS que desea utilizar.
Si yo fuera tú, desinstalaría network-manager. En mi opinión, es un montón de basura.
Puede realizar todo lo que necesita hacer manualmente sin preocuparse por cambiar la configuración, especialmente si tiene varias NIC en la computadora.
Es increíble la cantidad de formas que hay de hacerlo. En un servidor Ubuntu 18.04, si no desea instalar nada extra como nm-tool, entonces systemd-resolve --status funcionará de inmediato para la información de DNS.
Si está interesado en obtener no solo sus servidores DNS, sino también la puerta de enlace predeterminada, la dirección IP, la máscara de red, etc., entonces netplan ip leases eth0 le dará toda esa información en un formulario fácil de leer (suponiendo que esté interesado en el eth0 interfaz).
systemd-resolve --status | grep -B 9 -A 6 "Current DNS Server"
me dio un resultado claro en cuanto a qué DNS estaba en uso para cada adaptador que usaba DNS.
Para reconfigurar DNS
man systemd-resolved
revela que los servidores DNS con los que se contacta están determinados por la configuración global en /etc/systemd/resolved.conf.
Sudo edita ese archivo y descomenta y establece DNS= y FallbackDNS= a los servidores DNS IPv4 que desee.Por ejemplo, DNS=8.8.8.8 y FallbackDNS=8.8.4.4 usaría DNS Público de Google.Reinicie la máquina para aplicar el cambio.
@ PLA, gracias por esto respuesta lo que me llevó por este camino.