web-dev-qa-db-fra.com

Découvrez le serveur DNS pour une connexion DHCP à Linux

Je sais qu'ils sont définis dans /etc/resolv.conf, mais si ce n'est pas là? Et plus spécifiquement, comment trouvez-vous le serveur DNS renvoyé par DHCP?

Dans GNOME, vous pouvez utiliser l'applet NetworkManager pour voir le DNS principal de n'importe quelle connexion, alors comment feriez-vous la même chose de la ligne de commande?

15
Ivan

Habituellement Dhclient.Les Fichier est situé à /var/lib/dhcp3/dhclient.leases, tapez la commande suivante:

less /var/lib/dhcp3/dhclient.leases

OR

cat /var/lib/dhcp3/dhclient.leases

OR

Vous pouvez simplement utiliser la commande Grep pour obtenir l'adresse du serveur DHCP, entrez:

grep dhcp-server-identifier /var/lib/dhcp3/dhclient.leases

OR

dhclient eth0

22
KPWINC

J'ai récemment eu ce problème où mon dhcpcd a été mal configuré comme ne définissait pas les serveurs DNS. J'ai découvert que je peux interroger quels noms de nomers sont disponibles par DHCP avec la commande suivante:

Sudo dhcpcd -o domain_name_servers -T

La commande émettra un tas d'informations de connexion réseau. Recherchez la ligne commençant par new_domain_name_servers.

De là, j'ai pu définir manuellement les noms de noms.

9
Russell O'Connor

J'ai trouvé mes informations de bail DHCP à /var/lib/dhclient/dhclient-eth0.leases Au cas où tout le monde ne peut pas le trouver à /var/lib/dhcp3/dhclient.leases

3
Darryl Hein

eh bien, pourquoi ne pas simplement creuser ça?

marcus@marcus ~ $ Dig google.de

; <<>> Dig 9.4.3-P3 <<>> google.de
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27579
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 6, ADDITIONAL: 0

;; QUESTION SECTION:
;google.de.         IN  A

;; ANSWER SECTION:
google.de.      1785    IN  A   209.85.229.104
google.de.      1785    IN  A   216.239.59.104
google.de.      1785    IN  A   74.125.77.104

;; AUTHORITY SECTION:
de.         23431   IN  NS  L.DE.NET.
de.         23431   IN  NS  Z.NIC.de.
de.         23431   IN  NS  F.NIC.de.
de.         23431   IN  NS  C.DE.NET.
de.         23431   IN  NS  S.DE.NET.
de.         23431   IN  NS  A.NIC.de.

;; Query time: 1 msec
;; SERVER: 192.168.1.15#53(192.168.1.15)
;; WHEN: Thu Sep 17 19:33:39 2009
;; MSG SIZE  rcvd: 181

regardez les dernières lignes: ;; Serveur: 192.168.1.15 # 53 (192.168.1.15)

2
Marcus Spiegel

S'il n'y a rien dans /etc/resolv.conf, la résolution DNS (c'est-à-dire une résolution à l'aide de DNS tel que défini dans /etc/nsswitch.conf) ne fonctionnera pas. C'est ce qu'est-ce que Cig, hôte et les routines LIBC utilisent la résolution DNS. S'il n'y a rien spécifié dans ce fichier, la résolution DNS ne fonctionnera pas (si la résolution d'hôte peut fonctionner via d'autres moyens, si une autre méthode de résolution d'hôte est configurée, telle que NIS (ceci est peu probable)).

1
BrianEss

cette commande indique le serveur DNS sur votre net

Creuser | Server Grep: | awk -f # '{improvement 1 $}' | AWK -F: '{IMPRESSION 2 $}'

172.17.0.1

1
mario.q59

Une autre solution pour interroger le serveur DHCP:

Sudo nmap --script broadcast-dhcp-discover

La sortie vous indique le serveur de noms proposé par le serveur DHCP:

Starting Nmap 7.60 ( https://nmap.org ) at 2019-12-12 23:50 UTC
Pre-scan script results:
| broadcast-dhcp-discover: 
|   Response 1 of 1: 
|     IP Offered: 144.123.211.44
|     DHCP Message Type: DHCPOFFER
|     Server Identifier: 144.123.99.200
|     IP Address Lease Time: 5m00s
|     Subnet Mask: 255.255.0.0
|     Router: 144.123.99.200
|     Domain Name Server: 144.123.99.200
|_    Domain Name: localdomain
0
estibordo

Dans les distributions modernes, on dirait

ps aux | grep dhcli | grep -v grep                                                    
root       367  0.0  0.0  16128  3076 ?        S    Apr30   0:00 /sbin/dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf /var/run/dhclient-enp3s0.pid -lf /var/lib/NetworkManager/dhclient-324caec3-58f9-3f00-bff4-2f8bd7d2aafa-enp3s0.lease -cf /var/lib/NetworkManager/dhclient-enp3s0.conf enp3s0


tail -16 /var/lib/NetworkManager/dhclient-324caec3-58f9-3f00-bff4-2f8bd7d2aafa-enp3s0.lease
lease {
  interface "enp3s0";
  fixed-address 10.191.104.3;
  option subnet-mask 255.255.255.0;
  option routers 10.191.104.254;
  option dhcp-lease-time 86400;
  option dhcp-message-type 5;
  option domain-name-servers 91.193.220.3,91.193.220.7;
  option dhcp-server-identifier 91.193.220.3;
  option ntp-servers 91.193.220.6;
  option broadcast-address 10.191.104.255;
  option domain-name "myISP.ru";
  renew 1 2017/05/01 12:56:02;
  rebind 2 2017/05/02 00:27:11;
  expire 2 2017/05/02 03:27:11;
}

où le 91.193.220.7 est mon serveur DNS d'ISP

nslookup serverfault.com 91.193.220.7
Server:     91.193.220.7
Address:    91.193.220.7#53

Non-authoritative answer:
Name:   serverfault.com
Address: 151.101.1.69
Name:   serverfault.com
Address: 151.101.65.69
Name:   serverfault.com
Address: 151.101.193.69
Name:   serverfault.com
Address: 151.101.129.69