Depuis le rachat de Neuf par SFR on assiste à une nette dégradation du respect des clients. Dernier exemple en date la mise en place de DNS menteurs.
“Mais Jamie c’est quoi, un DNS menteur ?”
Et bien normalement quand on tente d’accéder à un domaine inexistant (par exemple tructructruc.bidule) le serveur DNS doit répondre avec une erreur NXDOMAIN indiquant un nom de domaine inexistant. Le navigateur peut alors afficher une page d’erreur. Un DNS menteur, lui, répond avec une IP par défaut comme si le domaine existait.
Dans le cas de SFR c’est l’IP 206.222.226.18 qui vous affiche une belle page de pub déguisée en moteur de recherche sponsorisé (merci AOL). Outre le fait que je n’ai pas demandé AOL, que je n’utilise pas leur moteur de recherche, et que leur page est très lente à charger, ce comportement totalement irrespectueux perturbe les cronjobs de mon serveur domestique, pourrisant mes logs avec leur url poubelle (http://sfr.recherche.aol.fr/aol/afe_x.).
Bref il faut bloquer ca !
La solution ? Utiliser le paramètre bogus-nxdomain de dnsmasq qui permet de blacklister une IP (toute réponse DNS renvoyant vers cette IP sera “traduite” en NXDOMAIN). Problème : ma Soekris tourne sous pfSense et cette option n’est pas disponible dans l’interface.
Pas grave on va bidouiller à la main un petit hack crade mais efficace :
- se logger en SSH sur le pfsense
- monter la partition racine en écriture :
mount -u -o rw / - modifier le fichier
/etc/inc/services.phpligne 635 :
mwexec("/usr/local/sbin/dnsmasq {$args} --bogus-nxdomain=206.222.226.18");
Puis :
- depuis l’interface désactiver/réactiver le DNSForwarder
- remonter la partition en lecture seule :
mount -u -o ro /