Votre question

Comment créer un serveur DHCP sous Debian ou Ubuntu [TUTO]

Tags :
  • Ubuntu
  • Dhcp
  • Tutoriel
  • Debian
  • Internet
Dernière réponse : dans Internet
17 Février 2010 14:28:14

1. Introduction

Bonjour, voici mon deuxième tuto de la journée. Il s'agît d'un tutoriel que j'ai réalisé il y a un peut moins d'un an.
Vous avez besoin de créer un serveur DHCP sous Linux (dans ce cas Ubuntu ou Debian) et vous ne savez pas comment vous y prendre ? Ce tutoriel est fait pour vous.

2. Définition

DHCP : "Dynamic Host Configuration Protocol", protocole d'attribution dynamique des adresses IP sur un réseau.
Switch : en informatique, un switch désigne un commutateur réseau, un équipement qui permet l'interconnexion d'entités réseau appartenant à un même réseau physique. Contrairement au concentrateur (ou hub), il fractionne le réseau en domaines de collision indépendants.

3. Installation et configuration du serveur

Après avoir installé la version Debian sur notre disque dur, nous avons dû installer les paquets du serveur dhcp avec la commande suivante :

sudo apt-get install dhcp3-server

Une fois l’installation des paquets effectuée, Nous allons modifier le fichier d’interfaces. Pour ce faire, nous allons utiliser la commande suivante :

sudo nano /etc/network/interfaces

Voici la configuration à utiliser :
Ce qu’il y a à partir du # sur chaque ligne n’est pas à recopier. Il s’agît de commentaires.

Citation :
auto eth0
Iface eth0 inet static
address 192.168.1.1 # adresse ip
network 192.168.1.0 # adresse de réseau
netmask 255.255.255.0 # masque
broadcast 192.168.1.255 # adresse de diffusion
gateway 192.168.1.1 # passerelle par défaut


Bien entendu ces lignes sont à titre d’exemple, vous pouvez modifier les adresses à votre guise.

Ensuite, passons à la configuration du fichier de configuration du serveur dhcp avec la commande suivante:

sudo nano /etc/dhcp3/dhcpd.conf

Voici la configuration à utiliser :

Citation :
subnet 192.168.1.1 netmask 255.255.255.0 { # adresse et masque
range 192.168.1.2 192.168.1.22 ; # plage d’adresses (ici 20 adresses)
option routers 192.168.1.1; # routeur par défaut
option broadcast-address 192.168.1.255 ; # adresse de broadcast
default-lease-time 3600; # durée par défaut d’un bail (en secondes)
max-lease-time 7200; # durée maximum d’un bail (en secondes)
}



Pour finir, voici la commande pour éditer le dernier fichier:

sudo nano /etc/default/dhcp3-server

La configuration à y ajouter est la suivante :

Citation :
INTERFACES= «eth0» # nom de l’interface


Maintenant que notre serveur est correctement configuré, nous allons redémarrer les interfaces ainsi que le serveur dhcp avec les commandes

sudo /etc/init.d/networking restart
sudo /etc/init.d/dhcp3-server restart


Maintenant, toute machine se connectant recevra une adresse IP automatiquement.

Autres pages sur : creer serveur dhcp debian ubuntu tuto

17 Mars 2010 09:48:23

Bonjour,

Tout d'abord merci pour ce tutoriel !
Je souhaiterai avoir plus de renseignement sur les addresses que vous rentrez dans
Citation :
subnet 192.168.1.1 netmask 255.255.255.0 { # adresse et masque
range 192.168.1.2 192.168.1.22 ; # plage d’adresses (ici 20 adresses)
option routers 192.168.1.1; # routeur par défaut
option broadcast-address 192.168.1.255 ; # adresse de broadcast
default-lease-time 3600; # durée par défaut d’un bail (en secondes)
max-lease-time 7200; # durée maximum d’un bail (en secondes)
}


Je tente de mettre en place un serveur DHCP sous linux ubuntu avec virtual box.
Et je ne sais pas quelle addresse mettre celle de mon PC réel ou de ma machine virtuel ?

Enfin est ce que virtualbox est adapté pour cette tâche ?


Merci et bonne continuation ;) 
m
0
l
18 Mars 2010 07:30:48

Bonjour, virtualbox est adapté à cet usage à condition de vérifier que la carte réseau soit bien en bridge est non en host only ;) 
le truc c'est aussi que ta box a un serveur DHCP donc il va y avoir des conflits ;) 
par exemple je te conseilles de faire une adresse de réseau en 192.168.3.1 et par contre il faut laisser option routers sur 192.168.1.1 (c'est ta box donc pour avoir internet ;) )
Ta machine virtuelle a une adresse IP aussi, tu la verras en faisant ipconfig /all sous windows, tu devrais voir une interface virtualbox ou quelque chose qui y ressemble ou alors sous linux tu ouvres un terminal et ensuite ifconfig ;) 
voili voilou :) 
m
0
l
Contenus similaires
14 Mai 2011 19:41:09

Une petite info supplémentaire. Lors de l'attribution des baux aux machines clientes du DHCP le nom des machines sous Linux peuvent-être fixées par le DHCP.
On peut par exemple dans la partie "subnet" ajouter :


ddns-hostname = concat("dhcp-hosts","-",binary-to-ascii(10,8,"-",leased-address),"-",binary-to-ascii(16,8, "-", substring (hardware, 1, 6)));
send host-name = concat("dhcp-hosts,"-",binary-to-ascii(10,8,"-",leased-address),"-",binary-to-ascii(16,8, "-", substring (hardware, 1, 6)));


Les noms seront ainsi construis :
dhcp-hosts-adresseIP-adresseMAC.ledomaine
ex :
dhcp-hosts-192-168-3-3-0-ae-af-01-02-ae.$domain$
m
0
l
14 Mai 2011 20:18:13

Comme exemple de fichier dhcpd.conf voici le mien :


ddns-update-style ad-hoc;
ddns-updates on;
ddns-hostname = host-decl-name;

# Long leases (48 hours)
default-lease-time 172800;
max-lease-time 172800;

option domain-name "dom-sln.local";
option netbios-dd-server 10.1.1.1;
option netbios-name-servers 10.1.1.1;
option netbios-node-type 8;
option routers 10.1.1.1;

# Clef secret de dialogue entre dhcpd et named afin de mettre à jour les entrées DNS
key "rndc-key" {
algorithm hmac-md5;
secret "XXXXXXXXXXXXXXXX";
};

# dom-sln.local
zone dom-sln.local. {
primary 127.0.0.1;
key rndc-key;
}

subnet 10.1.1.0 netmask 255.255.255.0 {
authoritative;
ddns-updates on;

ddns-hostname = concat("dhcp-hosts-SLN","-",binary-to-ascii(10,8,"-",leased-address),"-",binary-to-ascii(16,8, "-", substring (hardware, 1, 6)));
send host-name = concat("dhcp-hosts-SLN","-",binary-to-ascii(10,8,"-",leased-address),"-",binary-to-ascii(16,8, "-", substring (hardware, 1, 6)));

option subnet-mask 255.255.255.0;
option broadcast-address 10.1.1.255;

option domain-name "dom-sln.local";

option netbios-name-servers 10.1.1.254;
option netbios-dd-server 10.1.1.254;
option netbios-node-type 8;

option routers 10.1.1.1;
next-server 10.5.1.1;

range 10.1.1.2 10.1.1.253;
option domain-name-servers 10.1.1.1, 212.27.40.240;
ddns-hostname = host-decl-name;

option wpad-curl code 252 = text;
option wpad-curl "http://wpad.dom-sln.local/proxy.pac\000";


# debian
host debian {
allow client-updates;
ddns-rev-domainname "debian";
ddns-updates on;
hardware ethernet 00:11:09:C4:0F:C2;
fixed-address 10.1.1.254;
# send host-name = concat ("dhcp-hosts-SLN","-",binary-to-ascii(10,8,"-",leased-address));
option routers 10.1.1.1;
}

# satellite
host satellite {
allow client-updates;
ddns-rev-domainname "satellite";
ddns-updates on;
hardware ethernet 00:14:2A:4A:EE:CB;
fixed-address 10.1.1.253;
# send host-name = concat("dhcp-hosts-SLN","-",binary-to-ascii(10,8,"-",leased-address),"-",binary-to-ascii(16,8, "-", substring (hardware, 1, 6)));
option routers 10.1.1.1;
}
}



Si bien sur vous n'avez pas de DNS en local, commentez les lignes correspondantes !
:) 
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS