Was löst die Verwendung der negativen Zeit aus, um den DNS-SOA-Eintragswert zu leben?

8

Ich lese das folgende DNS-Tutorial durch und es enthält dieses Beispiel:

domain.com.  IN SOA ns1.domain.com. admin.domain.com. (
                                        12083   ; serial number
                                        3h      ; refresh interval
                                        30m     ; retry interval
                                        3w      ; expiry period
                                        1h      ; negative TTL
)

Die Beschreibung für den negative TTLWert lautet wie folgt:

1h: Dies ist die Zeitspanne, in der der Nameserver einen Namensfehler zwischenspeichert, wenn er den angeforderten Namen in dieser Datei nicht finden kann.

Unter welchen Bedingungen kann der Server einen solchen Namensfehler zwischenspeichern? Ein Beispiel wäre wirklich hilfreich.

Ole
quelle

Antworten:

11

Das negative Caching-Intervall im wird SOAangezeigt, wenn ein autorisierender Server angibt, dass der angeforderte Datensatz nicht vorhanden ist. Die spezifischen Fälle sind:

  • Antwortet mit einem Antwortcode von NXDOMAIN.
  • Antworten mit einem NODATAsynthetischen Zustand, aber nur dort, wo ein SOADatensatz vorhanden ist. ( NOERRORrcode, 0 Antworten, 1 SOADatensatz im Berechtigungsbereich + optionale NSDatensätze)

Es ist üblich, dass Serversoftware ein lokal konfiguriertes Maximum für diesen Wert erzwingt. Selbst wenn Sie eine negative TTL der 86400Nichtexistenz haben, wird diese nicht unbedingt so lange von rekursiven Remoteservern zwischengespeichert.

Die Fälle werden in Abschnitt RFC 2308 behandelt, wenn Sie weiterlesen möchten. Lesen Sie Abschnitt 2 als Grundierung und dann 5-6.

Andrew B.
quelle
IIUC Wenn ich "not.available.example.com" vom autorisierenden Server anfordere, wird es für die negative Lebensdauer zwischengespeichert?
Ole
Richtig. Vollständig rekursive Server werden die Nichtexistenz zuverlässig zwischenspeichern, aber das Verhalten von Stub-Resolvern (wie z. B. OS-Resolver-Bibliotheken) variiert. Windows zum Beispiel. Sie würden feststellen, "Name existiert nicht." in der Ausgabe von ipconfig /displaydns, die darstellt NXDOMAIN. In dieser Ausgabe finden Sie auch Instanzen von "Keine Datensätze vom Typ X", was entspricht NODATA. Die meisten UNIX-basierten Systeme tun dies nicht , da sie ohne zusätzliche Konfiguration überhaupt nicht zwischengespeichert werden. ( nscdmit aktiviertem Caching, lokalem rekursiven Server und Verwendung von 127.0.0.1 für DNS-Lookups usw.)
Andrew B
Wenn ich mir den Zweck richtig vorstelle, kann ich dann überprüfen, ob "not.available.example.com" laut dem vollständig rekursiven Server wirklich nicht verfügbar war? Mit anderen Worten, wenn ich keine IP-Adresse erhalte, kann ich den Server an einem / displaydns-Endpunkt abfragen, und das Ergebnis sollte eine Bestätigung enthalten, dass die Adresse tatsächlich nicht vorhanden ist.
Ole
ipconfig /displaydnsexistiert, um Ihnen den Inhalt des lokalen Stub-Resolver-Cache mitzuteilen. Nicht mehr und nicht weniger. Was Administratoren mit diesen Informationen tun möchten, ist unbefristet.
Andrew B
@Ole Der Zweck besteht darin, wiederholte Abfragen nach dem Namen zu verhindern, sobald der Server dem Resolver bereits mitgeteilt hat, dass er nicht vorhanden ist. Genau wie bei jedem anderen Caching.
Barmar