Se passer des mauvais serveurs DNS de Free

Ceci n'a rien à voir avec l'hébergement de site, mais concerne toute personne ayant Free comme fournisseur d'accès.

La raison d'agir

Les serveur DNS de Free sont mauvais. Ils répondent lentement lorsqu'on leur demande de résoudre des noms de domaines fréquemment consultés et très lentement s'il s'agit de nom de domaines rarement consultés. Cela peut aboutir à la non résolution de certains noms ! Résultat, même si tout fonctionne parfaitement par ailleurs, on constate un temps d'accès anormalement long à certaines pages. Dans le même ordre d'idées, certaines pages (complexes1)) mettent longtemps à s'afficher, entre le commencement et la fin. Enfin, certains sites semblent tout bonnement inaccessibles, laissant croire que le serveur web est en cause alors qu'il n'en est rien !

Si des outils de surveillance sont installés sur notre station de travail on reçoit des messages explicites tels que (message de SNORT) :

Unusual number of DNS No Such Name Responses

Serveurs DNS publics

Pour remplacer les serveur DNS de Free, il faut faire appel à des serveurs DNS publics. La plage d'adresses IP suivante permet d'accéder à six serveurs publics rapides et fiables : 4.2.2.1 - 4.2.2.6. Il suffit d'en choisir deux que l'on sélectionne en fonction de leur vitesse de réponse estimée.

ping 4.2.2.x
dig @4.2.2.x truc.tld

Répéter les commandes plusieurs fois. On lance dig avec des domaines différents, a priori peu demandés par les internautes (google.com étant le pire des choix). Il est normal qu'un écart significatif apparaisse entre le premier lancement d'une commande et ses répétitions, à l'identique.

Pour la suite, on suppose que notre premier choix est 4.2.2.5 et notre second choix est 4.2.2.3.

Les actions correctives

Configuration

Le cas traité est celui d'une configuration en réseau local géré par un routeur Lynksys WRT54G, relié au port ethernet de la FreeBox. La fonction routeur de la FreeBox n'est pas activée. Le WRT54G est équipé du microcode 2) OpenSource DD-WRT. L'explication qui suit est valable pour la quasi-totalité des routeurs équipés du même microcode.

Le WRT54G fait office de serveur DHCP pour l'ensemble des stations du réseau local (la question des stations à IP fixe est traitée par le serveur dhcp). Le service dhcp peut être rendu par deux programmes différents. Par défaut, le WRT54G utilise udhcpd et ne fournit que le service dhcp. Une simple case à cocher permet de lui préférer le programme dnsmasq 3). Comme son nom l'indique ce programme fait également office de serveur DNS.

Dans ce dernier cas, le WRT54G fait office de relais DNS (forwarder) pour les postes informatiques du réseau local.

Routeur

Par défaut, le WRT54G obtient sa configuration internet par une requête DHCP auprès du réseau de Free. C'est ainsi que lui sont donnés les serveurs DNS de Free, comme serveurs par défaut. Lorsque les stations vont acquérir leur configuration internet, par dhcp, auprès du WRT54G, celui-ci va leur transmettre les seuls serveurs DNS qu'il connait : ceux de Free. Il faut donc écraser cette configuration par défaut de manière à ce que les stations récupèrent les bons serveurs DNS.

On écrase les serveurs par défaut en se rendant sur la page Setup→Basic Setup de l'interface web de configuration du WRT54G. Par défaut, les champs Static DNS 1, 2 et 3 contiennent l'adresse IP 0.0.0.0. Il suffit de remplacer les valeurs de Static DNS 1 et 2 par 4.2.2.5 et 4.2.2.3. Conserver l'ordre de classement issu de nos tests4). Enregistrer la configuation (save) et redémarrer le WRT54G en cliquant sur le bouton Reboot Router de la page Administration→Management.

dnsmask

Si le WRT54G est configuré pour utiliser dnsmask, les actions et leurs conséquences dépendent de l'activation - ou non - de la fonctionnalité relais DNS de ce programme.

Si le relais DNS n'est pas activé (Setup→Basic Setup→Use DNSMasq for DNS, case non cochée), on peut se contenter des réglages précédents. Toutefois, les postes se connectant par dhcp ne recevront que les deux serveurs DNS indiqués explicitement. Autrement dit, la valeur vierge de DNS 3 n'est pas remplacée par le premier DNS fournit par Free. Deux adresses de serveurs DNS fiables, c'est bien assez5) ! ;)

Si le relais DNS est activé, les postes se connectant par dhcp recevront l'adresse locale du WRT54G comme unique serveur DNS. L'important est alors de savoir quels sont les serveurs DNS utilisés par le WRT54G, puisque c'est lui qui réalise l'intégralité des requêtes DNS, pour tous les postes informatiques du réseau local. Il utilisera les valeurs indiquées dans DNS 1 et DNS 2. Si l'on tient à ce que cet ordre soit respecté, on se rend sur la page Services→Services. Dans la zone de saisie intitulée Additional DNSMasq Options, ajouter la ligne suivante :

strict-order

Enregistrer la configuration et redémarrer le routeur en cliquant sur le bouton Reboot Router de la page Administration→Management.

Station de travail

Chaque station de travail se connectant par DHCP reçoit du WRT54G sa liste des serveurs DNS qu'elle utilisera. Pour bénécifier immédiatement des modifications apportées au WRT54G, elle doit se reconnecter ; un résultat que l'on obtient avec les commandes classiques :

sudo ifdown br0
sudo ifup br0

où br0 désigne l'interface de raccordement de la station à internet6). En cas de doute, les résultats de la commande ifconfig permettent de voir quelle est l'interface concernée.

Si cette procédure ne fonctionne pas ou vous est incompréhensible, le plus sûr est de redémarrer la station7).

Changement temporaire unique

Sans toucher au WRT54G, on peut écraser temporairement les valeurs utilisées par une seule station de travail. Pour ce faire, on modifie le fichier /etc/resovl.conf de la station. On remplace les lignes commençant par nameserver par les lignes suivantes :

nameserver 4.2.2.5
nameserver 4.2.2.3

L'effet est instantanné !

Changement permanent unique

Sans toucher au WRT54G, on peut faire en sorte qu'une station de travail “écrase”, lors de son démarrage, les valeurs de serveurs DNS reçues à la négociation dhpc. Pour que le changement soit permanent, il faut intervenir sur la configuration du client dhcp de la station. Par exemple, sur un système Ubuntu, on édite le fichier /etc/dhcp3/dhclient.conf pour y ajouter la ligne suivante :

prepend domain-name-servers 4.2.2.5, 4.2.2.3;

Mauvais serveurs alternatifs

Les serveur DNS qui vont venir remplacer ceux de Free ne peuvent pas être choisis à la légère. Il faut être consciente de deux choses :

  1. vos serveurs DNS connaissent la totalité des noms de domaines que vous sollicitez (pages web, ftp, mail, etc.),
  2. vos serveurs DNS sont responsable des ordinateurs vers lesquels ils vous orientent lorsque vous leur demandez de résoudre un nom.

Le premier point a trait à la protection de la vie privée. Si vous vous exposez déjà sans précaution à Google, Facebook et d'autres, vous n'êtes probablement pas à ça près.

Le second point concerne plutôt le risque de phishing (ou hameçonnage). Typiquement, vous croyez consulter votre compte bancaire sur ma-banque.com mais le serveur DNS vous a orientée vers un autre site, très ressemblant, sur lequel vous allez donner vos identifiants (login et mot de passe).

Le Web regorge de fausses “bonnes” solutions “gratuites” pour éviter les serveurs DNS de Free ou d'autre FAI. Soyez prudentes…

Parmi celles-ci, les plus médiatisées sont OpenDNS.com et l'inévitable Google Public DNS. Le premier ne respecte les RFC et vous envoie sur des pages de pub s'il ne parvient pas à résoudre votre nom de domaine. Le second fait comme à son habitude, c'est-à-dire qu'il vous “espionne” avec votre consentement.

Limites de la solution

Cette technique ne fonctionne que si votre réseau informatique se trouve “derrière” un routeur que vous contrôlez.

Relier vos postes informatiques directement au routeur (activé) de la Freebox, est un mauvais choix. En informatique, il y a peu de cas où l'on peut être aussi catégorique. Celui-ci en fait partie. Un routeur de qualité, fiable et sûr, coûte à peine deux mois d'abonnement à Free ou à votre FAI préféré.

1) Par exemple, la page d'accueil de voyages-sncf demande la résolution de 6 noms de domaines pour quelques 62 requêtes.
2) Aussi appelé firmware
3) comme son nom ne l'indique pas, ce programme fait office de serveur dhcp
4) Si DNS 3 est laissé à la valeur 0.0.0.0, le WRT54G ajoutera le premier serveur DNS fournit par Free, en troisième position de la liste des serveurs DNS qu'il indique au postes du réseau local configurés par dhcp.
5) Car derrière une seule adresse IP de serveurs DNS fiables se trouvent plusieurs serveurs redondants.
6) Dans une configuration système et matérielle minimale, ce sera probablement eth0. Ici, la station est configurée pour héberger des machines virtuelles accédant en propre au réseau local, grâce à virtualBox
7) Certes, cela fait un peu bourrin, mais c'est préférable. On peut aussi faire les choses plus proprement mais, s'agissant de stations de travail, il est probable qu'elles utilisent des machines virtuelles ce qui complique la configuration des interfaces réseaux et donc leur redémarrage. Même sur un simple poste informatique, un network-manager peut venir son grin de sel.
 
free/dns.txt · Dernière modification: 2010/10/18 10:14 par flaz
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki