Intro Machine Linux - Episode 11 - DNS Création d'une zone maître simple
Table des matières:
- Installation de
dig
- Installer
dig
sur Ubuntu et Debian - Installer
dig
sur CentOS et Fedora - Installer
dig
sur Arch Linux - Comprendre la sortie Dig
- Impression de la réponse uniquement
- 1. Obtenez une réponse courte
- 2. Obtenez une réponse détaillée
- Serveur de noms spécifique aux requêtes
- Interroger un type d'enregistrement
- 1. Interrogation des enregistrements A
- 2. Interrogation des enregistrements CNAME
- 3. Interrogation des enregistrements TXT
- 4. Interrogation des enregistrements MX
- 5. Interrogation des enregistrements NS
- 6. Interroger tous les enregistrements
- Recherche DNS inversée
- Requêtes en masse
- Le fichier .digrc
- Conclusion
Dig (Domain Information Groper) est un puissant outil de ligne de commande pour interroger les serveurs de noms DNS.
Avec la commande
dig
, vous pouvez interroger des informations sur divers enregistrements DNS, y compris les adresses d'hôte, les échanges de messagerie et les serveurs de noms. Il s'agit de l'outil le plus couramment utilisé par les administrateurs système pour résoudre les problèmes DNS en raison de sa flexibilité et de sa facilité d'utilisation.
Dans ce tutoriel, nous allons vous montrer comment utiliser l'utilitaire de
dig
travers des exemples pratiques et des explications détaillées des options de
dig
les plus courantes.
Installation de
dig
Pour vérifier si la commande
dig
est disponible sur votre système, tapez:
dig -v
La sortie devrait ressembler à ceci:
DiG 9.11.3-1ubuntu1.1-Ubuntu
Si
dig
n'est pas présent sur votre système, la commande ci-dessus affichera «creuser: commande introuvable». Vous pouvez facilement installer l'outil de
dig
à l'aide du gestionnaire de paquets de votre distribution.
Installer
dig
sur Ubuntu et Debian
sudo apt update && sudo apt install dnsutils
Installer
dig
sur CentOS et Fedora
Installer
dig
sur Arch Linux
Comprendre la sortie Dig
Dans sa forme la plus simple, lorsqu'elle est utilisée pour interroger un seul hôte (domaine) sans aucun argument supplémentaire, la commande dig est assez verbeuse.
Dans l'exemple suivant, nous allons effectuer une requête pour récupérer des informations sur le domaine
linux.org
.
dig linux.org
La sortie devrait ressembler à ceci:
Allons section par section et expliquons la sortie de la commande
dig
:
-
La première ligne de la sortie imprime la version dig installée et la requête qui a été invoquée. La deuxième ligne affiche les options globales (par défaut, uniquement cmd).
; <<>> DiG 9.13.3 <<>> linux.org;; global options: +cmd
La première section comprend des détails techniques sur la réponse reçue de l'autorité requise (serveur DNS). L'en-tête montre l'opcode (l'action effectuée par dig) et le statut de l'action. Dans cet exemple, le statut est
NOERROR
, ce qui signifie que l'autorité requise a servi la requête sans aucun problème.;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37159;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 5
Cette section peut être supprimée à l'aide de l'option
+nocomments
, qui désactive également les en-têtes d'autres sections.La pseudo-section «OPT» est affichée par défaut uniquement dans les versions les plus récentes de l'utilitaire dig. Vous pouvez en savoir plus sur les mécanismes d'extension pour DNS (EDNS) ici.
;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096
Dans la section «QUESTION»,
dig
montre notre requête (question). Par défaut,dig
demande l'enregistrement A.;; QUESTION SECTION:;linux.org. IN A
Vous pouvez désactiver cette section à l'aide de l'option
+noquestion
.La rubrique «RÉPONSE» nous apporte une réponse à notre question. Comme nous l'avons déjà mentionné, par défaut,
dig
demandera l'enregistrement A. Ici, le domainelinux.org
pointe vers l'adresse IP104.18.59.123
.;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123
En règle générale, vous ne souhaitez pas désactiver la réponse, mais vous pouvez supprimer cette section de la sortie à l'aide de l'option
+noanswer
.La section «AUTORITÉ» nous indique quel (s) serveur (s) sont l'autorité pour répondre aux requêtes DNS sur le domaine interrogé.
;; AUTHORITY SECTION: linux.org. 86379 IN NS lia.ns.cloudflare.com. linux.org. 86379 IN NS mark.ns.cloudflare.com.
Vous pouvez désactiver cette section de la sortie à l'aide de l'option
+noauthority
.La section «SUPPLÉMENTAIRE» nous donne des informations sur les adresses IP des serveurs DNS faisant autorité indiqués dans la section des autorités.
;; ADDITIONAL SECTION: lia.ns.cloudflare.com. 84354 IN A 173.245.58.185 lia.ns.cloudflare.com. 170762 IN AAAA 2400:cb00:2049:1::adf5:3ab9 mark.ns.cloudflare.com. 170734 IN A 173.245.59.130 mark.ns.cloudflare.com. 170734 IN AAAA 2400:cb00:2049:1::adf5:3b82
L'option
+noadditional
désactive la section supplémentaire d'une réponse.La dernière section de la sortie de fouille comprend des statistiques sur la requête.
;; Query time: 58 msec;; SERVER: 192.168.1.1#53(192.168.1.1);; WHEN: Fri Oct 12 11:46:46 CEST 2018;; MSG SIZE rcvd: 212
Vous pouvez désactiver cette partie avec l'option
+nostats
.
Impression de la réponse uniquement
Dans la plupart des cas, vous ne souhaitez obtenir qu'une réponse rapide à votre requête de fouille.
1. Obtenez une réponse courte
Pour obtenir une réponse courte à votre requête, utilisez l'option
+short
:
dig linux.org +short
104.18.59.123 104.18.58.123
La sortie inclura uniquement les adresses IP de l'enregistrement A.
2. Obtenez une réponse détaillée
Pour une réponse plus détaillée, désactivez tous les résultats à l'aide des options
+noall
, puis activez uniquement la section des réponses avec l'option
+answer
.
dig linux.org +noall +answer
; <<>> DiG 9.13.3 <<>> linux.org +noall +answer;; global options: +cmd linux.org. 67 IN A 104.18.58.123 linux.org. 67 IN A 104.18.59.123
Serveur de noms spécifique aux requêtes
Par défaut, si aucun serveur de noms n'est spécifié,
dig
utilise les serveurs répertoriés dans le fichier
/etc/resolv.conf
.
Pour spécifier un serveur de noms par rapport auquel la requête sera exécutée, utilisez le symbole
@
(at) suivi de l'adresse IP ou du nom d'hôte du serveur de noms.
Par exemple, pour interroger le serveur de noms Google (8.8.8.8) pour obtenir des informations sur le domaine
linux.org
vous utiliseriez:
dig linux.org @8.8.8.8
; <<>> DiG 9.13.3 <<>> linux.org @8.8.8.8;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39110;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;linux.org. IN A;; ANSWER SECTION: linux.org. 299 IN A 104.18.58.123 linux.org. 299 IN A 104.18.59.123;; Query time: 54 msec;; SERVER: 8.8.8.8#53(8.8.8.8);; WHEN: Fri Oct 12 14:28:01 CEST 2018;; MSG SIZE rcvd: 70
Interroger un type d'enregistrement
Dig vous permet d'effectuer n'importe quelle requête DNS valide en ajoutant le type d'enregistrement à la fin de la requête. Dans la section suivante, nous vous montrerons des exemples de recherche des enregistrements les plus courants, tels que A (l'adresse IP), CNAME (nom canonique), TXT (enregistrement texte), MX (échangeur de messagerie) et NS (serveurs de noms).
1. Interrogation des enregistrements A
Pour obtenir une liste de toutes les adresses d'un nom de domaine, utilisez l'option a:
dig +nocmd google.com a +noall +answer
google.com. 128 IN A 216.58.206.206
Comme vous le savez déjà, si aucun type d'enregistrement DNS n'est spécifié, dig demandera l'enregistrement A. Vous pouvez également interroger l'enregistrement A sans spécifier l'option a.
2. Interrogation des enregistrements CNAME
Pour trouver le nom de domaine d'alias, utilisez l'option
cname
:
dig +nocmd mail.google.com cname +noall +answer
mail.google.com. 553482 IN CNAME googlemail.l.google.com.
3. Interrogation des enregistrements TXT
Utilisez l'option
txt
pour récupérer tous les enregistrements TXT pour un domaine spécifique:
dig +nocmd google.com txt +noall +answer
google.com. 300 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 300 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"
4. Interrogation des enregistrements MX
Pour obtenir une liste de tous les serveurs de messagerie pour un domaine spécifique, utilisez l'option
mx
:
dig +nocmd google.com mx +noall +answer
google.com. 494 IN MX 30 alt2.aspmx.l.google.com. google.com. 494 IN MX 10 aspmx.l.google.com. google.com. 494 IN MX 40 alt3.aspmx.l.google.com. google.com. 494 IN MX 50 alt4.aspmx.l.google.com. google.com. 494 IN MX 20 alt1.aspmx.l.google.com.
5. Interrogation des enregistrements NS
Pour trouver les serveurs de noms faisant autorité pour notre domaine spécifique, utilisez l'option
ns
:
dig +nocmd google.com ns +noall +answer
google.com. 84527 IN NS ns1.google.com. google.com. 84527 IN NS ns2.google.com. google.com. 84527 IN NS ns4.google.com. google.com. 84527 IN NS ns3.google.com.
6. Interroger tous les enregistrements
Utilisez l'option
any
pour obtenir une liste de tous les enregistrements DNS pour un domaine spécifique:
dig +nocmd google.com any +noall +answer
google.com. 299 IN A 216.58.212.14 google.com. 299 IN AAAA 2a00:1450:4017:804::200e google.com. 21599 IN NS ns2.google.com. google.com. 21599 IN NS ns1.google.com. google.com. 599 IN MX 30 alt2.aspmx.l.google.com. google.com. 21599 IN NS ns4.google.com. google.com. 599 IN MX 50 alt4.aspmx.l.google.com. google.com. 599 IN MX 20 alt1.aspmx.l.google.com. google.com. 299 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e" google.com. 21599 IN CAA 0 issue "pki.goog" google.com. 599 IN MX 40 alt3.aspmx.l.google.com. google.com. 3599 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 21599 IN NS ns3.google.com. google.com. 599 IN MX 10 aspmx.l.google.com. google.com. 3599 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 59 IN SOA ns1.google.com. dns-admin.google.com. 216967258 900 900 1800 60
Recherche DNS inversée
Pour interroger le nom d'hôte associé à une adresse IP spécifique, utilisez l'option
-x
.
Par exemple, pour effectuer une recherche inversée sur
208.118.235.148
vous utiliseriez:
dig -x 208.118.235.148 +noall +answer
Comme vous pouvez le voir sur la sortie ci-dessous, l'adresse IP
208.118.235.148
est associée au nom d'hôte
wildebeest.gnu.org
.
; <<>> DiG 9.13.3 <<>> -x 208.118.235.148 +noall +answer;; global options: +cmd 148.235.118.208.in-addr.arpa. 245 IN PTR wildebeest.gnu.org.
Requêtes en masse
Dans l'exemple suivant, nous interrogeons les domaines répertoriés dans le fichier
domains.txt
.
lxer.com linuxtoday.com tuxmachines.org
dig -f domains.txt +short
108.166.170.171 70.42.23.121 204.68.122.43
Le fichier.digrc
Le comportement de la commande dig peut être contrôlé en configurant des options par utilisateur dans le fichier
${HOME}/.digrc
.
Si le fichier
.digrc
est présent dans le répertoire personnel de l'utilisateur, les options qui y sont spécifiées sont appliquées avant les arguments de la ligne de commande.
Par exemple, si vous souhaitez afficher uniquement la section des réponses, ouvrez votre éditeur de texte et créez le fichier
~/.digrc
:
Conclusion
dig
est un outil en ligne de commande pour interroger les informations DNS et résoudre les problèmes liés à DNS.
La part de Google dans le marché chinois de la recherche en ligne a légèrement baissé au deuxième trimestre La part de Google sur le marché chinois de la recherche en ligne a légèrement baissé au deuxième trimestre alors que Baidu, leader du marché, a pris plus de volume de recherche, selon des sociétés d'études de marché.
Google s'est battu pour années pour gagner les utilisateurs chinois loin de Baidu, une société chinoise de recherche sur Internet. Leur rivalité a conduit les deux sociétés à publier directement des produits concurrents tels que des services de recherche de téléchargements de musique gratuits.
Définition de la recherche DNS et du fonctionnement de la recherche DNS
Cet article explique le concept d`un domaine. Il répond à ce qu`est un DNS ou un système de nom de domaine avant de parler de la façon dont la recherche DNS fonctionne.
Commande Grep sous Linux (recherche de texte dans des fichiers)
Grep est l'une des commandes les plus puissantes et les plus utilisées de Linux. Grep recherche dans un ou plusieurs fichiers d'entrée des lignes qui correspondent à un modèle donné et écrit chaque ligne correspondante dans la sortie standard.