Lors de l'écriture d'un script, j'ai voulu référencer une machine par le nom de l'ordinateur que je lui ai donné (par exemple "sélénium-rc"). Je ne pouvais pas le cingler en utilisant "selenium-rc", j'ai donc essayé les commandes suivantes pour voir si le nom était reconnu.
> traceroute 192.168.235.41
traceroute to 192.168.235.41 (192.168.235.41), 64 hops max, 52 byte packets
1 selenium-rc (192.168.235.41) 0.545 ms 0.241 ms 0.124 ms
Ok, traceroute a "trouvé" le nom. Comment? Prochain ...
> traceroute selenium-rc
traceroute: unknown host selenium-rc
Hmm ... le mécanisme de recherche ici doit être différent car l'hôte est inconnu. Je suppose que cela utilise un processus de résolution de nom de système alors que le premier exemple utilisait un processus spécifique à traceroute. Correct?
Puis quand je suis revenu un peu plus tard ...
> traceroute 192.168.235.41
traceroute to 192.168.235.41 (192.168.235.41), 64 hops max, 52 byte packets
1 minint-q4e8i52.mycorp.net (192.168.235.41) 0.509 ms 0.206 ms 0.136 ms
Ok, résultat différent. Le nom "sélénium-rc" n'a pas changé sur la machine elle-même, mais le processus de résolution de nom de traceroute doit inclure une sorte de priorité et donne maintenant un résultat vraisemblablement plus faisant autorité attribué par un autre système / service sur le réseau. (Malheureusement, je suppose que c'est un nom dynamique que je ne contrôle pas et qu'il ne serait donc pas utile dans un script.)
Quelqu'un peut-il expliquer les résultats?
la source
Il semble que la recherche inversée soit correctement configurée, mais pas vers l'avant.
Votre système peut rechercher l'adresse IP 192.168.235.41 et reconnaître que c'est le cas
selenium-rc
, mais lorsqu'il essaie de le rechercher,selenium-rc
il échoue.Je vous recommande de vérifier
/etc/hosts
et/etc/resolv.conf
; le comportement de l'getaddrinfo
appel système est dicté par ce dernier et fait référence au premier.la source
Ma conjecture: l'invocation a
traceroute 192.168.235.41
provoqué une requête DNS pour trouver le nom qui va avec l'adresse IP 192.168.235.41.traceroute -n 192.168.235.41
est le moyen de démarrer traceroute sans qu'il effectue des recherches DNS sur chaque adresse IP qu'il trouve. Le serveur DNS a mis plus de temps à répondre que le système DNS ne voulait attendre, donc au début traceroute n'a pas donné de nom d'hôte pour 192.168.235.41. Au moment où traceroute envoie et reçoit des paquets de 192.168.235.41, votre serveur DNS a répondu, donc traceroute peut lui donner un nom d'hôte.Donc, je dirais «problèmes de serveur DNS», avec un timing très pratique qui vous rendait suspect d'autres choses. Pensez à "la loi de Murphy" ici. Lorsque vous êtes revenu un peu plus tard, vous obtenez un nom différent pour la même adresse IP, ce qui me fait également penser que peut-être que quelqu'un jouait avec la configuration du serveur DNS pendant que vous faisiez vos traceroutes.
la source