samedi 9 octobre 2010

Résolution DNS en local avec Bind9 sous Ubuntu


Quels peuvent être les avantages à installer un serveur DNS en local sur son ordinateur ?


Comment installer son résolveur personnel avec Bind9 ?




Les avantages:

Le fait d'aller interroger directement les serveurs DNS racines va permettre de: 
  • Protéger votre vie privée car aucun log de résolution ne sera conservé sur un serveur distant: tout reste sur votre machine.
  • Se prémunir des DNS menteur qui vous déroutent sur une adresse IP qui n'est pas la bonne.
  • Devenir indépendant d'un fournisseur de service qui peut censurer l'accès à certains domaines.
  • D'accélérer (un peu) le temps de résolution DNS. 

L'installation:

Serveur, DNS, local, ... Vous vous dites :"Trop compliqué pour moi" ? Rassurez-vous ! c'est hyper-simple: deux étapes suffisent pour avoir sa résolution de DNS perso bien à soi.

Première étape: installer Bind9 et sa dépendance bind9utils

Dans un terminal, taper:
sudo apt-get install bind9 bind9utils

Le résolveur DNS est désormais actif.

Reste à paramétrer les connexions pour aller consulter le résolveur DNS en local.

Sous Ubuntu c'est le Network Manager qui gère les serveurs de noms.

Aller dans le menu : Système/Préférences/Connexions réseau
puis il faudra modifier toutes les connexions que vous avez dans tous les onglets (Filaire, Sans fil, VPN etc...) de la façon suivante:

  1. Cliquez sur la connexion à modifier ;
  2. Bouton "Modifier" ;
  3. Onglet "Paramètres IPv4" (et aussi IPv6 si vous l'utilisez) ;
  4. Méthode : Adresses automatiques uniquement (DHCP) ;
  5. Serveurs DNS : 127.0.0.1
Une fois que vous avez modifié toutes les connexions disponibles sur votre machine, il va falloir vous déconnecter du réseau en cliquant sur l'Applet NetworkManager (clique droit), décochez Activer le réseau , puis recommencer la manip pour Activer le réseau.


Deuxième étape : Vérifier que la résolution fonctionne.

host papillon-butineur.blogspot.com

Si ça fonctionne, vous devriez avoir une réponse du genre:
blogspot.l.google.com has address 74.125.79.132


Dans le cas contraire, si la résolution ne se fait pas:  pas de panique.

il va falloir vérifier que le port 53 n'est pas bloqué pour la sortie en TCP et UDP.
Commencer par vérifier votre routeur (classiquement aux adresses suivantes: 192.168.1.1 ou 192.168.0.1).

Puis vérifiez votre firwall et/ou votre bloqueur d'IP qui doivent laisser le port 53 libre en sortie. (pas la peine de libérer en entrée puisque que l'on n'utilise Bind9 que pour la résolution).

Si vous voulez revenir à votre configuration précédente, 
il suffira de retourner dans le menu : Système/Préférences/Connexions réseau et de reconfigurer les connexions en repassant dans le mode "Automatique (DHCP)"



(merci à Mastergb de m' avoir fait penser à bind9)

12 commentaires:

  1. Merci pour l'article !

    RépondreSupprimer
  2. @antistress
    Je n'ai pas constaté de problèmes particuliers.
    Le seul inconvénient, selon moi, pourrait être lié au cache si celui-ci contient une donnée périmée donc fausse. Dans ce cas un sudo /etc/init.d/dns-clean start devrait permettre de nettoyer ce cache. Mais je n'ai pas eu à faire cette manip après un peu plus d'un mois d'utilisation. =;)

    RépondreSupprimer
  3. C'est fait pour ma part !
    Sinon le paramétrage des connexions de fait aussi via l’icône de nm
    Sinon Ubuntu 11.04 devrait intégrer Connman au lieu de nm.

    Tiens ici sont mentionnées des alternatives : pdnsd, unbound (dan les commentaires)

    Sinon il faut prévoir un script pour vider le cache de bind9 au démarrage ?

    RAV : ça serait bien un module pour voir les derniers com dans le panneau latéral de ton blogue...

    RépondreSupprimer
  4. Je crois que j'ai oublié le lien ?
    http://www.vanaryon.eu/2010/02/resolution-dns-faites-la-maison/

    RépondreSupprimer
  5. @antistress
    Module pour derniers commentaires ajouté.
    La vidange automatique du cache ne me parait pas vraiment nécessaire, peut être est-il suffisant de vider le cache lors d'une maintenance mensuelle.
    Connman, tu dis ? Zut, va falloir que je teste ça moi ...

    RépondreSupprimer
  6. Merci
    sinon pourquoi ce système de DNS local n'est il pas existant par défaut sur nos OS ?

    RépondreSupprimer
  7. Pour connman vs nm, apparemment Canonical développerait une interface commune et le moteur serait interchangeable.
    UNE aurait connman, quant au desktop...
    http://www.omgubuntu.co.uk/2010/10/mark-shuttleworth-talks-projcet-harmony-unity-and-more/
    http://comments.gmane.org/gmane.linux.ubuntu.devel/31569

    RépondreSupprimer
  8. @antistress
    Je pense qu'il n'est pas intégré par défaut car jusqu'à présent il n'y avait pas de demande des utilisateurs de desktop,dans ce sens. Le principe d'utiliser les serveur DNS des FAIs se fait de façon transparente pour tout le monde: pas de problème d'ouverture de port, de firewall, etc ...
    Ajoutons à cela que Bind9 est avant tout un outil conçu pour les réseaux et les serveurs et qu'il ne se restreint pas à faire uniquement de la résolution.

    RépondreSupprimer
  9. @antistress
    Connman vs NetworkManager
    Un billet intéresant sur le sujet:
    http://arstechnica.com/open-source/news/2009/06/intels-linux-connman-examining-the-pros-and-conns.ars

    J'ai essayé Connman, ça marche mais l'interface utilisateur m'a paru plus "rustique" mais ça n'est pas bien grave par contre il ne gère pas pour l'instant les VPNs ...

    RépondreSupprimer
  10. oui j'avais lu l'article à l'époque mais il ne doit plus être d'actualité

    Pour les commentaires en barre latérale, il y a un temps de latence entre le commentaire validé et son apparition sur le côté. C'est dû à un circuit inutile chez Google (inutile pour nous)
    Quant est ce que tu quittes blogger ?!http://libre-ouvert.toile-libre.org/index.php?article3/aujourd-hui-est-le-premier-jour-du-reste-de-ma-vie-numerique

    RépondreSupprimer