316 votos

De la línea de comandos a la lista de servidores DNS que utiliza mi sistema

Hay un comando a la lista de servidores dns que utiliza mi sistema?

He intentado

$ 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.0.1
$ cat /etc/network/interfaces 
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

Pero no lista de los servidores, si voy a "Administrador de Red Herramienta de GUI", en la sección Inalámbrica que las listas de "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?

Estoy usando Ubuntu 12.04 LTS

307voto

RHaguiuda Puntos 377

resolv.conf no es muy utilizada ya, a menos que se implemente a ti mismo. El administrador de red lo hace ahora. He creado un alias a la lista de servidores DNS en mi sistema, como yo, a veces, cambiar de OpenDNS para Google open DNS. Aquí es el alias que uso:

nmcli dev list iface <interfacename> | grep IP4

En mi caso, <interfacename> es eth0, que es común, pero no siempre es el caso.

A ver si es esto lo que quiere.

EDITAR:

Creo resolv.conf es realmente utilizado de forma indirecta, porque el administrador de red crea el servidor que escucha en 127.0.0.1, pero me han dicho que este es un detalle de implementación que no se debe contar. Yo creo que si usted introduzca las direcciones DNS antes de esta entrada, que pueden ser utilizados, pero no estoy seguro exactamente cómo funciona esto. Creo que lo mejor es usar el gestor de la red en la mayoría de los casos, cuando sea posible.

88voto

Binarytales Puntos 141

Esto es válido para el 13.10 y antes, desde 14.04 en ver Koala Yeung, la respuesta a: ¿Cómo saber qué DNS estoy utilizando de Ubuntu 14.04 en adelante


Uso

nm-tool

Obtendrá una salida similar a

NetworkManager Tool

State: connected (global)

- Device: eth0  [Wired connection 1] -------------------------------------------
  Type:              Wired
  Driver:            e1000e
  State:             connected
  Default:           yes
  HW Address:        00:11:22:33:44:55

  Capabilities:
    Carrier Detect:  yes
    Speed:           1000 Mb/s

  Wired Properties
    Carrier:         on

  IPv4 Settings:
    Address:         10.21.6.13
    Prefix:          24 (255.255.255.0)
    Gateway:         10.21.6.1

    DNS:             10.22.5.133
    DNS:             10.22.5.3

O para ver el DNS hacer: nm-herramienta | grep DNS

69voto

Peter V. Mørch Puntos 741

Los dos mejores de puntuación de las respuestas, nmcli dev list iface <interfacename> | grep IP4 y nm-tool tanto asumir que network-manager está en control. Que es - en equipos de escritorio más del tiempo mínimo. Pero la más completa respuesta es que a veces network-manager no está en control. E. g. vpnc líos con /etc/resolv.conf directamente.

Así: en Primer lugar comprobar si 127.0.0.1/localhost se utiliza. Esto se podría hacer con dig:

> dig something.unknown  | grep SERVER:
;; SERVER: 127.0.0.1#53(127.0.0.1)

Ahora usted sabe que nos están usando localhost. Vaya por delante con una de las respuestas populares. Me gusta:

> nm-tool | grep DNS:
    DNS:             8.8.8.8

Pero si 127.0.0.1/localhost es que no se utiliza, a continuación, nm-tool's y nmcli's de salida será engañoso:

> dig something.unknown  | grep SERVER:
;; SERVER: 172.22.216.251#53(172.22.216.251)
> nm-tool | grep DNS:
    DNS:             8.8.8.8

Aquí, dig es correcta y nm-tool's de la información es engañosa. En realidad las direcciones locales para el medio ambiente he VPN-ed en se resuelven correctamente. Todo lo cual Google DNS 8.8.8.8 no sabe acerca de.

Esto es porque después de conectar a una VPN con vpnc, se pone una línea en /etc/resolv.conf por lo que se ve como:

# 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 1.2.3.4
nameserver 127.0.0.1
search MyDomain

37voto

ssc Puntos 99

cat /etc/resolv.conf debe mostrar sus servidores de DNS.

Usted no puede modificar el resolv.conf directamente con Ubuntu 12.04. Si usted necesita para cambiar, sin embargo, usted puede agregar nuevos servidores DNS de su /etc/network/interfaces añadir la siguiente:

 dns-nameservers x.x.x.x x.x.x.x

donde x es el de los servidores de DNS que desea utilizar.

Si yo fuera usted, me gustaría desinstalar network-manager. En mi opinión, es un montón de mierda.

Usted puede lograr todo lo que usted necesita hacer manualmente sin tener que preocuparse acerca de cómo cambiar su configuración, especialmente si usted tiene varias tarjetas de red en el equipo.

0voto

Parece ser gestionados por el administrador de red. Echa un vistazo aquí http://manpages.ubuntu.com/manpages/precise/man5/NetworkManager.conf.5.html

para una gran explicación.

O la versión corta que se vea en

 /etc/NetworkManager/NetworkManager.conf

o

 <SYSCONFDIR>/NetworkManager/NetworkManager.conf

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: