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?
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
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.
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
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)
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)).
cette commande indique le serveur DNS sur votre net
Creuser | Server Grep: | awk -f # '{improvement 1 $}' | AWK -F: '{IMPRESSION 2 $}'
172.17.0.1
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
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