Comprendre le serveur de noms resolve.conf à travers des appels système

J'essaie de comprendre exactement comment ça marche /etc/resolve.conf /etc/nsswitch.conf Et quelle valeur est l'enregistrement du serveur de noms 127.0.1.1

j'ai fait strace ping google.com, Pour en savoir plus sur les défis du système impliqués, une partie:

stat64("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=172, ...}) = 0
socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.1.1")}, 16) = 0
gettimeofday({1413780874, 913366}, NULL) = 0
poll([{fd=4, events=POLLOUT}], 1, 0) = 1 ([{fd=4, revents=POLLOUT}])
send(4, "\0040\1\0\0\1\0\0\0\0\0\0\6google\3com\0\0\1\0\1", 28, MSG_NOSIGNAL) = 28
poll([{fd=4, events=POLLIN}], 1, 5000) = 1 ([{fd=4, revents=POLLIN}])
ioctl(4, FIONREAD, [204]) = 0
recvfrom(4, "\0040\201\200\0\1\0\v\0\0\0\0\6google\3com\0\0\1\0\1\300\f\0\1"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.1.1")}, [16]) = 204
close(4) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(1025), sin_addr=inet_addr("173.194.123.36")}, 16) = 0
getsockname(4, {sa_family=AF_INET, sin_port=htons(58830), sin_addr=inet_addr("192.168.1.13")}, [16]) = 0
close(4)

Quelqu'un peut-il expliquer ce qui se passe ici? Se connecter spécialement à K. 127.0.1.1, comme cet enregistrement namsserver dans mon resolve.conf Pourquoi devons-nous connecter la prise à 127.0.1.1? Et comment pouvons-nous avoir la réponse de lui?
Invité:

Catherine

Confirmation de:

127.XXX.XXX.XXX Réservé pour les commentaires. Tu peux ping de 127.0.0.1 avant que 127.255.255.254, Et vous envoyez une demande de ping à vous-même. /Etc/resolv.conf - Ceci est un fichier de configuration pour le convertisseur DNS de votre ordinateur. (Informe votre ordinateur où chercher le nom de la permission et IP).

Dans votre cas, le convertisseur DNS Regarde vous-même à la recherche de la résolution de noms. Il est complètement normal si vous utilisez un serveur DNS, tel que BIND DNS, Cependant, gardez à l'esprit que le serveur DNS BIND demandera les adresses qui ne lui sont inconnues (Toute zone qui n'est pas configurée sur votre propre serveur DNS BIND), Utilisant root Conseils et permettez l'adresse IP accessible au public de tout nom demandé.

Dans le même temps, si vous postez un site interne interne www.company.com Sur une adresse IP interne 192.168.1.10 Et essayer de propager ce site à partir de ce serveur Linux, Vous activerez l'adresse IP spécifiée sur votre externe accessible au public. DNS. serveur. Si un:

Vous avez une zone DNS company.com, Configuré sur le serveur DNS BIND Avec un enregistrement indiquant une adresse IP interne.

Sur votre serveur DNS BIND Un réciproque est configuré par un serveur DNS interne qui possède un enregistrement DNS interne pour les adresses. www.company.com. (celles. Serveur dns. Active Directory).

Vous configurez le fichier /etc/resolv.conf Utiliser le serveur DNS interne au lieu de cela. (Certains systèmes sont différents lors de la modification de ce fichier. DANS Ubuntu Vous devez modifier le fichier /etc/resolvconf/resolv.conf.d/base, Pour conserver la configuration après le redémarrage si vous souhaitez modifier le fichier resolv.conf)

Pour répondre aux questions, connectez-vous ou registre