Heim > Artikel > Computer-Tutorials > So zeigen Sie den DNS-Cache unter Linux an und aktualisieren ihn
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.
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
Im Linux-Betriebssystem gibt es viele Möglichkeiten, den Inhalt des DNS-Cache anzuzeigen.
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
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
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
Manchmal müssen Sie den DNS-Cache möglicherweise manuell aktualisieren, um sicherzustellen, dass das System die neuesten DNS-Auflösungsergebnisse verwendet.
Mit dem Befehl systemd-resolved
können Sie den DNS-Cache des systemd-aufgelösten Dienstes aktualisieren.
sudo systemd-resolve --flush-caches
sudo systemctl restart nscdc. DNS-Cache-Dateien löschen
sudo rm -rf /var/cache/bind/named_dump.db
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
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
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
Durch die Verwendung von Befehlszeilentools wie
, dig
、nscd
和 systemd-resolved
und
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!