Cara menghapus cache DNS pada DD-WRT


27

Bagaimana saya bisa menghapus cache DNS di DD-WRT pada router saya?

DD-WRT menggunakan daemon dnsmasq.


Selain jawaban yang benar secara teknis di bawah ini, Anda dapat
mengaktifkannya

Jawaban:


21

Menurut Flush dnsmasq dns cache :

dnsmasq adalah DNS, TFTP, dan server DHCP yang ringan. Ini dimaksudkan untuk menyediakan layanan DNS dan DHCP yang digabungkan ke LAN. Dnsmasq menerima permintaan DNS dan menjawabnya dari cache kecil, lokal, atau meneruskannya ke server DNS nyata, rekursif,. Perangkat lunak ini juga menginstal banyak router murah untuk men-cache permintaan dns. Cukup restart untuk menghilangkan cache dns:

# stopservice dnsmasq
# startservice dnsmasq

Tidak ada "sudo" di dd-wrt. Tidak ada /etc/init.d pada dd-wrt, atau yang setara.
WhyNotHugo

Hmm ... Kode itu hanyalah contoh cepat. Mungkin saya harus menghapusnya. Atau Anda tahu perintah yang benar untuk env ini?
Justin Ethier

Jawaban lain memiliki satu-satunya cara yang saya tahu untuk memulai kembali layanan di dd-wrt. Tidak terlalu bersih, tapi saya tidak tahu cara lain.
WhyNotHugo

1
Bagaimana kalau stopservice dnsmasqdiikuti startservice dnsmasq? Lihat barrymorrison.com/tag/dd-wrt
Justin Ethier

Belum pernah dengar. Tidak menemukannya setelah google cepat juga.
Kerja bagus

18
killall -1 dnsmasq

Kirim sinyal HUP untuk memberitahu flush cache membaca ulang konfigurasinya, sehingga memulai kembali dengan yang bersih.


1
Saya pikir menggunakan SIGHUP adalah metode terbersih karena halaman manual mencatatnya, dan dnsmasqmungkin tidak menghapus cache saat restart. Padahal saya sudah meletakkannya # killall -HUP dnsmasqbukan # killall -1 dnsmasqkarena lebih mudah diingat / dimengerti.
James Haigh

1
Sebenarnya itu tidak menyebabkannya untuk membaca ulang konfigurasinya - bagian itu tidak benar - tetapi itu tidak masalah untuk pertanyaan itu karena konfigurasi tidak perlu dibaca ulang untuk menghapus cache.
James Haigh

7

Karena tidak ada skrip init pada DD-WRT, saya kira ini akan menjadi cara termudah untuk me-restart dnsmasq:

  1. Bunuh dnsmasq:

    root@ddwrt6:~# killall dnsmasq
    
  2. Mulai dnsmasq:

    root@ddwrt6:~# dnsmasq --conf-file=/tmp/dnsmasq.conf 
    

3

Saya selalu menggunakan:

killall -1 dnsmasq

yang telah bekerja dengan baik untuk saya. Saya menjalankan beberapa versi terbaru dari DD-WRT dan

stopservice dnsmasq
startservice dnsmasq

juga sepertinya berfungsi tanpa kesalahan atau membutuhkan sudo ...


1

Mulai ulang layanan dnsmasq, baik dari antarmuka pengguna.

Atau dari antarmuka baris perintah via

/init.d/dnsmasq restart
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.