• Plan
Partie 0 : Introduction et généralités
Partie 1 : Configuration d’interfaces réseaux
2
Partie 0 : Introduction et généralités
3
Administration de quoi ?
• Des Applications
– Applications et services d’un environnement réseau
– Exemple :
• Administrateur d’application ERP de l’entreprise,
• Applications de partages de fichiers (E.G MS Sharepoint),
• Applications bases de données
• Des Systèmes (d’exploitation)
– Serveurs du réseau LAN (planification, mise en service et
maintenance…)
– Machines clientes qui sont utilisées par les autres
– Systèmes d’exploitations et services associés
• Des (équipements) Réseaux
– Equipements d’interconnexion : switch, hubs, prises, médium
de connexions, points de présences, …
4
Administrateur de quoi ?
5
Administrateur?
L’administrateur est la personne qui doit s’assurer que les
services offerts par le système sont toujours disponibles
• Plusieurs termes pour le même personnage (dans des cas différents) : –
Administrateur
– Gestionnaire
– Opérateur
• Ses compétences:
– Bonne maîtrise technique des entités réseau qu’il gère (architectures
protocolaires et technologiques)
– Compréhension claire du fonctionnement de ces entités utilisées par tous les
utilisateurs du réseau
– Bonne connaissance de l’offre logiciel et matériel pour l’administration
6
Activités de l’Administrateur réseau et système?
• Configuring hardware
• Installing the operating system
• Installing application software
• Implementing system security
• Configuring the kernel
• Creating users and groups
• Updating software
• Performance tuning
• Disaster recovery
• Capacity planning
• Network administration
7
Activités de l’Administrateur réseau et système?
• Gestion de l’exploitation du réseau (Network operation)
– Gestion des pannes de service (Fault Management)
– Restoration du service après panne
– Gestion et analyse de la performance
– Gestion des trafics
– Gestion de la sécurité
• Gestion de l’évolution du réseau et des services
– Planning des migrations technologiques
– Conception de l’architecture du système
8
Valeur ajoutée de l’administration réseau et
système
• Minimisation des couts d’exploitation des
équipements réseaux
– Minimiser le TCO (Total Cost of Ownership);
• La logique commerciale veut que lorsqu’on achète quelque
chose son utilisation doit permettre de gagner plus d’argent que
ce qu’il a couté
9
Objectif du contenue du cours (entre autres)
• Former des administrateurs réseaux et systèmes
capables de :
– Installer et configurer les services communs des
réseaux LAN (Partage de fichier, Web, Authentification
centralisée, …)
– Manipuler des notions/outils nécessaire a un
administrateur réseaux et systèmes
– De dimensionner et planifier les ressources pour un LAN
(Serveurs, bande passantes, choix technologiques)
10
PARTIE 1 : CONFIGURATION D’INTERFACES RÉSEAUX
• Plan
Interfaces réseaux
Configuration statique
Le protocole DHCP:
configuration
dynamique
11
Interfaces réseaux Unix
12
Principe des interfaces
• Notion d'interface : élément de connexion physique ou
virtuel vers l'"exterieur".
• Représentation des périphériques réseaux (NIC) au niveau
noyau
• Objectif : Cacher l’hétérogénéité du matériel
• Etats : actif ou inactif (up, down).
13
Nomenclature UNIX/Linux des interfaces réseaux
• Cartes Ethernet :
– eth0, eth1, ...
• Points d'acces PPP :
– ppp0, ppp1, ...
• Points d'entree directs :
– tap0, tap1, ...
• Points d'entrées sur liaisons "serie" (SLIP) :
– sl0, sl1, ...
• Pont Ethernet :
– br0, br1, ...
• Boucle locale :
– lo
14
Types de configurations
• Deux modes configurations d’interfaces réseaux :
• Configuration statique (manuelle) :
– A chaud :
• Commandes : ifconfig, ip, iwconfig
– Automatique (fixe au démarrage)
• Fichiers (scripts) de configuration fixe :
/etc/sysconfig/network-scripts/ifcfg-eth0
(REDHAT Based)
/etc/network/interfaces (Debian Based)
• Configuration dynamique :
– Utilisation de protocole/service de configuration: DHCP,
BOOTP,…
15
La commande ifconfig(8)
16
Présentation
• La commande ifconfig est l’utilitaire de base
pour la configuration d’interfaces réseaux (NIC)
• Localisation : /sbin/ifconfig
– Certaines distributions (FEDORA) n’incluent pas par
défaut /sbin dans le PATH des utilisateurs autres que
root (utiliser le chemin complet)
Contrairement aux idées reçues ipconfig sous
Windows n’est pas l’égal de ifconfig mais plutôt
[Link]
17
Syntaxe
Syntaxe
ifconfig dev ip netmask nmask broadcast bcast
Exemples :
[root@tristan]# ifconfig eth0
( consulte la configuration de l'interface eth0)
[root@tristan]# ifconfig eth0 [Link] netmask [Link] up
(configurer l'interface eth0 avec l'adresse192.168.0.1 )
[root@tristan]# ifconfig eth0 down
(Suppression de la configuration de l'interface eth0)
18
Affichage de la configuration
[root@tristan]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:80:C8:F8:4A:51
inet addr:[Link] Bcast:[Link] Mask:[Link]
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:27849718 errors:1 dropped:0 overruns:0 frame:0
TX packets:29968044 errors:5 dropped:0 overruns:2 carrier:3
collisions:0 txqueuelen:100
RX bytes:943447653 (899.7 Mb) TX bytes:2599122310 (2478.7 Mb)
Interrupt:9 Base address:0x1000
lo Link encap:Local Loopback
inet addr:[Link] Mask:[Link]
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:7028982 errors:0 dropped:0 overruns:0 frame:0
TX packets:7028982 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1206918001 (1151.0 Mb) TX bytes:1206918001 (1151.0 Mb)
19
Affichage de la configuration
Interfaces
[root@tristan]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:80:C8:F8:4A:51
inet addr:[Link] Bcast:[Link] Mask:[Link]
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:27849718 errors:1 dropped:0 overruns:0 frame:0
TX packets:29968044 errors:5 dropped:0 overruns:2 carrier:3
collisions:0 txqueuelen:100
RX bytes:943447653 (899.7 Mb) TX bytes:2599122310 (2478.7 Mb)
Interrupt:9 Base address:0x1000
lo Link encap:Local Loopback
inet addr:[Link] Mask:[Link]
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:7028982 errors:0 dropped:0 overruns:0 frame:0
TX packets:7028982 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1206918001 (1151.0 Mb) TX bytes:1206918001 (1151.0 Mb)
20
Affichage de la configuration
Informations non altérables (théoriquement) avec ifconfig:
Type de carte et adresse physique
[root@tristan]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:80:C8:F8:4A:51
inet addr:[Link] Bcast:[Link] Mask:[Link]
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:27849718 errors:1 dropped:0 overruns:0 frame:0
TX packets:29968044 errors:5 dropped:0 overruns:2 carrier:3
collisions:0 txqueuelen:100
RX bytes:943447653 (899.7 Mb) TX bytes:2599122310 (2478.7 Mb)
Interrupt:9 Base address:0x1000
lo Link encap:Local Loopback
inet addr:[Link] Mask:[Link]
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:7028982 errors:0 dropped:0 overruns:0 frame:0
TX packets:7028982 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1206918001 (1151.0 Mb) TX bytes:1206918001 (1151.0 Mb)
21
Affichage de la configuration
Information d’adresse IP
[root@tristan]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:80:C8:F8:4A:51
inet addr:[Link] Bcast:[Link] Mask:[Link]
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:27849718 errors:1 dropped:0 overruns:0 frame:0
TX packets:29968044 errors:5 dropped:0 overruns:2 carrier:3
collisions:0 txqueuelen:100
RX bytes:943447653 (899.7 Mb) TX bytes:2599122310 (2478.7 Mb)
Interrupt:9 Base address:0x1000
lo Link encap:Local Loopback
inet addr:[Link] Mask:[Link]
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:7028982 errors:0 dropped:0 overruns:0 frame:0
TX packets:7028982 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1206918001 (1151.0 Mb) TX bytes:1206918001 (1151.0 Mb)
22
Affichage de la configuration
Etat du lien, types de communications
permises, mtu, métriques
[root@tristan]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:80:C8:F8:4A:51
inet addr:[Link] Bcast:[Link] Mask:[Link]
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:27849718 errors:1 dropped:0 overruns:0 frame:0
TX packets:29968044 errors:5 dropped:0 overruns:2 carrier:3
collisions:0 txqueuelen:100
RX bytes:943447653 (899.7 Mb) TX bytes:2599122310 (2478.7 Mb)
Interrupt:9 Base address:0x1000
lo Link encap:Local Loopback
inet addr:[Link] Mask:[Link]
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:7028982 errors:0 dropped:0 overruns:0 frame:0
TX packets:7028982 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1206918001 (1151.0 Mb) TX bytes:1206918001 (1151.0 Mb)
23
Affichage de la configuration
Statistiques
[root@tristan]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:80:C8:F8:4A:51
inet addr:[Link] Bcast:[Link] Mask:[Link]
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:27849718 errors:1 dropped:0 overruns:0 frame:0
TX packets:29968044 errors:5 dropped:0 overruns:2 carrier:3
collisions:0 txqueuelen:100
RX bytes:943447653 (899.7 Mb) TX bytes:2599122310 (2478.7 Mb)
Interrupt:9 Base address:0x1000
lo Link encap:Local Loopback
inet addr:[Link] Mask:[Link]
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:7028982 errors:0 dropped:0 overruns:0 frame:0
TX packets:7028982 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1206918001 (1151.0 Mb) TX bytes:1206918001 (1151.0 Mb)
24
Extinction d’une interface
• Cette opération entraine les effets suivants :
– Suppression des adresses de l’interface
– Interruption des connexions établies sur cette interface
– Suppression de toutes les entrées de la table de routage qui
passent par l’interface
– L’interface physique est désactivée
[root@tristan]# ifconfig eth0 down
[root@tristan]# ifconfig
lo Link encap:Local Loopback
inet addr:[Link] Mask:[Link]
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:306 errors:0 dropped:0 overruns:0 frame:0
TX packets:306 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:29504 (28.8 Kb) TX bytes:29504 (28.8 Kb)
25
Configuration d’une interface
• Cette opération entraine les effets suivants :
– Activation de l’interface
– Assignation de l’adresse IP demandée
– Création de toutes les entrées de la table de routage qui passent
par l’interface
[root@tristan]# ifconfig eth0 [Link] netmask [Link] up
[root@tristan]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:80:C8:F8:4A:51
inet addr:[Link] Bcast:[Link] Mask:[Link]
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:190312 errors:0 dropped:0 overruns:0 frame:0
TX packets:86955 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:30701229 (29.2 Mb) TX bytes:7878951 (7.5 Mb)
Interrupt:9 Base address:0x5000
26
Changement du MTU
• Le MTU est la taille maximale d’un paquet
[root@tristan]# ifconfig eth0 mtu 1412
[root@tristan]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:80:C8:F8:4A:51
inet addr:[Link] Bcast:[Link] Mask:[Link]
UP BROADCAST RUNNING MULTICAST MTU:1412 Metric:1
RX packets:190312 errors:0 dropped:0 overruns:0 frame:0
TX packets:86955 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:30701229 (29.2 Mb) TX bytes:7878951 (7.5 Mb)
Interrupt:9 Base address:0x5000
27
Activation de flags
• Les options de flags (arp, promisc, …) précédés de (-)
[root@tristan]# ifconfig eth0 promisc
[root@tristan]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:80:C8:F8:4A:51
inet addr:[Link] Bcast:[Link] Mask:[Link]
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1412 Metric:1
RX packets:190312 errors:0 dropped:0 overruns:0 frame:0
TX packets:86955 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:30701229 (29.2 Mb) TX bytes:7878951 (7.5 Mb)
Interrupt:9 Base address:0x5000
[root@tristan]# ifconfig eth0 -promisc
[root@tristan]# ifconfig eth0 -arp
[root@tristan]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:80:C8:F8:4A:51
inet addr:[Link] Bcast:[Link] Mask:[Link]
UP BROADCAST RUNNING NOARP MULTICAST MTU:1412 Metric:1
RX packets:190312 errors:0 dropped:0 overruns:0 frame:0
TX packets:86955 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:30701229 (29.2 Mb) TX bytes:7878951 (7.5 Mb)
Interrupt:9 Base address:0x5000
[root@tristan]# ifconfig eth0 arp
28
Alternatives de la commande ifconfig
• La commande ip permet aussi de configurer et de faire des
diagnostiques sur une interface
Syntaxe
ip address add @IP broadcast @bCast dev eth0
[root@tristan]# ip link list
( consulte la configuration des interfaces)
[root@tristan]# ip address add [Link] broadcast [Link] dev eth0
(configurer l'interface eth0 avec l'adresse192.168.0.1 )
[root@tristan]# ip address del [Link] broadcast [Link] dev eth0
(Suppression de la configuration de l'interface eth0)
[root@tristan]# ip -6 addr add 2001:DB8::1/64 dev eth0
(manipulation d’adresse IPv6)
29
IP aliasing
• Objectif : Faire correspondre à une interface
réseau plusieurs adresses IP
– Permet de faire appartenir une interface plusieurs sous
réseaux (VLANs)
– Syntaxe de nomenclature nominterface:index
• Exemple : eth0:0, eth0:1, …, eth1:0, eth1:1, …
Exemple
ifconfig eth0:0 [Link] netmask [Link]
ip a add [Link]/24 dev eth0:0
ifconfig eth0:0
30
Configuration automatique
• Indique au système comment configurer les
interfaces au démarrage en utilisant les fichiers de
configuration
• Fichiers de configuration
– Redhat-like : /etc/sysconfig/network-scripts
– Debian-Like : /etc/network/interfaces
• Les commandes ifup et ifdown utilisent ces
fichiers pour configurer les interfaces
31
Configuration automatique
Exemple /etc/network/interfaces Exemple /etc/sysconfig/network-scripts
# The loopback network interface DEVICE=eth0
auto lo ONBOOT=yes
iface lo inet loopback BOOTPROTO=none
# The first network interface eth0 NETMASK=[Link]
auto eth0 IPADDR= [Link]
iface eth0 inet static GATEWAY=[Link]
address [Link] TYPE=Ethernet
netmask [Link] HWADDR=00:0c:29:ac:5b:cd
gateway [Link]
iface eth0:0 inet dhcp
# The second network interface eth1
auto eth1
iface eth1 inet dhcp
iface eth1 inet6 static
address 2001:DB8::3
netmask 64
32
Le fichier /etc/network/interfaces (Debian-Like) •
Ce fichier contient deux types de lignes
– Celles qui commencent par auto : informe le système
que cette interface doit être configuré au démarrage
– Celle qui commence par iface : donne la configuration
de l’interface
• Parametre : address, netmask, gateway, …
#configuration statique #Exemple de configuration IPv6
auto eth0 iface eth0 inet6 static
iface eth0 inet static address 2001:db8::c0ca:1eaf
address [Link] netmask 64
netmask [Link] gateway 2001:db8::1ead:ed:beef
gateway [Link]
3 3
Le fichier /etc/network/interfaces (Debian-Like) •
Exemple d’aliasing
auto eth0
allow-hotplug eth0
iface eth0 inet static
address [Link]
netmask [Link]
gateway [Link]
auto eth0:0
allow-hotplug eth0:0
iface eth0:0 inet static
address [Link]
netmask [Link]
auto eth0:1
allow-hotplug eth0:1
iface eth0:1 inet static
address [Link]
netmask [Link]
34
Dynamic Host Configuration
Protocol (DHCP)
35
Présentation
• La configuration d’un nœud TCP/IP consiste en
– La configuration des adresses IP sur les interfaces des
hôtes
– La configuration d’un routeur par défaut pour sortir du
réseau (routage)
– La masque de sous-réseau à utiliser par l’hôte
– L’adresse des serveurs fournissant un service particulier
• Serveur mail
• Serveur DNS
• …
– Le MTU du réseau local
– Le TTL à utiliser dans le réseau
– …
36
Présentation
• Cas ou la configuration manuelle est quasi impossible
– La configuration d’un parc géographiquement distribué
• A moins de former tous les utilisateurs, la configuration manuelle à
distance peut être très lourd
– La configuration d’un parc avec beaucoup d’utilisateurs
mobiles
• Les ordinateurs portables devront être configurer à chaque fois qu’il
changent de sous-réseau
– Les parcs avec des terminaux sans disque
– Un site avec un nombre limité d’adresses
• Il est difficile d’allouer des adresses en s’assurant qu’elles ne sont
pas mal utilisée (des hôtes non connectés, disparus…)
• Solution :
– Les protocoles de configuration des hôtes TCP/IP
37
Protocoles de configuration d’hôte
• Les protocoles de configuration TCP/IP permettent
à l’administrateur de configurer les hôtes pour
qu’ils déterminent automatiquement leurs
adresses IP et leurs paramètres clés
• Principaux Protocoles
– RARP
• Reverse ARP
– Mêmes trames et schéma requête/réponse que ARP, Numéros
d'opérations différents
– BOOTP
• Le protocole de configuration historique
• Fonctionne sur UDP
– DHCP
38
DHCP
• Dynamic Host Configuration Protocol
• Basé sur BOOTP
– DHCP est compatible avec BOOTP
– Les fonctionnalités de BOOTP sont améliorées en DHCP
– Les options BOOTP sont disponibles sur DHCP
– Et bien plus …
• RFC 2131, mars 1997
• Fonctionnement sur UDP (héritage de BOOTP?)
– Port 67 : serveur
– Port 68 : client
• Protocole client-serveur
39
Cas d’utilisations
• Machines sans disque (diskless)
• Installations de systèmes par le réseau
• Machine sans lecteur CD, DVD ou disquette
• Démarrage de machines par le réseau
• Machines nomades (ordinateurs portables)
• Commodité d'administration
40
Fonctionnalités DHCP
• Allocation d’adresses
– L’allocation d’adresses est le mécanisme qui consiste à
donner l’autorisation à un hôte à utiliser une adresse IP
dans un domaine bien donné
– Les correspondances entre les adresses physiques et
logiques est effectuée de manière dynamique (sans
utilisation de tables statiques)
• Efficacité dans la rationalisation des adresses
– Une adresse n’est fournie qu’en cas de besoin
• L’utilisation statique est toutefois possible
– Modes d’allocations
• Manuelle (ou statique)
• Automatique
• Dynamique
41
Fonctionnalités DHCP
• Fourniture d’informations de la pile TCP / IP
– Adresse des passerelles
– Adresse du serveur DNS
– …
• Compatibilité avec BOOTP (RFC 1542)
42
Allocation statique
• Méthode d’allocation héritée de BOOTP
– C’est le mode de fonctionnement par défaut de BOOTP
• Principe : les adresses à allouer aux machines sont
codées en dure (préconfigurées) par l’administrateur
– Cela correspond à une table d’allocation statique des
adresses
• Adresse physique (Ethernet, Token ring) IP
• Avantages
– Permet le maintien centralisé des adresses IP sur une seule
machine (au lieu d’aller les configurer sur chaque machine)
– Utilisée en général pour les adresses des serveurs (DNS,
SMTP, …)
43
Allocation statique
Table d’allocation statique
@MAC1 [Link] Gouy
@MAC2 [Link] @MAC1
@MAC3 [Link]
Mbarbat
@MAC2
Serveur DHCP Diombos
@MAC3
L’adresse IP [Link] sera toujours allée à gouy,
[Link] sera toujours allouée à mbarbat…
44
Allocation dynamique
• C’est le fonctionnement qui est la raison d’être de
DHCP
• Une pool d’adresses IP est mise à disposition pour
la configuration d’interfaces
– Tout client DHCP envoie une requête pour obtenir une
adresse disponible sur la pool
– Le serveur gère le suivi des adresses allouées et une
date d’expiration (bail ou lease en anglais), de la validité
– A l’expiration les clients doivent demander le
prolongement du bail ou une nouvelle adresse
45
Allocation dynamique
[Link] [Link] Gouy
@MAC1
Mbarbat
@MAC2
Diombos
@MAC3
Les adresses dans la plage [Link]- [Link],
seront attribuées en fonction des demandes pour une durée
bien déterminée (bail)
46
Allocation dynamique
• Avantages :
– Automatisation de l’allocation des adresses
– Contrôle et gestion centralisé des adresses IP
– Réutilisation et partages des adresses disponibles
• Chaque adresse est réutilisable après un cycle de bail
– Portabilité et universalité
• Tout client peut demander qu’une adresse lui soit alloué
(indépendamment de l’OS ou du type d’équipement)
– Evitement des conflits
• Les collisions d’adresses sont ainsi gérées
47
Notion de bail
• Principe :
– Le serveur DHCP n’autorise les clients à utiliser une
adresse IP que pour une période de temps bien
déterminée :
• le bail (lease en anglais)
48
Négociation de bail
• La négociation du bail est similaire à celui des
baux de logements :
– Au début un bail est signé pour occuper une adresse(un
appartement)
• Correspond à l’allocation initiale d’adresse
– Un moment avant la fin du bail le client peut demander
à prolonger s’il veut vivre dans le même appartement
• Opération RENEWAL
– Si le bail arrive à terme, sans prolongement le client est
obligé de redemander un autre appartement
• Opération REBIND
– …
49
Valeurs pour le bail
• Les durées de baux sont souvent des compromis à faire
entre :
– Stabilité :
• Des durées trop courtes perturbent le réseau, mais permettent une
réutilisation maximale des adresses IP
– Efficacité :
• Attribution efficace des adresses sans perte (Minimiser le temps
qu’une adresse reste réservée sans être réellement utilisée)
Efficacité Stabilité
(meilleur utilisation des adresses) (moins de traffic DHCP)
Valeur de bail
0 +∞
50
Durées de bail communs
• Une heure ou moins
– Garantit une efficacité d’allocation maximale dans un
environnement :
• dynamique où les hôtes se connectent et se déconnectent
souvent et,
• en cas de manque d’adresses IP ou bien aucune estimation du
nombre de visiteur attendu n’est disponible
• Un jour
– Adapté à un réseau ou les visiteurs se connectent en
général et restent pour la journée ( au bureau par
exemple)
• Trois jours
– Utilisé par défaut par Microsoft Windows, ce qui a suffit
à rendre cette valeur populaire…
51
Durées de bail communs
• Une semaine
– Un compromis raisonnable entre un court et long terme
– Peut être utilisé en cas de visiteurs pour la semaine par
exemple (Hôtels de vacance…)
• Un mois
– Un autre compromis pour des clients qui restent sur un long
terme relatif
• Trois mois
– Un bon compromis dans un environnement relativement
stable (pas beaucoup de mouvements)
– Durée pour les serveurs centraux
• Un an
– Une approximation d’un bail infini
52
Allocation automatique
• Adaptée à un environnement avec un déploiement
en une seule fois
• Principe : Chaque hôte qui se voit alloué une
adresse IP la garde définitivement
– Une adresse déjà allouée n’est plus réutilisable
– C’est un cas particulier d’allocation dynamique avec un
bail infini
• L’allocation automatique n’est en général pas très
utilisée
– A la place l’allocation statique combinée à l’allocation
dynamique est utilisée
53
Fonctionnement de DHCP
Qui peut me
fournir
une adresse IP ?
DHCPDISCOVER DHCPDISCOVER
54
Fonctionnement de DHCP
Je peux, voici les
données dont tu
auras besoin.
J’attends le
confirmations
Je peux, voici les
données dont tu
auras besoin.
J’attends le
DHCPOFFER confirmations
Je peux, voici les
données dont tu
auras besoin.
J’attends le
confirmations
55
Fonctionnement de DHCP
Je peux, voici les
données dont tu
auras besoin.
J’attends le
confirmations
Je peux, voici les
DHCPOFFER données dont tu
auras besoin.
DHCPOFFER J’attends le
confirmations
DHCPOFFER
Je peux, voici les
données dont tu
auras besoin.
J’attends le
confirmations
56
Fonctionnement de DHCP
Sélection du
serveur et
confirmation
DHCPREQUEST DHCPREQUEST
57
Fonctionnement de DHCP
Acquittement
pour une
finalisation de
la transaction
DHCPACK DHCPACK
DHCPNACK DHCPNACK
Signalisation pour
notifier un échec et
demander au client de
réessayer plutard
58
Installation de DHCP
• Serveur
– Sous Linux il y a plusieurs paquets permettant de mettre
en œuvre un service DHCP
– Le nom du package dépend de la distribution et de la
version :
• Sous Débian dhcp3 (ancienne version); isc-dhcp-server
• Client
– Tous les systèmes d’exploitations modernes intègrent un
client DHCP
– La configuration des interfaces se fait par défaut par
DHCP
59
Installation d’un serveur DHCP (Ubuntu/Debian)
• Paquets de dhcp3 et isc-dhcp
60
Installation d’un serveur DHCP (Ubuntu/Debian)
• Installation du serveur ISC-DHCP
root# apt-get install isc-dhcp-server
root# aptitude install isc-dhcp-server
uo bien
61
Fichiers de configuration du serveur DHCP
• Le fichier de configuration du serveur est
– Elle contient des exemples documentés et commentés.
• Voir man [Link] (5)
• Le fichier /etc/default/isc-dhcp-server permet
/etc/dhcp/[Link]
de préciser les interfaces sur lesquelles
DHCP est actif
En règle générale il faut faire une copie
du fichier par défaut avant de le modifier
62
Etapes de la configuration du serveur
Activer les
Ajouter les Vérifier les
interfaces sur Lancer le
configuration logs de
lesquelles serveur DHCP
dans démarrage
DHCP doit
[Link] être actif
63
Syntaxe du fichier [Link]
• Déclaration de sous réseau
subnet subnet-address netmask subnet-mask
{
subnet declarations;
}
• subnet-address :
– adresse du sous réseau sur lequel DHCP est actif
• netmask :
– Masque de sous réseau
64
Syntaxe du fichier [Link]
• Exemples de déclarations de sous réseaux
/etc/dhcp/[Link]
[Link]/24
# subnet 0
subnet [Link] netmask
[Link] {
}
# subnet 1
subnet [Link] netmask
[Link] {
}
# subnet 2
subnet [Link] netmask
Serveur
[Link] { DHCP
} [Link]/24
# subnet 3
subnet [Link] netmask
[Link] {
}
# subnet 4
subnet [Link] netmask
[Link] {
} [Link]/24
[Link]/24
65
Syntaxe du fichier [Link]
• Déclaration de plages allouées dynamiquement
• first-available-address :
– première adresse de la plage
• last-available-address :
– dernière adresse de la plage
• /!\ La ligne se termine par une point virgule « ; », ne pas
l’oublier!
• Les plages
range d’adresses doivent êtrelast-available-address
first-available-address dans le même réseau ;
qu’au moins l’adresse de l’une des interfaces du serveur
– Si aucune interface n’est sur le réseau qu’une plage, elle sera
ignorée
66
Syntaxe du fichier [Link]
• Exemple d’allocation dynamique de plage
d’adresses
/etc/dhcp/[Link]
# Server subnet
subnet [Link] netmask [Link] {
range [Link] [Link];
# [Link] reserved for DHCP server
# [Link] reserved for DNS server
# [Link] reserved for router interface
}
# Staff subnet 1
subnet [Link] netmask [Link] {
range [Link] [Link];
# [Link] reserved for router interface
}
67
Syntaxe du fichier [Link]
• Options de la directive range
option option-name option-value;
• Option-name: le nom de l’option, les plus utilisées
sont:
– routers : Les passerelles du sous réseau
– domain-name-server : le serveur de nom de
domaine
– subnet-mask : le masque de sous réseau
• Optione-value : adresse IP ou nom d’une machine
68
Syntaxe du fichier [Link]
• Exemples d’utilisations des options de la directive
range
/etc/dhcp/[Link]
# Staff subnet 2
subnet [Link] netmask [Link] {
range [Link] [Link];
# [Link] reserved for router interface
option routers [Link];
option subnet-mask [Link];
option domain-name-servers [Link];
}
# Staff subnet 3
subnet [Link] netmask [Link] {
range [Link] [Link];
# [Link] reserved for router interface
option routers [Link];
option subnet-mask [Link];
option domain-name-servers [Link];
}
69
Configuration des baux
• La durée du bail est exprimée en secondes sur
32bits
– La durée maximale est de 232s = 49710 jours= 135ans
• Dans le fichier de configuration trois variables
permettent de le contrôler
default-lease-time time;
max-lease-time time;
min-lease-time time;
70
Configuration des baux
• Exemple de configuration des baux
/etc/dhcp/[Link]
# Server subnet
subnet [Link] netmask [Link] {
range [Link] [Link];
# [Link] reserved for DHCP server
# [Link] reserved for DNS server
# [Link] reserved for router interface
option routers [Link];
option subnet-mask [Link];
option domain-name-servers [Link];
# default lease = 90 days, max lease = 120 days
default-lease-time 7776000;
max-lease-time 10368000;
}
71
Allocation statique
• La directive host permet de fixer l’adresse qui sera
attribuée à une machine identifiée par son adresse
MAC
host name {
[statements ]
[declarations ]
}
– name : un nom qui permet d’identifier la déclaration (rien à
voir avec le hostname)
– Les machines sont identifiées en utilisant leurs adresses MAC
72
Allocation statique (exemple)
subnet [Link] netmask [Link] {
range dynamic -bootp [Link] [Link];
option subnet -mask [Link];
option routers [Link];
allow unknown -clients;
host qmsf {
hardware ethernet 01:04:31:db:e1:c0;
fixed-address [Link];
}
host hplj6f {
hardware ethernet 00:03:47:cf:83:e2;
fixed-address [Link];
}
}
73
Activation de DHCP sur les interfaces
• Il faut éditer le fichier /etc/default/isc-dhcp-server pour
activer DHCP sur une ou plusieurs interfaces grâce à la
directive INTERFACES
INTERFACES="eth0 eth1"
74
Lancement du serveur DHCP
• Pour l’arret, le démarrage et le redémarrage il faut exécuter
les commandes suivantes (Ubuntu)
root# service isc-dhcp-server restart
root# service isc-dhcp-server start
root# service isc-dhcp-server stop
75
Vérification des logs
• Les logs de DHCP sont écrits par défaut dans le
/var/log/syslog
76
Configuration client DHCP (Debian LiNUX)
• Plusieurs manières de faire
– À chaud (configuration qui disparait dès
que la machine est redémarrée)
• Utilisation de la commande dhclient ou
dhclient3
• Exemple :
> dhclient3 eth0
–Statique
• Utilisation du fichier
/etc/network/interfaces(5)
77
Configuration client DHCP (Debian LiNUX)
• Configuration à chaud
– La commande dhclient force l’émission d’une requête
DHCPREQUEST pour configurer une interface
– La configuration reste valide tant que la machine ne redémarre pas
78
Configuration client DHCP (Debian LiNUX)
• La configuration statique
– Elle informe le système que la configuration d’une
interface doit se faire avec DHCP
– Le fichier /etc/network/interfaces est utilisé
• Exemple
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
79
Configuration client (Windows)
80
Configuration client (Windows)
• Commandes de traitement de DHCP
– Consultation du bail:
C:\> ipconfig /ALL
– Renouveler le bail :
C:\> ipconfig /RENEW
– Libérer l’adresse IP :
C:\> ipconfig /RELEASE
81
Ce que DHCP ne permet pas de faire
• Adresses multiples sur une seule interface (alias
d’interfaces multiples)
– Même si cela pourrait être une faille
• Propagation des nouvelles adresses au DNS
– Sauf utilisation de dynamique DNS
• Communication inter-serveurs DHCP
– Architecture maitre/esclave ou primaire/secondaire
impossible
• Authentification des messages délivrés
• Configuration de routeurs
• Localisation des autres serveurs DHCP
• …
82
A regarder de plus prêt pour aller plus loin
• “The DHCP Handbook, Second Edition” Ralph
Droms and Ted Lemon, Sams Publishing 2003
83