Comment effacer le cache DNS sur DD-WRT

27

Comment puis-je effacer le cache DNS dans DD-WRT sur mon routeur?

DD-WRT utilise le démon dnsmasq.

bobgubko
la source
Outre les réponses techniquement correctes ci-dessous, vous pouvez le redémarrer ...
Hayden Thring

Réponses:

21

Selon Flush dnsmasq dns cache :

dnsmasq est un serveur DNS, TFTP et DHCP léger. Il est destiné à fournir un service DNS et DHCP couplé à un LAN. Dnsmasq accepte les requêtes DNS et y répond à partir d'un petit cache local ou les transmet à un serveur DNS réel et récursif. Ce logiciel est également installé de nombreux routeurs bon marché pour mettre en cache les requêtes DNS. Redémarrez simplement pour vider le cache DNS:

# stopservice dnsmasq
# startservice dnsmasq
Justin Ethier
la source
Il n'y a pas de "sudo" sur dd-wrt. Il n'y a pas /etc/init.d sur dd-wrt, ni aucun équivalent.
WhyNotHugo
Hmm ... Le code n'était qu'un exemple rapide. Je devrais peut-être le supprimer. Sinon, connaissez-vous la commande correcte pour cet env?
Justin Ethier
L'autre réponse a le seul moyen que je connaisse pour redémarrer les services sur dd-wrt. Pas trop propre, mais je ne connais pas d'autre moyen.
WhyNotHugo
1
Que diriez-vous stopservice dnsmasqsuivi par startservice dnsmasq? Voir barrymorrison.com/tag/dd-wrt
Justin Ethier
Je n'en avais pas entendu parler. Je ne l'ai pas trouvé non plus après un rapide google. Excellent travail :)
WhyNotHugo
18
killall -1 dnsmasq

Envoyez un signal HUP pour lui dire de vider le cache et de relire sa configuration, recommençant ainsi avec une table rase.

limon
la source
1
Je pense que l'utilisation de SIGHUP est la méthode la plus propre car la page de manuel le note et dnsmasqpeut ne pas vider le cache au redémarrage. Bien que j'aurais mis # killall -HUP dnsmasqplutôt que # killall -1 dnsmasqparce qu'il est plus facile de se souvenir / comprendre.
James Haigh
1
En fait, cela ne le fait pas relire sa configuration - cette partie est incorrecte - mais cela n'a pas d'importance pour la question car la configuration n'a pas besoin d'être relue pour vider le cache.
James Haigh
7

Puisqu'il n'y a pas de scripts d'initialisation sur DD-WRT, je suppose que ce serait le moyen le plus simple de redémarrer dnsmasq:

  1. Tuez dnsmasq:

    root@ddwrt6:~# killall dnsmasq
    
  2. Démarrez dnsmasq:

    root@ddwrt6:~# dnsmasq --conf-file=/tmp/dnsmasq.conf 
    
Ron
la source
3

J'ai toujours utilisé:

killall -1 dnsmasq

ce qui a bien fonctionné pour moi. J'utilise certaines des nouvelles versions de DD-WRT et

stopservice dnsmasq
startservice dnsmasq

semblait également fonctionner sans erreur ni besoin de sudo ...

Phil
la source
1

Redémarrez le service dnsmasq, soit à partir de l'interface utilisateur.

Ou depuis l'interface de ligne de commande via

/init.d/dnsmasq restart
sean
la source