Rumah  >  Artikel  >  tutorial komputer  >  Bagaimana untuk melihat dan menyegarkan cache dns dalam Linux

Bagaimana untuk melihat dan menyegarkan cache dns dalam Linux

WBOY
WBOYke hadapan
2024-03-07 08:43:141146semak imbas

DNS (Domain Name System) ialah sistem yang digunakan dalam Internet untuk menukar nama domain kepada alamat IP yang sepadan.

Dalam sistem Linux, cache DNS ialah mekanisme yang menyimpan hubungan pemetaan antara nama domain dan alamat IP secara setempat, yang boleh meningkatkan kelajuan resolusi nama domain dan mengurangkan beban pada pelayan DNS. Caching DNS membolehkan sistem mendapatkan semula alamat IP dengan pantas apabila kemudiannya mengakses nama domain yang sama tanpa perlu mengeluarkan permintaan pertanyaan kepada pelayan DNS setiap kali, dengan itu meningkatkan prestasi dan kecekapan rangkaian.

Artikel ini akan membincangkan dengan anda cara melihat dan memuat semula cache DNS pada Linux, serta butiran yang berkaitan dan kod sampel.

Kepentingan cache DNS

Dalam sistem Linux, cache DNS memainkan peranan penting. Kewujudannya bukan sahaja berkesan mengurangkan masa resolusi DNS dan mempercepatkan akses rangkaian, tetapi juga berkesan mengurangkan beban pada pelayan DNS.

Apabila sistem mengakses nama domain tertentu, jika keputusan resolusi nama domain sudah disimpan dalam cache tempatan, sistem boleh terus mendapatkan hasil daripada cache tanpa menghantar permintaan pertanyaan kepada pelayan DNS sekali lagi. Mekanisme ini berkesan menjimatkan masa dan lebar jalur rangkaian. Dengan menggunakan caching tempatan, sistem boleh meningkatkan kecekapan capaian, terutamanya apabila mengakses nama domain yang sama dengan kerap. Kaedah ini bukan sahaja mengurangkan beban pada pelayan DNS, tetapi juga mengurangkan penggunaan trafik rangkaian, mengoptimumkan prestasi rangkaian keseluruhan. Oleh itu, mekanisme caching memainkan peranan penting dalam meningkatkan kelajuan tindak balas sistem dan mengurangkan penggunaan sumber

Bagaimana untuk melihat dan menyegarkan cache dns dalam Linux

Cara menyemak cache DNS

Dalam sistem pengendalian Linux, terdapat banyak cara untuk melihat kandungan cache DNS.

a. Gunakan arahan gali

Arahan

dig ialah alat DNS yang berkuasa yang boleh digunakan untuk menanyakan maklumat DNS, termasuk keputusan resolusi nama domain dan kandungan cache DNS.

dig example.com

Hasil keluaran:

; <<>> 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. Lihat cache nscd

nscd(Name Service Cache Daemon) ialah proses daemon yang bertanggungjawab untuk menguruskan cache perkhidmatan nama sistem.

Anda boleh menggunakan arahan nscd untuk melihat kandungan cache DNS.

nscd -g

Hasil keluaran:

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. Lihat cache yang diselesaikan oleh sistem

systemd-resolved ialah perkhidmatan sistem yang bertanggungjawab untuk menyelesaikan pertanyaan DNS. Ia juga mengekalkan cache DNS.

Anda boleh menggunakan arahan systemd-resolve untuk melihat kandungan cache.

systemd-resolve --statistics

Hasil keluaran:

DNSSEC supported by current servers: no

Transactions 
Current Transactions: 0
Total Transactions: 2422

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

Bagaimana untuk memuat semula cache DNS

Kadangkala, anda mungkin perlu memuat semula cache DNS secara manual untuk memastikan sistem menggunakan keputusan resolusi DNS terkini.

a. Gunakan systemd-resolved

Anda boleh menggunakan arahan systemd-resolved untuk menyegarkan cache DNS perkhidmatan yang diselesaikan sistemd.

sudo systemd-resolve --flush-caches

b. Mulakan semula perkhidmatan nscd

Jika perkhidmatan nscd sedang berjalan pada sistem, anda boleh cuba menyegarkan cache DNS dengan memulakan semula perkhidmatan.

sudo systemctl restart nscd

c. Kosongkan fail cache DNS

Anda juga boleh memadam fail cache DNS secara manual untuk mengosongkan cache DNS.

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

Penggunaan dan langkah berjaga-jaga lanjutan

a. Gunakan cache DNS untuk mengoptimumkan prestasi

DNS caching boleh meningkatkan kelajuan resolusi nama domain dengan ketara dan mengurangkan tekanan permintaan pada pelayan DNS.

Dengan mengkonfigurasi cache DNS dengan betul, prestasi sistem dan kelajuan sambungan rangkaian boleh dioptimumkan lagi.

Saiz cache DNS dan tamat masa boleh dilaraskan untuk memenuhi keperluan anda.

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

# 查看 systemd-resolved 的配置
cat /etc/systemd/resolved.conf

b. Perhatikan konsistensi cache DNS

Apabila menyegarkan cache DNS, anda perlu memberi perhatian untuk memastikan semua cache DNS yang berkaitan disegarkan untuk mengelakkan ketidakkonsistenan cache DNS.

Ini mungkin menyebabkan aplikasi tidak dapat mengakses nama domain tertentu atau menyambung ke alamat IP yang salah.

Kod contoh:
# 刷新 systemd-resolved 服务的 DNS 缓存
sudo systemd-resolve --flush-caches

c. Elakkan kerap menyegarkan cache DNS

Walaupun menyegarkan cache DNS boleh menyelesaikan beberapa masalah berkaitan DNS, menyegarkan cache DNS terlalu kerap boleh menjejaskan prestasi sistem dan kelajuan sambungan rangkaian.

Adalah disyorkan untuk hanya menyiram cache DNS apabila perlu, dan pastikan anda memahami kesan operasi siram sebelum menyiram.

Kod contoh:
# 重启 nscd 服务
sudo systemctl restart nscd

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

Ringkasan

Dalam sistem Linux, melihat dan menyegarkan cache DNS adalah langkah penting dalam mengurus sambungan rangkaian dan mengoptimumkan prestasi sistem.

Dengan menggunakan alat baris arahan seperti dignscd 和 systemd-resolved,

dan 🎜, anda boleh melihat maklumat cache DNS sistem semasa dengan mudah dan mengambil tindakan yang perlu untuk memuat semula cache untuk memastikan ketersediaan data terkini. 🎜

Atas ialah kandungan terperinci Bagaimana untuk melihat dan menyegarkan cache dns dalam Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:mryunwei.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam