2011
02.10

Voici la version mise à jour pour la version Squeeze de Debian sortie en version stable le 6 février !

Mise en place d’un serveur DHCP/DNS. Le serveur DNS sera dynamique.
Mon serveur a comme nom serveurDebian ( commande hostname ).
Mon ip serveur est 192.168.1.1 ( /etc/network/interfaces ).
Mon domaine est test.intra.
Mon serveur DHCP envoie les ip de 192.168.1.10 -> 20
Vous pouvez récupérer les fichiers finaux ici

1. DHCP classique

aptitude install dhcp3-server
modification du fichier /etc/dhcp/dhcpd.conf

authoritative;
option domain-name "test.intra";
option domain-name-servers serveurDebian.test.intra;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.20;
option routers 192.168.1.1;
}

modification du fichier /etc/default/isc-dhcp-server pour ajouter mon interface réseau ( ethX avec ipFixe )
(exemple : INTERFACES= ‘eth1’ )
test des parametres avec la commande dhcpd
puis on lance le serveur /etc/init.d/isc-dhcp-server

2.DNS ( résolution directe et inversée )

2.a Résolution directe

– création d’un fichier /etc/bind/db.domaine à partir du fichier db.localcp db.local db.test.intra
– modification de ce fichier ( remplacer localhost. par nomMachine.domaine.)
– ajout d’une ligne ( fichier d’exemple )
serveurDebian IN A 192.168.1.1
– modification du /etc/bind/named.conf.local : ajout de notre zone
zone "test.intra" {
type master;
file "/etc/bind/db.test.intra";
};

Vérifiez dans le fichier /etc/resolv.conf que vous avez
domain test.intra
search test.intra
nameserver IPdeVotre machine

Redémarrez le service ( /etc/init.d/bind9 restart )
test avec nslookup nomMachine

2.b Résolution inversée

– création d’un fichier /etc/bind/db.ipRéseau à partir du fichier db.127lcp db.127 db.192.168.1
– modification de ce fichier ( remplacer localhost. par nomMachine.domaine.)
– ajout d’une ligne ( fichier exemple )
1 IN PTR serveurDebian.test.intra
– modification du /etc/bind/named.conf.local : ajout de notre zone
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.1";
};

Redémarrez le service ( /etc/init.d/bind9 restart )
test avec nslookup IPServeur

3.Ajout de la mise à jour dynamique

3.a Création de la clé DNS

rndc-confgen>/etc/bind/rndc.key
recuperation des éléments pour le fichier named.conf
tail /etc/bind/rndc.key>>named.conf
Commenter le bloc options dans le fichier rndc.key

3.b définition des zones qui utilisent la clé

/etc/bind/named.conf.local
ajout pour les 2 zones de la ligne
allow-update {key rndc-key;};
( fichier named.conf et named.conf.local)

3.c mise à jour du dhcp

Dans le fichier /etc/dhcp/dhcpd.conf

ajout des lignes au début du fichier:

ddns-updates on;
ddns-update-style interim;
ddns-domainname "test.intra";
ddns-rev-domainname "in-addr.arpa";
allow client-updates;

ajout des lignes dans mon subnet :

include "/etc/bind/rndc.key";
zone test.intra. {
primary 192.168.1.1;
key rndc-key;
}
zone 1.168.192.in-addr.arpa. {
primary 192.168.1.1;
key rndc-key;
}

( fichier dhcpd.conf )
Enfin
Modifier les droits sur /etc/bind ( chown -R bind:bind /etc/bind )
test : redémarrage du serveur DNS et du serveur DHCP.
Vérification des logs ( tail -f /var/log/syslog )

tester sur XP avec ipconfig /release puis /renew puis ipconfig /all pour vérifier l’adresse IP DNS
nslookup votre nomXP doit marcher !

43 commentaires pour le moment

Ajoutez votre commentaire
  1. Excellent tuto. Bravo !

  2. Merci beaucoup pour ce tuto 🙂

  3. Trés Bon tuto…Merci

  4. Merci pour le tuto
    Mais corrige une petite faute de frappe à ce niveau
    3.Ajout de la mise à jour dynamique
    3.a Création de la clé DNS
    rndc-confgen>/etc/bind/rncd.key == >> rndc-confgen>/etc/bind/rndc.key
    il faut mettre rndc.key au lieu e rncd.key

  5. Merci pour l info. Dieuredieuf

  6. bonjour.
    J’ai installé dhcp3-server, mais dhcp3 n’apparait pas dans mon /etc…j’ai /etc/dhcp a la place.(et il y était avant l’installation)
    En voulant m’assurer qu’il était installé, j’ai voulu stopper le /etc/init.d/dhcpd mais il n’existe pas …
    J’ai par contre la possibilité de lancer|stopper|relancer le isc-dhcp-server (mais celui-ci refuse de se lancer.)
    Starting ISC DHCP server: dhcpdcheck syslog for diagnostics. … failed!
    failed!

    Devrais-je avoir le dhcp3? ou est-ce normal de n’avoir qu’un dossier dhcp dans le /etc?

    Merci d’avance

  7. Bonjour,

    oui c’est tout à fait normal de n’avoir que le répertoire /etc/dhcp.
    /etc/init.d/dhcpd n’existe pas ( ou plutôt plus ) sur la squeeze, c’est maintenant isc-dhcp-server qui le remplace. Et il est normal qu’il affiche une erreur si vous ne l’avez pas encore configuré .

  8. bonjour,
    merci pour le tuto
    j’ai un problème lors de démarrage du DHCP , le DNS fonctionne bien, mais lorsque je restarte le DHCP un message d’erreur est affiché:
    can’t open /etc/bind/rndc.key: permission denied/bin

    portant j’ai changé bind:bind comme propriétaire sur /etc/bind !!!

    merci pour vos commentaires

  9. as tu bien mis les droits sur le fichier rndc.key ( pour la lecture 644) ? Et le proprietaire/groupe en bind:bind sur ce fichier ?

  10. super tuto, bien precis et detaillé. Merci pour le boulot accompli.
    Par contre c’est allow-update key{rndc-key;}; ou plutot allow-update { key rndc-key;}; ? dans le premier cas, j’ai une erreur dans le genre /etc/bind/named.conf.lol: ‘{‘ expected near ‘key’
    De meme ne serait-ce pas « /etc/init.d/isc-dhcp-server start » plutot que « /etc/init.d/isc-dhcp-server » ? je pense qu’il manque l’option « start » dans cette ligne pour demarrer le serveir dhcp.

  11. bonjour
    j’ai installé mandriva 2008 et je veux configurer dhcp mais le package dhcp3-server n’existe pas il y a dhcp-server comment le configurer.

  12. Je pense que si tu as dhcp-server, tu peux suivre le tuto dédié à Debian5 ( Lenny ) qui se trouve sur ce même blog ( ICI ).
    N’hésites pas si tu as des soucis 🙂

  13. bonjour à tous merci pour le tuto très bien fait, personnellement j’ai un probléme de droit

    Stopping domain name service…: bind9rndc: connect failed: 127.0.0.1#953: connection refused

    si une personne aurais une solution a ce probléme

  14. Bonjour que doit on avoir exactement en faisant un nslookup nomXP

  15. Bonjour,

    nslookup nomXp sur ta machine windowsXP ?
    Cela doit te donner :
    c:\> nslookup nomXP
    Serveur : serveurDebian .test.intra
    Address: 192.168.1.1

    Nom : nomXp.test.intra
    Address: 192.168.1.10

    l’adresse associé à ta machine XP doit être entre 192.168.1.10 et 192.168.1.20 ( comme définit dans le dhcpd.conf ç la ligne range 192.168.1.10 192.168.1.20; )

  16. DECONSEILLÉ !!!
    Ce tutoriel est bourré de fautes dans ses exemples et dans les fichiers de configurations!
    – Les lignes de codes affichées ne correspondent pas aux fichiers d’exemples
    – Les lignes de codes contiennent des erreurs (ex. allow-update key{rndc-key;}; au lieu de allow-update {key rndc-key;}; etc.)
    – Les fichiers d’exemples on aussi des erreurs.

    Désolé Baptiste de te casser comme ca, mais essaie de le suivre ce tuto tel qu’il est écrit et tu verras que c’est juste impossible !

  17. merci pour ce retour !
    Il me semble pourtant avoir plusieurs commentaires simplement moins virulent de personnes satisfaites.
    Cela dit, merci pour ton retour, le Web est aussi là pour nous montrer nos erreurs.
    La perfection n’existe pas, je souhaite juste partager mes connaissances…
    et comme tu le vois, cela ne m’empêche pas de mettre ton commentaire 🙂

    en espérant que cela t’a quand même aidé !

  18. bonjour tout le monde;je voudrais juste savoir comment basculer en mode graphique sous debian6?merci d’avance

  19. Bonjour,

    as tu installé l’interface graphique ( Gnome, kde ou autre ) ?
    – si oui, un ALT-F7 devrait suffire
    – si non, il faut d’abotrd installer gnome/kde /autre , avec xorg

    cdt,

  20. j’ai instalé le dhcp mais la machine clinte n’a toujours pas de connexion pourriez vous m’aider?

  21. Bonjour,

    pourrais tu être un peu plus précis : quel type d’os de la machine cliente, quelles commandes as-tu passé, as tu redémarré et configuré le serveur dhcp et si oui comment ?

  22. la machine cliente a ubuntu 10.4 et le serveur est debian squeeze, j’ai fait la commande dhclient. mon ip est 192.168.1.6 . donc je veux que vous me disiez comment mettre une connection à la machine cliente via un routeur wifi lynksys après avoir configurer le dhcp.
    au fait j’ai 2 interfaces réseaux l’une a coe ip 192.168.1.6 l’autre connecté au routeur a 192.168.20.1

  23. Bonjour,
    J’ai quelque problème, j’ai installé un serveur DHCP ou j’y ai mis un serveur DNS Bind, j’ai suivi votre tutos, tout a l’air correct, j’ai tester l’ajout de la mise a jour automatique, donc sur un XP ca marche, il est bien ajouté et je peux faire un nslookup de ma machine XP mais je n’arrive pas avec des debians, il n’y a rien a faire, toujours la même erreur:

    Server: adresseduserveurDNS
    Address: adresseduserveurDNS

    ** server can’t find debian1: SERVFAIL

    alors que ca marche avec un XP
    Si quelqu’un a la solution,
    Merci d’avance

  24. as tu bien vérifié que le fichier /etc/resolv.conf contient :
    nameserver IPDNSServer
    domain DOMAINDns
    search DOMAINDns

    ??

  25. Bonjour,

    Je constate le même problème que nono78.

    Les fichiers jnl sont bien créés pour les clients windows mais pas d’enregistrements pour les clients debian.

    En fait, j’ai pu lire dans /etc/log/syslog que les clients windows envoient leur nom de machine au moment de la requête d’adresse IP au service DHCP alors que les clients Debian ne le font pas par défaut. Il faut modifier le fichier /etc/dhcp/dhclient.conf de chaque client Debian et décommenter la ligne « send host-name ».

    Mais du coup, le DNS dynamique n’est finalement pas tout à fait dynamique…
    C’est donc une solution qui ne me conviens qu’à moitié.

    Si quelqu’un d’autre à une meilleure solution je suis preneur ^^

  26. Re,

    Du fait de son orientation serveur, la distribution n’est pas configurer pour envoyer le nom de la machine au service DHCP. Il faut donc configurer le fichier /etc/dhcp/dhclient.conf soit manuellement, soit par un script, soit par un outil de déploiement.

    Par contre, la distribution Ubuntu qui est orienté client à la la ligne de son dhclient.conf décommentée par défaut avec une variable :

    send host-name «  »;

    On ne peut pas utilisé cette ligne tel quelle sur un client debian.
    Je ne sais pas comment Ubuntu gère cette variable .

  27. La variable « hostname » est entre le signe «  » est à été interprété par le blog comme une balise. Désolé :/

  28. C’est vrai que le tuto a pas mal de faute de frappe. Il vaut mieux copier coller les fichiers de conf. Cependant moi le dhcp ne remplit pas le dns et je n’ai pas d’erreur dans le syslog … Une idée ?

  29. tu peux nous donner la conf dhcp ? t’as bien redémarré les services DNS DHCP ?

  30. Bonjour admin,

    Je trouve que ton tuto est très bien fait et t’en remercie.

    Par contre j’ai un problème de résolution de nom.
    J’ai correctement effectué le point 2.a en faisant les manipulations suivantes:
    – modifié le fichier /etc/resolv.conf sur le serveur.
    – crée et modifé le fichier db.test.intra
    – ajouté la zone dans /etc/bind/named.conf.local
    – redémarré le service bind grâce à la commande [service bind9 restart]

    Malheureusement lorsque je test cette configuration à l’aide de la commande suivante:
    [nslookup nomDuServeur]
    J’obtiens ce résultat:
    Server: 192.168.1.1
    Address: 192.168.1.1

    ** server can’t find nomDuServeur: SERVFAIL

    Est-ce que tu sais d’où pourrait venir cette erreur?

    Merci d’avance :o) !

  31. hello !

    lorsque tu fais
    nslookup
    > server
    Default server: 192.168.1.1
    Address: 192.168.1.1#53

    ça marche ?

  32. hello,

    Oui, quand je la fais sur la machine serveur le résultat est le suivant:
    Default server: 192.168.1.1
    Address: 192.168.1.1#53

    Quand je la fais sur une machine cliente WinXP le résultat est le suivant:
    Serveur: UnKnown
    Address: 127.0.0.1
    *** UnKnown ne parvient pas à trouver server: No response from server

  33. tu peux mettre les fichiers de conf ?

  34. mince, fausse manipulation.
    Je me rattrape…

    -/etc/resolv.conf de serveur:
    domain fictif.lan
    search fictif.lan
    nameserver 192.168.1.1

    – fichier db.test.intra:
    ;
    ; BIND data file for local loopback interface
    ;
    $TTL 604800
    @ IN SOA serveurDebian6.fictif.lan. root.serveurDebian6.fictif.lan. (
    2 ; Serial
    604800 ; Refresh
    86400 ; Retry
    2419200 ; Expire
    604800 ) ; Negative Cache TTL
    ;
    IN NS serveurDebian6.fictif.lan.
    serveurDerbian6 IN A 192.168.1.1

    – /etc/bind/named.conf.local:
    // zone directe
    zone « fictif.lan » {
    type master;
    file « /etc/bind/db.fictif.lan »;
    allow-update {key rndc-key;};
    };

    Voilà, j’espère que c’est suffisamment clair 🙂

  35. il semblerait que le fichier
    db.test.intra
    doit se renommer en
    db.fictif.lan

    non ?

  36. absolument, mon domaine est « fictif.lan » et la machine serveur « serveurDebian6 ».

  37. donc ton fichier s’appelle bien /etc/bind/db.fictif.lan

    comme écrit dans le dans le fichier named.conf.local ?

  38. oui

  39. Peux tu taper la commande suivante et me donner le résultat ?

    named-checkconf /etc/bind/named.conf

  40. Parfait, j’ai effectué la commande que tu m’as dit de tapé et me suis rendu compte qu’il y avait une erreur de syntaxe.
    Merci beaucoup!

    ps:
    Est-ce normal qu’avec une machine cliente je puisse pinger le serveur mais que l’inverse ne soit pas possible?

  41. oui , si ta machine cliente est une Windows , il faut lui ouvrir le protocol ICMP sur ta machine.
    Ce qui se fait au niveau de son firewall.
    Sur une machine UNIX/Linux c’est le même principe, mais la configuration dépend de la distribution

  42. Bonjour « admin »,

    J’ai un problème au niveau de la rndc key, lorsque je fais un test avec un bind9.

     » bind9rndc: error: /etc/bind/rndc.key:7: unknown option ‘option’
    rndc: could not load rndc configuration.  »

    Concernant mon fichier rndc.key :

    option { default-key  » rndc-key »;
    default-server 192.168.1.1;
    default-port 953; } ;

    peut etre que c’est le port qui est faux? qu’elle serait le port à ajouter?

  43. ne serait ce pas plutôt
    options { default-key » rndc-key »;
    default-server 192.168.1.1;
    default-port 953; } ;

%d blogueurs aiment cette page :