Heim  >  Artikel  >  Computer-Tutorials  >  So zeigen Sie den DNS-Cache unter Linux an und aktualisieren ihn

So zeigen Sie den DNS-Cache unter Linux an und aktualisieren ihn

WBOY
WBOYnach vorne
2024-03-07 08:43:141125Durchsuche

DNS (Domain Name System) ist das System, das im Internet verwendet wird, um Domänennamen in entsprechende IP-Adressen umzuwandeln.

In Linux-Systemen ist DNS-Caching ein Mechanismus, der die Zuordnungsbeziehung zwischen Domänennamen und IP-Adressen lokal speichert, was die Geschwindigkeit der Domänennamenauflösung erhöhen und die Belastung des DNS-Servers verringern kann. DNS-Caching ermöglicht es dem System, die IP-Adresse schnell abzurufen, wenn es später auf denselben Domänennamen zugreift, ohne jedes Mal eine Abfrageanforderung an den DNS-Server senden zu müssen, wodurch die Netzwerkleistung und -effizienz verbessert wird.

In diesem Artikel erfahren Sie, wie Sie den DNS-Cache unter Linux anzeigen und aktualisieren sowie zugehörige Details und Beispielcode.

Bedeutung des DNS-Caching

In Linux-Systemen spielt DNS-Caching eine Schlüsselrolle. Seine Existenz kann nicht nur die Zeit der DNS-Auflösung effektiv verkürzen und den Netzwerkzugriff beschleunigen, sondern auch die Belastung des DNS-Servers effektiv reduzieren.

Wenn das System auf einen bestimmten Domänennamen zugreift und das Auflösungsergebnis des Domänennamens bereits im lokalen Cache gespeichert ist, kann das System das Ergebnis direkt aus dem Cache abrufen, ohne erneut eine Abfrageanforderung an den DNS-Server senden zu müssen. Dieser Mechanismus spart effektiv Zeit und Netzwerkbandbreite. Durch die Verwendung von lokalem Caching kann das System die Zugriffseffizienz verbessern, insbesondere wenn häufig auf denselben Domänennamen zugegriffen wird. Diese Methode reduziert nicht nur die Belastung des DNS-Servers, sondern reduziert auch den Verbrauch des Netzwerkverkehrs und optimiert so die Gesamtleistung des Netzwerks. Daher spielt der Caching-Mechanismus eine wichtige Rolle bei der Verbesserung der Reaktionsgeschwindigkeit des Systems und der Reduzierung des Ressourcenverbrauchs

So zeigen Sie den DNS-Cache unter Linux an und aktualisieren ihn

So überprüfen Sie den DNS-Cache

Im Linux-Betriebssystem gibt es viele Möglichkeiten, den Inhalt des DNS-Cache anzuzeigen.

a. Verwenden Sie den Befehl dig

Der Befehl

dig ist ein leistungsstarkes DNS-Tool, mit dem DNS-Informationen abgefragt werden können, einschließlich der Ergebnisse der Domänennamenauflösung und des DNS-Cache-Inhalts.

dig example.com

Ausgabeergebnis:

; <<>> DiG 9.16.1-Ubuntu <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62233
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;example.com. INA

;; ANSWER SECTION:
example.com.604800INA 93.184.216.34

;; Query time: 43 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sat Feb 19 12:00:00 UTC 2024
;; MSG SIZErcvd: 57

b. NSCD-Cache anzeigen

nscd(Name Service Cache Daemon) ist ein Daemon-Prozess, der für die Verwaltung des System Name Service Cache verantwortlich ist.

Mit dem Befehl nscd können Sie den Inhalt des DNS-Cache anzeigen.

nscd -g

Ausgabeergebnis:

hosts cache:

yescache is enabled
yescache is persistent
yescache is shared
211suggested size
216320total data pool size
1408used data pool size
7200seconds time to live for positive entries
20seconds time to live for negative entries
20cache hits on positive entries
0cache hits on negative entries
3cache misses on positive entries
0cache misses on negative entries
100 % cache hit rate
8current number of cached values
9maximum number of cached values
0maximum chain length searched
0number of delays on rdlock
0number of delays on wrlock
0memory allocations failed

c. Vom System aufgelösten Cache anzeigen

systemd-resolved ist ein Systemdienst, der für die Lösung von DNS-Anfragen verantwortlich ist. Er verwaltet auch einen DNS-Cache.

Mit dem Befehl systemd-resolve können Sie den Cache-Inhalt anzeigen.

systemd-resolve --statistics

Ausgabeergebnis:

DNSSEC supported by current servers: no

Transactions 
Current Transactions: 0
Total Transactions: 2422

Cache
Current Cache Size: 15
Cache Hits: 2312
Cache Misses: 110

So aktualisieren Sie den DNS-Cache

Manchmal müssen Sie den DNS-Cache möglicherweise manuell aktualisieren, um sicherzustellen, dass das System die neuesten DNS-Auflösungsergebnisse verwendet.

a. Verwenden Sie systemd-resolved

Mit dem Befehl systemd-resolved können Sie den DNS-Cache des systemd-aufgelösten Dienstes aktualisieren.

sudo systemd-resolve --flush-caches

b. Starten Sie den NSCD-Dienst neu

Wenn der nscd-Dienst auf dem System ausgeführt wird, können Sie versuchen, den DNS-Cache zu aktualisieren, indem Sie den Dienst neu starten.

sudo systemctl restart nscd

c. DNS-Cache-Dateien löschen

Sie können die DNS-Cache-Datei auch manuell löschen, um den DNS-Cache zu leeren.

sudo rm -rf /var/cache/bind/named_dump.db

Erweiterte Verwendung und Vorsichtsmaßnahmen

a. Verwenden Sie DNS-Caching, um die Leistung zu optimieren

DNS-Caching kann die Geschwindigkeit der Domänennamenauflösung erheblich erhöhen und den Anforderungsdruck auf den DNS-Server verringern.

Durch die richtige Konfiguration des DNS-Cache können die Systemleistung und die Netzwerkverbindungsgeschwindigkeit weiter optimiert werden.

Die DNS-Cache-Größe und das Timeout können an Ihre Bedürfnisse angepasst werden.

Beispielcode:
# 调整 systemd-resolved 的 DNS 缓存大小和超时时间
sudo systemctl edit systemd-resolved.service

# 查看 systemd-resolved 的配置
cat /etc/systemd/resolved.conf
b. Achten Sie auf die Konsistenz des DNS-Cache

Beim Aktualisieren des DNS-Cache müssen Sie darauf achten, dass alle relevanten DNS-Caches aktualisiert werden, um DNS-Cache-Inkonsistenzen zu vermeiden.

Dies kann dazu führen, dass die Anwendung nicht auf einen bestimmten Domänennamen zugreifen oder eine Verbindung zur falschen IP-Adresse herstellen kann.

Beispielcode:
# 刷新 systemd-resolved 服务的 DNS 缓存
sudo systemd-resolve --flush-caches
c. Vermeiden Sie häufiges Aktualisieren des DNS-Cache

Obwohl das Aktualisieren des DNS-Caches einige DNS-bezogene Probleme lösen kann, kann ein zu häufiges Aktualisieren des DNS-Caches die Systemleistung und die Netzwerkverbindungsgeschwindigkeit beeinträchtigen.

Es wird empfohlen, den DNS-Cache nur bei Bedarf zu leeren und sicherzustellen, dass Sie vor dem Leeren die Auswirkungen des Löschvorgangs verstehen.

Beispielcode:
# 重启 nscd 服务
sudo systemctl restart nscd

# 清除 DNS 缓存文件
sudo rm -rf /var/cache/bind/named_dump.db

Zusammenfassung

In Linux-Systemen ist das Anzeigen und Aktualisieren des DNS-Cache ein wichtiger Schritt bei der Verwaltung von Netzwerkverbindungen und der Optimierung der Systemleistung.

Durch die Verwendung von Befehlszeilentools wie

, dignscd 和 systemd-resolved und

können Sie ganz einfach die DNS-Cache-Informationen des aktuellen Systems anzeigen und die erforderlichen Maßnahmen ergreifen, um den Cache zu aktualisieren und die Verfügbarkeit der neuesten Daten sicherzustellen. 🎜

Das obige ist der detaillierte Inhalt vonSo zeigen Sie den DNS-Cache unter Linux an und aktualisieren ihn. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:mryunwei.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen