Beim Schreiben eines Skripts wollte ich eine Maschine mit dem von mir angegebenen Computernamen referenzieren (z. B. "selenium-rc"). Ich konnte es nicht mit "selenium-rc" anpingen, also habe ich die folgenden Befehle ausprobiert, um festzustellen, ob der Name erkannt wurde.
> 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 hat den Namen "gefunden". Wie? Nächster ...
> traceroute selenium-rc
traceroute: unknown host selenium-rc
Hmm ... der Suchmechanismus hier muss anders sein, da der Host unbekannt ist. Ich gehe davon aus, dass hierbei ein Prozess zur Auflösung von Systemnamen verwendet wird, während im ersten Beispiel ein für Traceroute spezifischer Prozess verwendet wurde. Richtig?
Dann, als ich etwas später zurückkam ...
> 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, anderes Ergebnis. Der Name "selenium-rc" hat sich auf dem Computer selbst nicht geändert, aber der Prozess zur Auflösung des Traceroute-Namens muss eine Priorität enthalten und liefert nun ein vermutlich maßgeblicheres Ergebnis, das von einem anderen System / Dienst im Netzwerk zugewiesen wurde. (Leider gehe ich davon aus, dass es sich um einen dynamischen Namen handelt, den ich nicht kontrolliere, und daher wäre er in einem Skript nicht nützlich.)
Kann jemand die Ergebnisse erklären?
quelle
Sieht so aus, als hätten Sie die umgekehrte Suche richtig eingerichtet, aber nicht vorwärts.
Ihr System kann die IP-Adresse 192.168.235.41 nachschlagen und erkennen, dass dies der Fall ist.
selenium-rc
Wenn es jedoch versucht, nachzuschlagen,selenium-rc
schlägt dies fehl.Ich empfehle Ihnen zu überprüfen
/etc/hosts
und/etc/resolv.conf
; Das Verhalten desgetaddrinfo
Systemaufrufs wird vom letzteren vorgegeben und verweist auf den ersteren.quelle
Meine Vermutung: Beim Aufrufen wurde
traceroute 192.168.235.41
eine DNS-Anfrage gesendet, um den Namen für die IP-Adresse 192.168.235.41 zu finden.traceroute -n 192.168.235.41
ist der Weg, um Traceroute zu starten, ohne DNS-Lookups für jede gefundene IP-Adresse durchzuführen. Der DNS-Server brauchte länger, um zu antworten, als das DNS-System warten wollte, daher gab traceroute zunächst keinen Hostnamen für 192.168.235.41 an. Bis Traceroute Pakete von 192.168.235.41 sendet und empfängt, hat Ihr DNS-Server geantwortet, sodass Traceroute einen Hostnamen dafür angeben kann.Ich würde also "DNS-Serverprobleme" sagen, mit einem sehr günstigen Zeitpunkt, der Sie gegenüber anderen Dingen misstrauisch machte. Denken Sie hier an "Murphys Gesetz". Wenn Sie etwas später zurückkommen, erhalten Sie einen anderen Namen für dieselbe IP-Adresse, was mich auch glauben lässt, dass während der Durchführung Ihrer Traceroutes möglicherweise jemand mit der DNS-Serverkonfiguration herumgespielt hat.
quelle