


Bagaimana untuk melihat dan menyegarkan cache DNS pada Linux
Dengan membuang cache DNS setempat anda, anda boleh menyelesaikan ralat HTTP dan melindungi diri anda daripada penipuan DNS. Begini cara melakukannya di Linux.
Apabila anda melawati tapak web menggunakan nama domain, sistem anda menghantar permintaan kepada pelayan DNS untuk mendapatkan alamat IP domain tersebut. Pasangan alamat IP domain ini disimpan dalam cache DNS untuk kegunaan kemudian, jadi anda tidak perlu menghantar permintaan kepada pelayan DNS setiap kali untuk mewujudkan sambungan.
Tetapi kadangkala, cache DNS tempatan rosak dan menyebabkan ralat HTTP. Syukurlah, membersihkan dan membina semula cache DNS adalah sangat mudah dalam sistem pengendalian Linux. Begini caranya.
Mengapa siram cache DNS pada Linux?
Terdapat beberapa sebab mengapa anda mungkin mahu membina semula cache DNS yang disimpan pada sistem anda. Jika rekod DNS anda sudah lapuk, anda mungkin mahu mendapatkannya semula daripada pelayan DNS. Selain itu, jika anda bimbang bahawa sistem anda telah terjejas, anda mungkin ingin memastikan bahawa cache DNS tidak diganggu, juga dikenali sebagai pemalsuan DNS.
Apabila anda mengepam cache DNS, sistem mesti ping pelayan DNS sekali lagi dan mendapatkan rekod alamat IP domain baharu daripadanya, mengalih keluar sebarang data lapuk atau rosak dalam proses.
Cara melihat cache DNS tempatan pada Linux
Sebelum systemd, kebanyakan pengedaran Linux tidak mempunyai cache DNS seluruh sistem melainkan ia disediakan secara manual oleh program seperti dnsmasq atau nscd. systemd disertakan dengan systemd-solved, perkhidmatan yang menyelesaikan nama domain ke alamat IP dan menyimpan cache entri DNS.
Bahagian berikut akan membimbing anda tentang cara melihat kandungan cache DNS yang dijana oleh penghuraian systemd, nscd dan dnsmasq supaya anda boleh memahami data cache sebelum membuat keputusan untuk memuat semula data cache.
Lihat cache DNS yang diselesaikan sistem
Untuk melihat rekod cache yang diselesaikan sistemd, anda perlu menghentikan sementara perkhidmatan dan kemudian mengeksport lognya ke fail.
Mula-mula hantar isyarat SIGUSR1 untuk menamatkan perkhidmatan yang dihuraikan systemd:
linuxmi@linuxmi ~/www.linuxmi.com % sudo killall -USR1 systemd-resolved[sudo] linuxmi 的密码:
Gunakan arahan journalctl dan operator output standard untuk menyimpan output ke fail teks:
linuxmi@linuxmi ~/www.linuxmi.com % sudo journalctl -u systemd-resolved > ~/cache.txtlinuxmi@linuxmi ~/www.linuxmi.com
Anda kemudian boleh melihat fail menggunakan teks editor seperti Vim Contents:
Dalam fail, cari "CACHE:" dengan menekan Escape, taip "/CACHE:", dan kemudian tekan Enter. Semua rekod DNS yang disenaraikan di bawah "CACHE:" disertakan dalam cache DNS tempatan. Jika anda menggunakan Vim, tekan kekunci n untuk melompat ke set entri DNS seterusnya.
Lihat cache DNS tempatan nscd
Untuk melihat cache tempatan yang dijana oleh nscd, anda perlu menggunakan arahan rentetan untuk membaca kandungan pangkalan data hos nscd.
Pada pengedaran berasaskan Debian dan Ubuntu, fail ini terletak dalam /var/cache/nscd/hosts. Jalankan arahan berikut untuk melihat fail:
linuxmi@linuxmi ~/www.linuxmi.com % sudo strings /var/cache/nscd/hosts | uniq
Untuk melihat statistik umum tentang cache DNS nscd, gunakan bendera -g:
linuxmi@linuxmi ~/www.linuxmi.com % sudo nscd -g
Tunjukkan cache DNS yang dijana oleh dnsmasq
Dapatkan rekod yang tepat kerana dnsmasq menyimpan cache DNS dalam memori. Anda boleh menghantar isyarat bunuh ke dnsmasq dan log keluarannya untuk mendapatkan bilangan pertanyaan DNS yang diproses.
Untuk melakukan ini, pertama, pastikan dnsmasq sedang beroperasi dan berjalan menggunakan arahan systemctl:
linuxmi@linuxmi ~/www.linuxmi.com % sudo systemctl status dnsmasq
Jika status mengatakan "Aktif", jalankan arahan berikut untuk mematikan perkhidmatan:
linuxmi@linuxmi ~/www.linuxmi.com % sudo pkill -USR1 dnsmasq
使用 journalctl 命令,提取 dnsmasq 日志并将它们保存到文本文件中:
linuxmi@linuxmi ~/www.linuxmi.com % sudo journalctl -u dnsmasq > ~/cache.txt
最后,使用文件查看实用程序(如 cat 或更少)查看文件的内容:
linuxmi@linuxmi ~/www.linuxmi.com % cat ~/cache.txt
如何在 Linux 上刷新 DNS 缓存
刷新 DNS 缓存意味着从计算机中删除缓存的 DNS 记录。这将迫使它向DNS服务器发送请求,以获取新的DNS条目。
以下是在 Linux 上刷新 DNS 缓存的方法:
使用 systemd 解析
您可以使用 resolvectl 命令刷新 systemd 解析存储的 DNS 缓存:
linuxmi@linuxmi ~/www.linuxmi.com % sudo resolvectl flush-caches
如果您运行的是 Ubuntu 17.04 或 18.04,请使用 systemd 解析的命令刷新缓存:
sudo systemd-resolved --flush-caches
在 Linux 上刷新 nscd DNS 缓存
删除 nscd 的 DNS 缓存的最便捷方法是重新启动服务。您可以通过运行以下命令来执行此操作:
linuxmi@linuxmi ~/www.linuxmi.com % sudo /etc/init.d/nscd restart
如果这不起作用,首先,检查存储在PC上的本地缓存是否持久。您可以使用 -g 标志进行验证:
sudo nscd -g
如果是这种情况,请使用带有 nscd 命令的 –i 标志来清除记录(i 代表 invalidate):
linuxmi@linuxmi ~/www.linuxmi.com % sudo nscd -i hosts
删除 dnsmasq DNS 缓存
刷新 dnsmasq 生成的 DNS 缓存很简单。由于缓存存储在内存中,因此重新启动服务会删除所有存储的条目。
要重新启动 dnsmasq,请运行以下 systemctl 命令:
sudo systemctl restart dnsmasq
或者,发出以下命令:
service dnsmasq restart
如果出现提示,请输入管理员密码。现在要重新启动 dnsmasq,所有缓存中存在的 DNS 条目将被清除。
建议刷新 DNS 缓存后,检查本地缓存条目以确认数据已经成功删除。您可以使用 Linux 命令之一的 dig 来进行网络故障排除,并查看输出中的“查询时间”值。假如超过 0 毫秒,则说明缓存已经成功清除(若为 0 毫秒,则表示域记录仍存在于缓存中)。
dig google.com
清除谷歌浏览器的DNS缓存
您经常使用的 Web 浏览器也会缓存 DNS 记录。输入 URL 时,系统会在本地浏览器缓存中搜索缓存条目。如果未找到,它将检查本地系统缓存中的记录。清除 Web 浏览器的 DNS 缓存非常重要,因为它优先于系统范围的缓存。
为了演示,让我们刷新谷歌浏览器中的DNS缓存。在其他浏览器上也有一些方法可以做到这一点,所以最好 Google 一下如何使用你使用的浏览器做到这一点。
首先,在URL栏中键入“chrome://net-internals/#dns”并按Enter键:
点击“清除主机缓存”按钮来清除谷歌浏览器中存储的DNS条目。
Linux是学习网络的最佳操作系统
Linux 乍一看可能看起来很复杂,但如果你花一些时间来学习它是如何工作的,你很快就会意识到它很棒,甚至可能比 Windows 或 macOS 更好。
大多数在线服务器都运行 Linux,如果您想学习网络或想知道计算机通常如何工作,这也是 Linux 理想选择的原因之一。
Atas ialah kandungan terperinci Bagaimana untuk melihat dan menyegarkan cache DNS pada Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Langkah -langkah untuk memulakan Nginx di Linux: Periksa sama ada Nginx dipasang. Gunakan SistemCTL Mula Nginx untuk memulakan perkhidmatan Nginx. Gunakan SistemCTL Dayakan NGINX untuk membolehkan permulaan automatik Nginx pada permulaan sistem. Gunakan Status SistemCTL Nginx untuk mengesahkan bahawa permulaan berjaya. Lawati http: // localhost dalam pelayar web untuk melihat halaman selamat datang lalai.

Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

Memulakan pelayan Nginx memerlukan langkah-langkah yang berbeza mengikut sistem operasi yang berbeza: Sistem Linux/Unix: Pasang pakej Nginx (contohnya, menggunakan apt-get atau yum). Gunakan SystemCTL untuk memulakan perkhidmatan Nginx (contohnya, SUDO SystemCTL Mula Nginx). Sistem Windows: Muat turun dan pasang fail binari Windows. Mula Nginx menggunakan nginx.exe executable (contohnya, nginx.exe -c conf \ nginx.conf). Tidak kira sistem operasi yang anda gunakan, anda boleh mengakses IP pelayan

Bagaimana untuk memperbaiki kesilapan dilarang nginx 403? Semak keizinan fail atau direktori; 2. Semak .htaccess File; 3. Semak fail konfigurasi nginx; 4. Mulakan semula nginx. Penyebab lain yang mungkin termasuk peraturan firewall, tetapan selinux, atau isu aplikasi.

Jawab kepada Soalan: 304 Tidak diubahsuai ralat menunjukkan bahawa penyemak imbas telah cache versi sumber terkini permintaan klien. Penyelesaian: 1. Kosongkan cache penyemak imbas; 2. Lumpuhkan cache penyemak imbas; 3. Konfigurasi nginx untuk membolehkan cache pelanggan; 4. Periksa keizinan fail; 5. Semak fail hash; 6. Lumpuhkan CDN atau cache proksi terbalik; 7. Mulakan semula nginx.

Di Linux, gunakan arahan berikut untuk memeriksa sama ada nginx dimulakan: Hakim status SistemCTL Nginx berdasarkan output arahan: Jika "Aktif: Aktif (Running)" dipaparkan, Nginx dimulakan. Jika "aktif: tidak aktif (mati)" dipaparkan, nginx dihentikan.

Pelayan tidak mempunyai kebenaran untuk mengakses sumber yang diminta, mengakibatkan ralat NGINX 403. Penyelesaian termasuk: Periksa keizinan fail. Semak konfigurasi .htaccess. Semak konfigurasi Nginx. Konfigurasikan keizinan Selinux. Semak peraturan firewall. Menyelesaikan masalah lain seperti masalah penyemak imbas, kegagalan pelayan, atau kesilapan lain yang mungkin.

Log ralat terletak di/var/log/nginx (linux) atau/usr/local/var/log/nginx (macOS). Gunakan baris arahan untuk membersihkan langkah -langkah: 1. Sandarkan log asal; 2. Buat fail kosong sebagai log baru; 3. Mulakan semula perkhidmatan Nginx. Pembersihan automatik juga boleh digunakan dengan alat pihak ketiga seperti logrotat atau dikonfigurasikan.
