Woher könnten Host-Informationen auf einem Mac außer DNS und /etc/hosts noch kommen?

Woher könnten Host-Informationen auf einem Mac außer DNS und /etc/hosts noch kommen?

Alle Namen und Adressen haben sich geändert. example.com ist eine Domäne, die mir gehört.

% ping foo.example.com
PING foo.example.com (1.1.1.1)

1.1.1.1 ist eine IP-Adresse, von der ich noch nie gehört habe. Dasselbe gilt für andere Programme (ssh, curl).

% host foo.example.com
foo.example.com has address 2.2.2.2

2.2.2.2 ist die richtige IP-Adresse.

% grep foo /etc/hosts
(empty)

Dies ist auf dem Mac. Unter Linux würde ich nach /etc/nsswitch.conf suchen, um weitere Host-Infoquellen zu finden. Gibt es etwas Ähnliches auf dem Mac?

Antwort1

macOS verfügt über ein ausgeklügeltes System zur bereichsbezogenen DNS-Weiterleitung für Dinge wie VPN. Wenn Sie beispielsweise gerade eine VPN-Verbindung zum „Arbeiten“ haben, werden Abfragen für die Domänennamen Ihrer Arbeit möglicherweise an einen DNS-Server bei der Arbeit gesendet.

Um die vollständige Liste anzuzeigen, führen Sie Folgendes aus:

scutil --dns

Um DNS wie das System abzufragen, verwenden Sie:

dns-sd -G v4v6 example.com
dns-sd -q example.com 255 255

(Sie müssen Strg-C drücken, um auszusteigen dns-sd).

Die Befehle host, dig, und nslookupsind alte Unix-Befehle zur Fehlerbehebung bei DNS-Servern, die ihren eigenen DNS-Resolver-Code enthalten und die Bibliotheken des Systems nicht verwenden. Wenn Sie also nicht angeben, welchen Server sie verwenden sollen, erhalten sie einfach die aus dem automatisch generierten /etc/resolv.conf, das nur mit den Standardservern für nicht bereichsgebundene Abfragen gefüllt wird. Aber ein Tool wie pingruft wahrscheinlich einfach auf gethostbyname(3), das das bereichsgebundene DNS-Routing des Systems verwendet.

Bearbeitet, um hinzuzufügen: Ich sollte auch erwähnen, dass macOS Informationen zur Auflösung von Hostnamen in IP-Adressen auf verschiedene andere Weise erhalten kann, darunter:

  1. mDNS (Apple Bonjour / IETF ZeroConf)
  2. Open Directory (ein Apple-Schema für LDAP)
  3. Anderes LDAP
  4. Active Directory
  5. GEWINNT
  6. NetBIOS-Namensdienst
  7. NIS (früher YellowPages/yp; der Netzwerkinformationsdienst von Sun/Oracle)

dsclSie können diese Einstellungen mit dem Befehlszeilentool oder mit der App „Verzeichnisdienste“ bearbeiten , die sich hier verbirgt:

/System/Library/CoreServices/[Applications]/Directory\ Utility.app

verwandte Informationen