Contenu | Rechercher | Menus

DNS - Système de noms de domaine

Le Domain Name System (ou DNS, système de noms de domaine) est un service permettant d'établir une correspondance entre une adresse IP et un nom de domaine.

Fonctionnement du système des noms de domaine (Source: Wikipedia)

Les réseaux informatiques sont composés d'ordinateurs qui communiquent entre eux à l'aide d'adresses numériques uniques, appelées adresses IP. Chaque adresse IP identifie un ordinateur (clients et serveurs). L'adresse numérique facilite grandement le traitement pour l'ordinateur. Or, pour un être humain, il est beaucoup plus difficile de se souvenir d'une série de chiffres que d'une suite de lettres et de mots.

Le système des noms de domaine a été inventé pour palier à ce problème : il fait correspondre une adresse alphanumérique (ex : www.ubuntu-fr.org) à une adresse IP numérique (ex : 88.191.119.240). Cette correspondance – appelée résolution – s'effectue à l'intérieur d'un serveur spécialisé dédié à résoudre des noms de domaine : un serveur DNS.

Utiliser un serveur DNS

Lorsque vous vous connectez à Internet, votre fournisseur d'accès à Internet (FAI) met à votre disposition des serveurs DNS qu'il administre lui-même. Par défaut, donc, votre connexion à Internet utilise automatiquement un ou des serveurs DNS, et ceux-ci sont fournis et gérés par votre FAI.

Pour plusieurs raisons, vous pouvez désirer utiliser d'autres serveurs DNS que ceux gérés par votre FAI. Confidentialité de vos échanges, serveurs DNS hors-ligne ou meilleure vitesse de résolution des noms de domaine sont quelques-unes des plus fréquentes raisons pour lesquelles certains utilisateurs choisissent d'utiliser d'autres serveurs DNS que ceux proposés par leur FAI.

Choix d'un serveur DNS alternatif

Voici une liste de serveurs DNS que vous pouvez librement utiliser :

Décentralisé :

  • SocialDNS: mettant en œuvre le protocole libre go : Sous forme d'extension firefox (lien mort), qui permet de visiter les sites en go://. Inscription libre, et gratuite.
  • IDONS : Internet Distributed Open Name System (site)
  • Dot-P2P (site) Système DNS nouvelle génération, décentralisé et libre. Peter Sunde, à l’origine du plus connu des sites de torrents du monde et du projet Flattr a lancé un nouvel appel : En finir avec l’ICANN ! il a balancé un tweet le 29 novembre 2010, demandant aux fournisseurs d’accès du monde entier de le contacter car lui et son équipe ont mis en place un nouveau serveur root DNS sécurisé et utilisant les technologies p2p. MAIS ce serait un vaporware d'après le spécialiste @Bortzmeyer.
  • CoDoNS Cooperative Domain Name System
  • CoralCDN : réseau de distribution de contenu peer-to-peer libre, composé d'un réseau mondial de proxys Web et les serveurs de noms. Une couche DNS en peer-to-peer redirige de manière transparente les navigateurs à participer procurations mise en cache, ce qui à son tour, coopérer en vue de minimiser la charge sur le serveur Web source. (cette phrase a-t-elle un sens ?)

Centralisé avec tous ses inconvénients que l'on connait avec l'icann (censure, faiblesse contre les attaques) :

  • CensurFreedns : Dns contre la censure
  • OpenNic ( the openNic Project ) est une organisation qui dirigent un réseau alternatif de DNS. OpenNIC est détenu et exploité par la communauté OpenNIC. L'adhésion est ouverte à tous ceux qui partagent un intérêt à garder DNS gratuit pour tous les utilisateurs. L'objectif est de vous fournir des services DNS rapide et fiable et l'accès à des domaines ne sont pas administrées par l'ICANN. OpenNIC offre une résolution à tous les domaines de l'ICANN ainsi que les TLDs propres OpenNIC de: . Geek,. Libres. BBS,. Parodie. Oss. Indy,. Fourrure,. Ment,. Micro. Dyn et. Gopher

DNS gratuit pour noms de domaine :

Comparer les performances de deux serveurs DNS

Pour comparer les performances entre votre serveur DNS primaire actuel et un autre serveur DNS (par exemple, un autre serveur que vous seriez tenté d'utiliser), utilisez le logiciel Namebench (Le paquet Namebench est maintenant dans les dépôts Ubuntu).

Configuration d'un DNS alternatif

À partir d'Ubuntu 12.04 les versions serveurs et les versions desktop d'Ubuntu utilisent resolvconf1). Les méthodes en lignes de commande sont à effectuées sur les versions serveur d'Ubuntu, pour les versions desktop il est préférable de passer par l'utilitaire graphique (voir la section Par interface graphique).

A PARTIR d'Ubuntu 12.04 (ligne de commande)

Il faut modifier les fichiers de configuration des interfaces réseau. La modification se reportera directement par l’intermédiaire de l'utilitaire resolvconf au redémarrage du service réseau.

il faut donc modifier le fichier /etc/network/interfaces

On créer au préalable une copie :

sudo cp /etc/network/interfaces /etc/network/interfaces.copie

Puis :

sudo nano /etc/network/interfaces

Vous devez avoir un contenu du type :

/etc/network/interfaces# This file describes the network interfaces available o$
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 91.121.0.0
        netmask 255.255.255.0
        network 91.121.0.0
        broadcast 91.121.0.255
        gateway 91.121.0.254
        dns-nameservers 8.8.8.8 8.8.4.4

La ligne importante dans notre cas est la dernière ligne. Si elle n'existe pas il suffit juste de la rajouter. Ici les adresses IP des serveurs DNS public de Google 8.8.8.8 et 8.8.4.4 sont utilisées.

Ne pas oublier ensuite de relancer le service réseau :

sudo service networking restart

Sur Ubuntu 12.04.4 cette commande ne marche plus, mais celle-ci fonctionne

sudo service network-interface restart INTERFACE=eth0

eth0 est l'interface réseau que vous retrouverez dans le fichier précédent ("iface eth0 …"). A vous de choisir la bonne interface en fonction de votre configuration.

AVANT Ubuntu 12.04 (ligne de commande)

Le changement de DNS s'opère par la configuration du fichier /etc/resolv.conf

Ouvrez le terminal et tapez la commande suivante :

sudo nano /etc/resolv.conf

Le fichier s'ouvrant dans le terminal, comporte deux lignes intitulées nameserver, soit respectivement :

  • Le DNS préféré
  • Le DNS auxiliaire

que vous prendrez soin de compléter selon le DNS choisi.

Tapez ctrl+x pour sauvegarder les modifications du fichier.

Il se peut que certains programmes modifient automatiquement les paramètres DNS. Pour éviter cela, vous pouvez verrouiller le fichier avec la commande suivante :

sudo chattr +i /run/resolvconf/resolv.conf

Pour déverrouiller le fichier :

sudo chattr -i /run/resolvconf/resolv.conf

Dans certains cas, il semble que le redémarrage du service dns-clean ne soit pas nécessaire pour l'application des changements. Il reste donc à définir dans quelles conditions le redémarrage est nécessaire.

Une fois la configuration DNS de votre machine modifiée, il est nécessaire de redémarrer le service dns-clean pour que les changements prennent effet. Dans un terminal taper la commande suivante :

sudo /etc/init.d/dns-clean restart

Par interface graphique

Pour modifier les DNS d'une version desktop d'Ubuntu (Unity, KDE etc.), il est préférable de passer par NetworkManager. Il est à noter que NetworkManager, écrase (en créant une copie tout de même) la configuration du fichier /etc/network/interfaces. Il prend donc le dessus vis à vis de ce qui aurait pu être configuré en ligne de commande. NetworkManger gère la manière dont le PC se connecte à la box, par défaut il est paramétré pour envoyer une requête DHCP au modem/box (attribution IP), dans la foulé ce sont les DNS par défaut du routeur/box qui sont utilisées. Les configurations qui auraient pu être faites au préalable en ligne de commande seront donc irrémédiablement écrasées.

Avec NetworkManger pour modifier les DNS, procéder comme suis :

  • Clique droit sur l’icône de NetworkManager puis : cliquez sur Modification des connections.
  • Choisir quelle connexion et à modifier (par câble ou par Wifi), puis cliquer sur Modifier.
  • Cliquer sur l'onglet Paramétres IPv4.
  • Dans Méthode sélectionner Adresse automatique uniquement (DHCP).
  • Dans la case Serveurs DNS, entrer la ou les adresses DNS souhaitées (si plusieurs adresses, mettre une virgule entre chaque adresse).
  • Cliquer sur Enregistrer.

FIXME : en affectant l'entrée Adresse automatique uniquement (DHCP) il doit ensuite être possible de modifier les DNS en ligne de commande sans qu'ils soient écrasées par NetworkManager.

Gérer son propre serveur DNS

Pour encore plus de confidentialité, pour avoir de meilleurs temps de réponse ou pour proposer des services Internet à des clients, vous pouvez être amené à installer et administrer vous-même un serveur DNS. Voici une liste de logiciels jouant le rôle de serveur DNS installables sur Ubuntu :

Problèmes connus

Utilisation d'un serveur DNS local

Depuis Ubuntu 12.04, Network-Manager intègre Dnsmasq, ce qui provoque des perturbations dans la résolution DNS pour un réseau local reposant sur Bind9 par exemple. Le symptôme est simple, parfois l'infrastructure DNS fonctionne, parfois non. La solution ici est de désactiver Dnsmasq dans Network-Manager:

Tout le monde n'a pas de soucis avec bind9 et dnsmasq

sudo nano /etc/NetworkManager/NetworkManager.conf

Et de commenter la ligne "dns=dnsmasq" de cette façon:

#dns=dnsmasq

Il faut aussi désactiver le service dnsmasq au démarrage:

sudo update-rc.d -f dnsmasq remove

et redémarrer Network-manager

sudo service network-manager restart

Voir aussi

Pages en rapport



Le contenu de ce wiki est sous licence : CC BY-SA v3.0