DHCP Sous Inux
DHCP Sous Inux
DHCP Sous Inux
com
Le systme GNU/Linux
By ShareVB
DHCP
Table des matires
I.Principe..............................................................................................................................................1
1.Dfinition du terme DHCP...........................................................................................................1
2.Fonctionnement de BOOTP..........................................................................................................2
3.Fonctionnement du protocole DHCP............................................................................................2
4.Les baux d'attribution d'adresses IP..............................................................................................3
5.Relai DHCP..................................................................................................................................3
6.Se procurer un serveur DHCP......................................................................................................4
II.Configurer DHCPD..........................................................................................................................4
1.Servir une plage d'IP.....................................................................................................................4
2.Terminal client et dmarrage rseau.............................................................................................5
3.Relai DHCP..................................................................................................................................6
a)Prsentation de DHCRELAY..................................................................................................6
b)Configurer dhcrelay.................................................................................................................7
c)Configurer dhcpd.....................................................................................................................7
4.Configuration de la mise jour dynamique du DNS....................................................................8
a)Dans Bind.................................................................................................................................8
b)Dand Dhcpd.............................................................................................................................8
c)Vrifications de la configuration.............................................................................................9
d)Mise en garde pour les clients DHCP......................................................................................9
5.Le fichier de logs de Baux............................................................................................................9
6.Lancement de DHCPD...............................................................................................................10
III.Configuration des clients...............................................................................................................10
1.Windows 95/98...........................................................................................................................10
2.Windows NT4/2000/XP.............................................................................................................10
3.Debian.........................................................................................................................................10
4.Fedora.........................................................................................................................................10
IV.Et iptables dans tout a..................................................................................................................11
V.Bibliographie..................................................................................................................................11
I. Principe
1. Dfinition du terme DHCP
DHCP signifie Dynamic Host Configuration Protocol. Ce protocole permet un ordinateur qui se
connecte sur un rseau local d'obtenir automatiquement sa configuration (principalement rseau). Il
www.cours-ofppt.com
suffit juste de dire votre ordinateur qu'il doit utiliser DHCP. Le but principal tant la
simplification de l'administration d'un rseau.
Le protocole DHCP sert principalement distribuer des adresses IP sur un rseau, mais il a t
conu au dpart comme complment au protocole BOOTP (Bootstrap Protocol) qui est utilis pour
lancer une installation ou un OS par le rseau en tlchargeant par TFTP les fichier ncessaires. Un
serveur DHCP peut donc renvoyer des paramtres BOOTP ou de configuration propres un hte
donn.
2. Fonctionnement de BOOTP
Un serveur BOOTP permet de transmettre simplement une adresse IP pour le client demandeur
ainsi qu'un nom de fichier et l'adresse d'un serveur sur lequel il pourra aller chercher ce fichier. Ce
fichier contient le systme d'exploitation que le client devra excuter.
schma
Le premier paquet mis par le client est un paquet de type DHCPDISCOVER. (broadcast).
Il contient au moins l'adresse MAC du client. Il est mis en UDP port destination 67.
www.cours-ofppt.com
Chaque serveur DHCP rpond par un paquet DHCPOFFER (broadcast UDP port destination
68) contenant l'adresse MAC du client, l'IP et le masque de sous rseau proposs au client
ainsi que l'IP du serveur faisant l'offre.
Le client ne conserve que la premire offre qu'il reoit. Il renvoie (broadcast) un
DHCPREQUEST pour valider sa demande (ce datagramme inclus l'IP du serveur DHCP
choisi).
Le serveur rpond simplement par un DHCPACK pour confirmer l'IP attribue.
5. Relai DHCP
Le problme du DHCP est qu'il faut un serveur par sous rseau car les broadcasts prcdents ne
passent pas travers des routeurs. Ainsi, si l'on veut avoir un seul serveur DHCP pour plusieurs
sous rseaux, il est ncessaire de mettre, sur chaque sous rseaux, un agent de relai DHCP. Celuici
va se charger de relayer les requtes de broadcast (DHCPDISCOVER et DHCPREQUEST) des
clients en les renvoyant en unicast au serveur DHCP qu'ils connaissent (de leur configuration) :
www.cours-ofppt.com
schma
Important : l'adresse de sous rseau fournir subnet doit absolument tre l'adresse d'un
sous rseaux sur lequel se trouve le serveur DHCP, autrement dit l'adresse de sous rseau
d'une de ses interfaces. Sinon le serveur DHCP ne dmarre pas. Cela peut aussi tre utilis
pour pouvoir servir des plages IP diffrentes sur les diffrentes interfaces du serveur.
# Sample /etc/dhcpd.conf
# Permet de dfinir l'interface de rponse aux requtes DHCP
DHCPDARGS=<interface>;
# dfinit le type de mise jour des DNS : aucune
ddns-update-style none;
# dfinit la dure de validit des adresses IP attribues en
secondes
default-lease-time 600;
# dfinit la dure de validit maximum des adresses IP attribues
en secondes
max-lease-time 7200;
# dfinit le masque de sous rseaux des adresses IP attribuables
option subnet-mask <masque IP>;
www.cours-ofppt.com
# dfinit l'adresse de broadcast du sous rseau
option broadcast-address <adresse IP broadcast>;
# dfinit la (ou les = liste virgule) passerelles du sous
rseau
option routers <IP passerelle>;
# dfinit l'adresse IP du (ou des = liste virgule) serveurs DNS
du sous rseau
#ou du moins dfinir pour les clients
option domain-name-servers <IP DNS>;
# dfinit le nom de domaine par dfaut des clients du sous rseau
option domain-name "nom de domaine";
#alloue un sous rseau pour les clients
subnet <adresse sous rseau> netmask <masque de sous rseau> {
range <IP dbut sous rseau> <IP fin sous rseau>;
#si vous avez des clients habituels ou serveur statiques
host <nom client> {
#adresse MAC du client
hardware ethernet XX:XX:XX:XX:XX:XX;
#lui donner une adresse fixe
fixed-address <IP ou nom DNS client>;
}
#on peut rpter autant de directive host que l'on veut
}
www.cours-ofppt.com
#adresse de diffusion du sous rseau
option broadcast-address <adresse broadcast sous rseau>;
#dfinit un client servir
host <nom client> {
#adresse MAC du client
hardware ethernet XX:XX:XX:XX:XX:XX;
#lui donner une adresse fixe
fixed-address <IP ou nom DNS client>;
#serveur contacter pour d'autres informations
next-server <IP serveur NFS>;
#lancer le client depuis le partage NFS <IP serveur NFS>:/diskless
option root-path "<serveur NFS>:/diskless";
#lancer le fichier kernel sur le client
filename "/diskless/kernel";
}
}
Pour ce qui est du partage NFS, il suffit de mettre dans un dossier /diskless, le contenu adquat
d'un noyau bootable par le rseau, d'une installation rseau ou de n'importe quel programme, OS
bootable par le rseau. Et dans /etc/exports :
#autorise tout le monde monter ce dossier
/diskless (ro)
3. Relai DHCP
a) Prsentation de DHCRELAY
L'agent de relai DHCP (dhcrelay) vous permet de relayer les requtes DHCP et BOOTP depuis
un sous rseaux ne comportant pas de serveurs DHCP, un serveur DHCP situ sur un autre sous
rseau.
Quand dhcrelay reoit une requte DHCP de broadcast, il l'envoie en unicast aux serveurs
DHCP contenus dans sa configuration et rception de la rponse unicast de ce dernier serveur, il
renvoit la rponse en broadcast au client.
dhcrelay possde les options de ligne de commande suivante :
Argument
Description
i nom_interface
Dfinit une interface sur lequel couter les requtes ou sur toutes les
interfaces si au moins une option i n'est pas prsente.
p port
Dfinit le port sur lequel le serveur coute les requtes des clients et les
retransmet. Il renvoie la rponse au client sur port+1.
www.cours-ofppt.com
b) Configurer dhcrelay
Pour que le relayage puisse se faire, il faut configurer :
la ou les interfaces depuis lesquelles dhcrelay doit couter et transmettre les requtes
OPTIONS=-q -i nom_interface_coute
OPTIONS=-q
c) Configurer dhcpd
Pour que le serveur DHCP puisse dmarrer et servir des adresses IP par le biais des relais DHCP
c'est dire par des requtes unicast, il faut indiquer dans le subnet
www.cours-ofppt.com
TODO
a) Dans Bind
Dans le fichier /etc/named.conf, pour votre zone DNS et sa zone inverse, ajouter les
directives zone correspondant : ceci autorise la mise jour du DNS par le DHCPD tournant sur
l'hte local
allow-update {
127.0.0.1;
}
De plus, si certains htes grs par le DNS ont un nom fixe dans les zones DNS, il est prfrable de
les supprimer de ces zones pour laisser dhcpd mettre jour le DNS.
Enfin, il faudra surement donner les droits 770 (et la proprit root:named) aux dossier contenant
les fichiers de zones sujets mise jour. Par exemple, /var/named ou
/var/named/chroot/var/named ou encore /var/lib/named/var/lib/named (et
sous dossiers).
b) Dand Dhcpd
Dans le fichier /etc/dhcpd.conf de la manire suivante :
# mthode de mise jour du DNS :
ddns-update-style interim;
# mise jour autorise
ddns-updates on;
# ici, on force la mise jour par le serveur DHCP
ignore client-updates;
# on force galement la mise jour des IP fixes
update-static-leases on;
zone <nom zone DNS> {
primary 127.0.0.1;
}
zone <nom zone DNS inverse> {
primary 127.0.0.1;
}
www.cours-ofppt.com
Note :
<nom zone DNS> doit absolument tre un nom de domaine allant jusqu' la racine DNS
c'estdire se terminant par un point, par exemple sharevb.net. .
<nom zone DNS inverse> doit aussi absolument tre une zone inverse in
addr.arpa. , par exemple pour une classe C, 67.45.193 .inaddr.arpa. .
Note 2 : relancer le service dhcpd et named aprs cela...et tout devrait tre OK pour un test.
c) Vrifications de la configuration
Dans /var/named, la premire attribution d'une IP, deux nouveaux fichiers de zone doivent
apparatre, avec le mme nom que les zones de votre domaine, mais avec un suffixe .jnl. Si ces
fichiers journaux binaires apparaissent c'est que tout fonctionne. Les fichiers de zone sont eux aussi
modifis mais longtemps aprs. Dans ces fichiers, de nouveaux enregistrements A sont apparus,
suivis d'un enregistrement TXT qui permettent d'indiquer que le champ prcdent est issu d'une
mise jour dynamique et il ne faut surtout pas le retirer.
www.cours-ofppt.com
The DHCP daemon could be killed or the system could crash after the lease database has been
renamed to the backup file but before the new file has been written. If this happens, there is no
dhcpd.leases file that is required to start the service. Do not create a new lease file if this
occurs. If you do, all the old leases will be lost and cause many problems. The correct solution is to
rename the dhcpd.leases~ backup file to dhcpd.leases and then start the daemon.
Leasefilename chemin_et_nom_fichier_lease ;
6. Lancement de DHCPD
[root]# /etc/init.d/dhcpd start
Starting dhcpd
[ OK ]
Si un message d'erreur apparat c'est que vous avez fait une erreur de syntaxe.
1. Windows 95/98
Par le panneau de configuration, icne "rseau", cliquez sur "TCP/IP > <votre carte rseau>.
L'adresse IP doit tre configure dynamiquement, c'est d'ailleurs le choix par dfaut l'installation.
Pour vrifier, utiliser winipcfg.
2. Windows NT4/2000/XP
La configuration se fait dans le panneau de configuration, icne "rseau", onglet "protocoles", puis
"proprits" de TCP/IP. L, vous avez indiqu que la carte doit recevoir une adresse IP
dynamiquement.
Pour vrifier, utiliser ipconfig. La commande "ipconfig" permet galement:
3. Debian
Dans le fichier /etc/network/interfaces pour chaque interface ncessitant :
#interface avec DHCP
ifce nom_interface inet dhcp
4. Fedora
Il existe divers clients : dhcpcd, dhclient, pump, dhcpxd mais le plus courant est dhclient de l'ISC.
Dans /etc/sysconfig/networkscripts, il y a des fichiers intitul : ifcfginterface. Ils doivent contenir
www.cours-ofppt.com
au moins ces lignes :
DEVICE="interface"
BOOTPROTO="dhcp"
IPADDR=""
NETMASK=""
ONBOOT="yes"
sur le serveur :
sur le client
V. Bibliographie
La principale documentation sur le DHCP est constitue par les incontournables RFCs :
Et puis :