J'apprends le réseautage. Je n'ai pas compris le travail de Dig. Lorsque nous demandons à Dig une adresse IP, il interrogera Dnsmasq exécuté sur le port 53 pour obtenir une adresse IP.
Ces commandes fonctionnent
Dig www.google.com
Dig @127.0.1.1 www.google.com
Mais ça ne fonctionne pas
Dig @127.0.0.1 www.google.com
Mon objectif est que cela fonctionne, car un processus exécuté avec un port peut être accédé avec n’importe quelle adresse IP en 127.0.0.0/8. Quelqu'un peut-il expliquer pourquoi la commande ci-dessus ne fonctionne pas?
DNSMASQ se lie à des adresses IP individuelles, comme tous les services sensibles aux adresses IP (tels que les serveurs Web, les serveurs de noms bind9
, etc.)
Bien que votre système a ait 127.0.0.1 et 127.0.1.1 implicitement, ils sont toujours traités comme des adresses IP individuelles (tout comme 192.168.123.4 n’est pas 192.168.123.6 et ne peut en aucun cas être implicite). .
L'implication que 127.0.1.1 et 127.0.0.1 sont identiques ne fonctionne pas avec les commandes directes vers IP. De nos jours, dans les systèmes IN par défaut, dnsmasq
est configuré pour se lier à 127.0.1.1. C'est pourquoi, dans vos systèmes sur lesquels Network Manager est installé, vous voyez 127.0.1.1
dans le fichier /etc/resolv.conf
.
Si vous ne modifiez pas la configuration dnsmasq
, il ne pourra pas se lier à 127.0.0.1 et n'écoutera pas les demandes en cours d'acheminement vers 127.0.0.1; il acheminera cependant les demandes vers 127.0.1.1 selon sa configuration pour address-to-bind-to. (C'est une limitation des configurations par défaut, oui, mais ce n'est pas une mauvaise chose, car vous pouvez attribuer différentes adresses IP de bouclage local à différents services locaux à écouter sur votre système, ce qui permet d'écouter sur localhost les demandes de détection de paquets. , etc. un peu plus facile à réaliser.)