Cours de Services Réseaux
Année 2023/2024
Pr Amadou Dahirou GUEYE
Enseignant-chercheur au département Informatique,
UAM
Courriel : [Link]@[Link]
Plan du cours
Le service DHCP (Dynamic Host Configuration Protocol)
Présentation du service DHCP
Différence entre les protocoles BOOTP et DHCP
Fonctionnement du service DHCP
Configuration de DHCP
Relais DHCP
Le service DNS (Domain Name System)
Présentation et fonctionnement du service DNS
Configuration de DNS
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 2
Plan du cours (suite)
Le service de messagerie
Architecture du système de messagerie
Serveur de messagerie et clients de messagerie
SMTP (Simple Mail Transfer Protocol)
POP (Post Office Protocol)
IMAP (Internet Message Acces Protocol)
Webmail, Sendmail, Postfix
Les serveurs Web
Présentation des serveurs Web
Les proxy web
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 3
Le service DHCP (Dynamic Host Configuration
Protocol)
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 4
Présentation du service DHCP
Le protocole DHCP fonctionne en mode Client/Serveur.
Ce protocole permet aux clients DHCP d’un réseau IP
d’obtenir leurs configurations à partir d’un serveur DHCP.
Ce serveur gère l’allocation des adresses IP et répond aux
requêtes de configuration des clients.
Un client DHCP est fourni avec la plupart des systèmes
d’exploitation récents, notamment les divers systèmes
Windows, Novell Netware, Sun Solaris, Linux et MAC
OS.
Le client demande des valeurs d’adressage au serveur
DHCP du réseau.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 5
Présentation du service DHCP (suite 1)
Le service DHCP s’appuie sur le protocole de transport UDP.
Le client envoie des messages au serveur sur le port 67.
Le serveur envoie des messages au client sur le port 68.
Le serveur fonctionne en allouant aux clients les
informations IP pendant une durée appelée bail.
A l’expiration du bail, le client doit demander un
renouvellement des informations IP ou solliciter une
nouvelle demande, même si l’adresse courante est
généralement reconduite.
Les quatre paramètres IP de base sont : l’adresse IP, le
masque, la passerelle et le(s) adresse(s) du (ou des)
serveur(s) DNS.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 6
Processus d’allocation d’une adresse IP entre un
client et un serveur DHCP
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 7
Processus d’allocation d’une adresse IP entre un
client et un serveur DHCP (suite)
Le client envoie par Broadcast (adresse [Link])
un paquet DHCPDISCOVER sur le réseau local.
Le (ou les) serveur(s) DHCP répondent par un paquet
DHCPOFFER avec des informations de bail.
Le client sélectionne le bail et envoie par Broadcast un
paquet DHCPREQUEST pour retenir une offre DHCP.
Le serveur DHCP sélectionné envoie un paquet
DHCPACK pour la confirmation de l’offre avec tous les
autres paramètres IP.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 8
Autres messages DHCP échangés entre clients et
serveurs
La requête initiale ou le renouvellement peuvent être
refusés par le serveur élu par un message DHCPNACK.
La station cliente est alors revenue à l’état initialisation.
Le message DHCPRELEASE, permet au client de résilier
son bail avant l’échéance de celui-ci.
Le message, DHCPDECLINE est utilisé par le client pour
informer un serveur que son offre est invalide.
Enfin, le message DHCPINFORM, permet à une
machine d’obtenir des paramètres de configuration
supplémentaires.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 9
Configuration de DHCP
La configuration d’un serveur DHCP peut se faire sous
Windows (2012 serveur, 2016 serveur …) ou bien sous
Lunix (Ubuntu,…).
Dans ce cours, les TP se feront sous l’environnement
Ubuntu.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 10
Installation et configuration de DHCP sous linux
La configuration du serveur DHCP consiste à configurer 2
fichiers :
/etc/[Link] : ce fichier sert à la configuration du
serveur (plage d'adresses, paramètres distribués,…);
/etc/[Link] : ce fichier va servir à l'inscription des
clients. Il peut ne pas se trouver dans ce répertoire, cela
dépend de la version installée, on peut aussi le trouver
dans /var/dhcpd.
Chaque client DHCP, génère l'écriture d'un
enregistrement dans ce fichier. Cela permet le suivi, les
statistiques… de l'activité du serveur.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 11
Installation du serveur DHCP
DHCP est le plus souvent installé par défaut sur les
machines, si cela n'est pas le cas, on peut installer la
version rpm ou tar.
Pour installer le serveur DHCP sous Ubuntu, on peut
exécuter la commande suivante :
sudo apt -get install isc-dhcp-server
Pour démarrer le serveur, on peut taper la commande :
/etc/init.d/isc-dhcp-server start
Pour arrêter le serveur:
/etc/init.d/isc-dhcp-server stop
Pour redémarrer le serveur :
/etc/init.d/isc-dhcp-server restart
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 12
Configuration du serveur
La configuration du serveur se fait à partir du fichier
/etc/dhcp3/[Link] (ce fichier peut varier selon la
version de DHCP ou la distribution Linux.
Avant de faire la configuration du serveur, commencer par
faire la sauvegarde de ce fichier par la commande suivante :
cp /etc/isc-dhcp/[Link]
/etc/isc-dhcp/[Link]
Pour configurer le serveur, il faut éditer le fichier
[Link] par le logiciel vi ou more par la commande
suivante : vi /etc/[Link] ou more /etc/[Link]
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 13
Exemple de fichier [Link]
[root@/etc/dhcp3]# more [Link]
# Ici il s'agit du réseau [Link]
subnet [Link] netmask [Link] {
#La plage d'adresses disponibles pour les clients
range [Link] [Link];
# Les clients auront cette adresse comme passerelle par défaut
option routers [Link];
# Ici c'est le serveur de nom, le serveur privé, il faut aussi mettre le DNS donné par votre FAI.
# On peut en mettre plusieurs serveurs DNS.
option domain-name-servers [Link];
option domain-name-servers [Link]
# On donne le nom du domaine, par exemple le domaine [Link]
option domain-name "[Link]";
# Et l'adresse utilisée pour la diffusion
option broadcast-address [Link];
#Le bail a une durée de 86400 s par défaut, soit 24 h
default-lease-time 86400;
#On le laisse avec un maximum de 7 jours
max-lease-time 604800; }
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 14
Création d’un fichier d’inscription
/etc/[Link]
Ce fichier doit être créé, sans quoi le serveur DHCP ne
pourra pas démarrer.
Il suffit de créer un fichier vide. Les dernières versions le
crée dans le répertoire /var/dhcpd/).
Pour cela taper la commande echo> /etc/[Link].
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 15
Exemple de contenu du fichier [Link]
[root@/etc/dhcp3]# vi [Link]
lease [Link] {
starts 1 1999/05/20 22:15:21;
ends 1 1999/05/20 22:15:38;
hardware ethernet 00:40:21:3c:f2:dd;
uid 01:00:40:21:3c:f2:dd;
client-hostname "Client1";
}
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 16
Fixer l’adresse IP d’un client en fonction de son
adresse MAC
On peut ajouter dans le fichier [Link] une
instruction propre à chaque client pour fixer l’adresse IP
du client en fonction de son adresse MAC (cas des
serveurs en général).
Pour cela, on peut utiliser l'instruction suivante :
host ma_station {
hardware ethernet 00:60:52:08:42:fa;
fixed-address [Link];
}
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 17
Vérification du bon fonctionnement du serveur
DHCP
Pour vérifier si le serveur DHCP est en fonctionnement,
on peut regarder si le serveur est dans la liste des
processus Linux par la commande : ps ax
Si le serveur est en échec, un message d’erreur aura été
noté dans le journal du système Linux.
Pour voir ce journal, on peut exécuter la commande
suivante : more /var/log/syslog.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 18
Vérification de configuration DHCP
Pour vérifier coté client que les hôtes reçoivent bien des
adresses, il faut exécuter :
Sous Windows (DOS) :
ipconfig /all (permet de voir la configuration TCP/IP);
ipconfig /release (permet de libérer l’adresse IP);
ipconfig /renew (permet de renouveler une adresse IP).
Sous Linux : dhclient
Enfin pour vérifier coté serveur que les baux ont bien été
attribués, on peut regarder le fichier des baux d’adresses
par la commande suivante :
more /var/lib/isc-dhcp/[Link].
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 19
Relais DHCP
Les clients DHCP utilisent des broadcast IP pour
retrouver le serveur DHCP sur le segment.
Que se passe-t-il quand le serveur et le client ne résident
pas sur le même segment et sont séparés par un routeur
alors que les routeurs ne transmettent pas les broadcast.
Comme certains clients sont inutiles sans des services
comme DHCP, l’administrateur doit choisir entre les deux
options suivantes : placer des serveurs sur tous les sous-
réseaux ou utiliser la fonction adresse de diffusion de
Cisco IOS.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 20
Le fait d’exécuter des services tels que DHCP ou DNS sur
plusieurs ordinateurs est à l’origine de surcharges et de
difficultés administratives, lesquelles rendent la
première option inefficace.
Lorsque c’est possible, les administrateurs doivent
utiliser la commande ip helper-address pour relayer les
requêtes de broadcast pour ces services UDP clés.
En utilisant la fonction d’adresse de diffusion, il est
possible de configurer un routeur pour lui faire accepter
une requête de broadcast de service UDP, puis de la
transférer en unicast vers une adresse IP spécifique.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 21
Par défaut, la commande ip helper-address transfère
les services UDP suivants entre autres :
Protocole Time;
Le protocole DNS;
Le serveur BOOTP/DHCP;
Le client BOOTP/DHCP;
TFTP;
Le service de noms NetBIOS. ;
Le service de datagramme NetBIOS.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 22
Dans le cas particulier de DHCP, un client diffuse un
paquet DHCPDISCOVER sur son segment local.
Ce paquet est prélevé par la passerelle. Si une adresse de
diffusion est configurée, le paquet DHCP est transféré à
l’adresse spécifiée.
Avant de transférer le paquet, le routeur renseigne le
champ GIADDR du paquet avec l’adresse IP du routeur de
ce segment.
Cette adresse représente ensuite l’adresse de passerelle
pour le client DHCP lorsque celui-ci obtient l’adresse IP.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 23
Illustration du mécanisme de relais DHCP
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 24
Les clients DHCP envoient un paquet DHCPDISCOVER;
Le relais IP DHCP (adresse ip helper ) sur le routeur
attend le paquet DHCPDISCOVER et transfert en unicast
les messages au serveur DHCP;
Le relais DHCP renseigne le champ GIADDR avec
l’adresse IP de l’interface primaire du routeur;
Le relais DHCP peut être configurer pour transférer le
paquet à plusieurs serveurs DHCP. Le client choisi le
meilleur serveur.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 25
Remarque
Sous Linux, il existe un agent relais DHCP (dhcprelay).
Ce produit de l’ISC (Internet Software Consortium)
permet de router des requêtes BOOTP et DHCP
provenant de client d’un réseau sur le quel il n’y a pas de
serveur DHCP vers un autre segment sur le quel un
serveur DHCP pourra répondre.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 26
Le service DNS (Domain Name System)
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 27
Présentation et fonctionnement du service DNS
Rappelons que le nommage est une notion
complémentaire de celle de l’adressage, l’un désigne
l’objet (objet nommé) l’autre sa localisation (adresse IP).
Le DNS est une base de données distribuée s’appuyant
sur UDP (port 53).
D’origine IAB (Internet Activities Board), le DNS est une
base de données distribuée basée sur le modèle
relationnel client/serveur.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 28
La partie cliente, le solveur (resolver), est chargée de
résoudre la correspondance entre le nom symbolique de
l’objet et son adresse réseau.
En introduisant un nommage hiérarchique et la notion
de domaine (chaque nœud de la hiérarchie peut être un
domaine ou sous-domaine de nommage).
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 29
Avantages du DNS
Gestion simplifiée du nommage (nommage
hiérarchique);
Délégation et répartition des responsabilités;
Duplication possible de la base (notion de serveur maître
ou primaire et de serveur secondaire);
Les mise à jour se font uniquement sur le serveur maître
avec réplication automatique des données modifiées sur
le serveur secondaire ;
Indépendance vis-à-vis d’un constructeur, les resolvers
DNS sont, en principe, disponibles sur tous les
environnements TCP/IP.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 30
L’espace de nommage
Les noms sont organisés selon une structure arborescente
hiérarchique (arbre inversé) appelée espace de nommage.
La racine est au sommet, son nom de domaine est vide, elle
est symbolisée par un point (•).
Le nombre de niveaux est limité à 127.
Un nom ne peut dépasser 255 caractères et chaque niveau
est limité à 63 caractères.
La RFC 1032 préconise de limiter à 12 caractères le nom
attribué à chaque niveau (nœud).
Il n’y a pas de distinction entre minuscule et majuscule.
Des nœuds peuvent avoir des noms identiques s’ils sont
dans des domaines différents.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 31
Structure de l’espace de nommage
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 32
Dans le schéma de la structure de nommage ci-dessus, le
domaine éducation est un sous-domaine du domaine
gouv.
Les noms de domaine géographique (TLD, Top Level
Domain) sont, par délégation, attribués par des
organismes régionaux, en France : l’AFNIC (domaine fr).
C’est l’IANA qui attribue les noms de domaine.
Aucune signification n’est imposée aux noms de domaine
sauf pour le premier niveau.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 33
com : organisations commerciales, en principe possédant
des implantations sur plusieurs domaines géographiques;
edu : établissements d’enseignement;
gov : établissements gouvernementaux (USA, [Link]);
mil : organisations militaires américaines (USA, [Link]);
net : organisations du réseau Internet ([Link]);
org : organisations non commerciales et non
gouvernementales ([Link]);
int : organisations internationales ([Link]);
arpa : domaine réservé à la résolution de nom inversée;
fr, uk, us, sn : organisations nationales dont la
dénomination est limitée à 2 caractères.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 34
Une machine est désignée en indiquant l’arborescence
complète de son nom (FQDN, Fully Qualified Domain
Name).
NomHô[Link] = FQDN
[Link]
Exemples : [Link], [Link], [Link],
[Link], [Link]
Un domaine a toujours un domaine de nom (serveur
DNS).
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 35
Résolution de nom
Le client DNS ou solveur (resolver) est un programme de
type daemon. Sur sollicitation d’un programme
demandeur, il est chargé d’émettre les demandes et de
traduire les réponses.
Lors de la configuration d’une station IP, on lui fournit son
nom de domaine, l’adresse de son serveur local de noms et,
éventuellement, une liste ordonnée de serveurs de noms
(serveurs DNS).
Le client solveur interroge le serveur de noms local. Si la
recherche est infructueuse le serveur local interroge le
serveur de niveau supérieur (recherche récursive) ou le
client interroge lui-même d’autres serveurs (requête
itérative).
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 36
Illustration du principe de la résolution de nom
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 37
Fonctionnement du Resolver
Lorsque le programme d’application formule une
demande, le resolver interroge son cache, si la
correspondance Nom/@IP y est déjà enregistrée, il fournit
directement la réponse au programme demandeur.
Sinon, il émet une requête au serveur DNS. Celui-ci résout
la demande, directement ou par requêtes itératives ou
récursives.
Le solveur analyse la réponse, met à jour son cache et
fournit la réponse au demandeur.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 38
La résolution inverse
A l’instar de la résolution d’adresses (RARP), la
résolution de noms inverse permet d’obtenir, à partir de
l’adresse IP, le nom de la machine.
Le domaine arpa (son sous-domaine in-addr), a été
prévu à cet effet.
L’arbre inverse considère l’adresse comme un nom : par
exemple l’adresse IP suivante ([Link]) est traduite
par [Link].[Link].
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 39
La résolution inverse (suite)
A chaque octet de l’adresse IP correspond un nœud de
l’arbre.
Chaque sous-domaine ainsi défini comporte 256 sous-
domaines.
Le 4e niveau correspond au nom du serveur connaissant
le nom de domaine associé à cette adresse.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 40
Exemple de fonctionnement de la résolution DNS
Soit le schéma suivant :
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 41
Si on tape [Link], la machine [Link]
(où on est) consulte son fichier host (/etc/hosts) pour
établir une correspondance.
S’il ne voit pas ce fichier, il va consulter son serveur DNS
([Link]). Il demande à ce serveur, change moi le nom
[Link] par une adresse IP.
Le serveur DNS, [Link] se pose la question, est ce
que c’est lui qui gère le domaine [Link]?
On voit ici, qu’il ne gère pas le domaine [Link].
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 42
Ainsi, il s’adresse au serveur de sa racine (domaine .sn)
en lui posant les questions : est ce que tu connais
[Link]? Est-ce que tu as une machine que tu as
nommée mail?
Comme, il reste un seul point, il sait que c’est un nom
d’hôte, ainsi le serveur de la racine répond en donnant
l’adresse IP de [Link].
NB : la résolution des noms se lit de la droite vers la
gauche.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 43
Remarque
Un serveur DNS doit avoir la liste de tous les serveurs de
la racine. Cette liste est appelée fichier cache.
Un serveur DNS doit aussi avoir le fichier de
résolution directe (fichier de correspondance entre
chaque nom de domaine et chaque adresse IP).
Un serveur DNS doit avoir un fichier de résolution
inverse (correspondance @IP-noms de domaine), mais
ce dernier fichier n’est pas obligatoire.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 44
Les types d’enregistrements
Une information stockée sur un serveur DNS est appelée
enregistrement.
L’enregistrement INA :
Il permet de faire la résolution directe.
Exemple : [Link] INA [Link]
L’enregistrement IN MX :
Exemple : [Link] IN MX 1 [Link]
Signifie que, [Link] est un serveur de messagerie du
domaine [Link] avec la priorité 1.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 45
L’enregistrement IN PTR :
Cet enregistrement permet de faire la résolution inverse.
Exemple : [Link]. IN [Link] IN PTR [Link]
Ici, on inverse l’adresse IP.
Le fichier de résolution inverse a sa racine qui s’appelle
arpa, c’est pourquoi l’adresse se termine par .arpa
L’enregistrement IN SOA (Start of Authority) :
Cet enregistrement dit au serveur DNS sur quel domaine il
autorité.
En d’autre terme, quelles sont les machines qu’il gère dans
son domaine.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 46
DNS primaire et DNS secondaire
Le serveur DNS primaire d’une zone est la source des
informations relatives à cette zone.
Il possède la base de donnée maître.
Il contient les informations à partir d’un fichier de donnée
où l’on effectue les mises à jour.
Il a l’origine de l’autorité (SOA).
Un serveur DNS secondaire est une réplication du serveur
DNS primaire.
Ce serveur obtient les informations relatives à la zone
automatiquement depuis un serveur primaire ou un autre
serveur secondaire.
Il a également l’autorité sur cette zone.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 47
Les cinq informations suivantes permettent au serveur
secondaire de savoir son comportement vis-à-vis du
serveur principal.
Ce serveur secondaire doit avoir une copie des
informations (enregistrements) du serveur principal.
Il faut qu’il ait une indication qui lui permet de savoir si
les mises à jour sont effectuées sur le serveur principal
pour pouvoir prendre en compte ces modifications.
C’est le numéro de série (serial) qui est cet indicateur.
Numéro de série = sérial.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 48
La durée de rafraichissement, est le temps que le
serveur secondaire doit rester pour savoir si le numéro de
série a changé.
Durée de rafraichissement = refresh.
Il peut arriver que le serveur secondaire s’adresse au
serveur principal et ne trouve pas ce dernier. Dans ce cas,
il doit attendre un instant pour réessayer. Ce temps est la
durée de réessaie = retry.
Durée minimale de validité d’information = TTL.
C’est la durée que le serveur secondaire doit considérer
que les informations qu’il détienne sont valides.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 49
Si le serveur secondaire tente plusieurs fois et ne trouve
pas le serveur principal, il va considérer que ce dernier est
mort. Ce temps est la durée d’expiration.
Durée d’expiration = expire.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 50
Configuration de DNS
On peut installer bind9 (serveur DNS sous Linux) avec la
commande :
sudo apt -get install bind9
Les fichiers de configuration de bind9 se trouvent dans le
répertoire /etc/bind9/. On y trouve notamment le fichier
[Link] qui contient les adresses IP des serveurs DNS
racines et le fichier [Link] qui est le fichier de
configuration principal du DNS.
Le répertoire /var/cache/bind9/ est destiné à accueillir les
fichiers de zone pour la configuration d’un DNS primaire ou
secondaire.
Pour arrêter le serveur, lancer /etc/init.d/bind9 stop
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 51
Configuration du serveur primaire
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 52
Fichier [Link]
zone "nom_de_domaine" {
type master;
notify yes;
file "/etc/bind/[Link]";
forwarders {};
};
zone "[Link]" {
type master;
notify yes;
file "/etc/bind/[Link]";
forwarders {};
};
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 53
Sur le serveur principal, il faut autoriser Bind9 à
transférer les données vers le serveur secondaire en
ajoutant la ligne suivante dans «[Link]»:
allow-transfer {@IP_serveur_secondaire;};
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 54
Les fichiers de zone
Comme annoncer dans le fichier «[Link]»,
nous avons un fichier par zone.
Les fichiers zones contiennent toutes les entrées
comme une table de traduction pour les noms des
machines d'une même zone.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 55
Résolution directe
BIND reverse data file for broadcast zone;
$TTL 604800
@ IN SOA [Link]. [Link]. (
1 ; Serial
6H ; Refresh
86400 ; Retry, temps entre de essais
2419200 ; Expire
604800 ) ; Negative Cache TTL
NS [Link].
NS [Link].
MX 10 [Link].
MX 80 [Link].
ns3 A @IP de ns3 ;(c’est une adresse fective utilisée pour les tests)
ns1 A @IPde ns1
ns2 A @IP de ns2
mail A @IP de mail
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 56
Résolution inverse
BIND reverse data file for broadcast zone;
;$TTL 604800
@ IN SOA [Link]. [Link]. (
1 ; Serial
6H ; Refresh
86400 ; Retry, temps entre de essais
2419200 ; Expire
604800 ) ; Negative Cache TTL
NS ns1. [Link].
NS ns2. [Link].
MX 10 ns3. [Link].
MX 80 mail. [Link].
ID_Host IN PTR [Link].
ID IN PTR Serveur_secondaire
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 57
Configuration du serveur secondaire
Dans le cas de serveurs secondaires, l'enregistrement nécessaire à la mise en place des informations est du
type.
Ces informations doivent être déclarées dans le fichier [Link].
zone "nom_de_domaine" {
type slave;
file "nom_de_fichier"; #il suffit seulement de le déclarer. Ne pas le créer
masters {@IP_serveur_principal;};
};
zone "nom_de_domaine_arpa" {
type slave;
file "nom_de_fichier_autre";
masters { @IP_serveur_principal;};
};
Le nom des zones doit correspondre exactement aux zones définies sur le serveur principal.
L’adresse IP du serveur principal est indiqué à la ligne « masters ».
Sur le serveur secondaire, il faut l’autoriser à s’envoyer des notifications pour éviter d’avoir des messages
d’erreurs dans les logs. Pour cela, il faut ajouter cette ligne dans le fichier
«/etc/bind/[Link]» : allow-notify {@IP_serveur_secondaire;};
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 58
Le deamon named
Pour répondre aux requêtes DNS, il faut un daemon qui
écoute sur un port.
Dans le package BIND, il se nomme named.
Le daemon named envoie les messages d’erreur et de
débogage dans /var/tmp/[Link].
Il est indispensable de garder toujours un œil sur ce
fichier : se loguer sur le terminal et lancer la commande :
tail –f /var/tmp/[Link].
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 59
Le service de messagerie
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 60
Architecture générale du service de messagerie
Serveur de Serveur de
messagerie messagerie
[Link] [Link]
Machine 5
[Link]
lamine@[Link]
dahirou.@[Link]
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 61
Serveur de messagerie et client de messagerie
Le serveur de messagerie permet de sauvegarder et de
rapatrier les mails reçus sur votre client mail (client de
messagerie) préféré.
Exemples : POP, IMAP, uw-IMAPD, Cyrus-IMAP,
Dovecot, etc.
Le client de messagerie permet de gérer l’envoie et la
réception des mails.
Exemples : Webmail, Sendmail, Postfix, Exchange,
ImailServer, etc.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 62
Un logiciel Webmail est un client de messagerie qui
s’exécute sur un serveur Web.
Il sert d’interface entre un serveur de messagerie et un
navigateur Web contrairement à un client lourd qui
permet les mêmes fonctionnalités à partir d’un logiciel
installé localement sur l’ordinateur personnel.
Exemple de Webmail : squirelmail, gmail, yahoo mail,
hotmail, windows live,etc.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 63
Pré-requis pour configurer un serveur de
messagerie
Pour configurer un serveur de messagerie, il faut :
Un serveur de messagerie (IMAP, POP,….);
Un client de messagerie (Postfix, Webmail,…);
Un nom de domaine pour pouvoir vous identifier sur le
web;
Un nom de domaine avec les entrées MX configurées
afin de pouvoir recevoir les mails sur
login@Nomdedomaine;
Mailutils, qui est un ensemble de petits outils GNU pour
la gestion des mails par la console.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 64
Pour configurer un serveur de messagerie, il faut également :
Pour l’envoie :
Indiquer l’adresse du serveur SMTP;
Pour la réception :
Quel protocole il faut utiliser (POP ou IMAP);
L’adresse de la machine qui utilise ce protocole;
Nom d’utilisateur;
Mot de passe.
Pour simplifier cette architecture, on peut installer le
Webmail qui est un client de messagerie sur le serveur.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 65
Exemple de mise en place d’un serveur de
messagerie sous Linux
Installation de mailutils :
sudo apt –get install mailutils
Intallation des paquets postfix et courier-imap :
sudo apt –get install postfix courier-imap
Répondre aux questions, puis renseigner votre nom de
domaine.
NB : Si Sendmail est déjà installer sur la machine, il sera
désinstaller automatiquement et remplacer par postfix.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 66
Pour appliquer les changements et redémarrer Postfix et
IMAP, on procède comme suit :
sudo /etc/init.d/postfix restart
sudo /etc/init.d/courier-imap restart
sudo /etc/init.d/courier-authdaemon restart
Enfin, on peut tester la réception du mail en interne,
c’est-à-dire à partir de localhost :
mail dahirou@nomdomaine
<Corps du mail>
Entre chaque question, on appuie sur [Entrée]
Après, on tape [Entrée], puis [CTRL] + [D] et le mail est
envoyé.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 67
Les serveurs Web
Apache : 70% du web (Windows et linux);
IIS (Internet Information Service) (Windows).
Apache est le serveur Web le plus utilisé actuellement.
Il joue les rôles de serveur Web et serveur de Proxy.
Apache2 est actuellement la version de serveur apache la
plus utilisée.
Pour installer apche2 sous Linux (Ubuntu), on peut taper
la commande suivante :
sudo apt –get install apache2
Après avoir installer apache2, on peut sécuriser le serveur
en utilisant OpenSSL (Open Socket Secure Layer).
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 68
Site Web
Un site web est un ensemble de fichiers qui ont des liens.
C’est le protocole HTTP est qui utilisé.
On peut aussi utiliser HTTPS qui est la version sécurisée
du protocole HTTP.
Pour mettre en place un site web, il faut des document sous
format web (HTML, PHP, ASP, JSP Servlet, etc.) et page
d’accueil;
Un site Web peut être statique (page web statique,
exemple HTML) ou dynamique (exemple, page web en
PHP).
Après avoir mis en place un site Web, il faut l’héberger
dans un serveur Web et le référencer dans les moteurs de
recherches (exemple google, yahoo, etc.).
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 69
Type d’hébergement
Site principal :
C’est le site dont le contenu se trouve directement dans le
document root;
Accès : [Link] du serveur
Site par dossier :
Le contenu du site se trouve dans un dossier qui se trouve
dans le document root;
Accès : [Link] du serveur/Nom du dossier
Site virtuel :
Fonctionne comme un site appart, il a son propre
document root, son propre nom et dépend du serveur Web
utilisé.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 70
Les Proxy Web
Un serveur de proxy, encore appelé serveur
mandataire est une machine jouant le rôle
d’intermédiaire entre les ordinateurs d’un réseau local et
l’Internet.
Le plupart du temps le serveur de proxy est utilisé pour le
web, il s’agit d’un proxy HTTP.
Il permet ainsi de gérer l’accès à Internet aux utilisateurs
d’un réseau local en fonction des heures d’accès, des ports
de destination d’un service, des adresses IP, etc.
Il permet aussi de mettre en cache les sites web les plus
visités afin d’accélérer les réponses web.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 71
Pourquoi un serveur de proxy?
Tout ordinateur connecté sur un réseau est susceptible
d’attaque malveillante.
Ainsi pour une protection globale du réseau, il peut
être nécessaire de mettre en place un serveur de proxy.
Pour offrir d’autres fonctionnalités telles que de la
mémoire cache afin d’accélérer les requêtes web, la
journalisations des requêtes, on peut aussi mettre en
place un serveur de proxy.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 72
Fonctionnement d’un proxy
Le principe de fonctionnement basique d’un serveur de proxy
est assez simple :
Il s’agit d’un serveur mandaté par une application pour
effectuer une requête sur Internet à sa place.
Ainsi, lorsqu’un utilisateur se connecte sur Internet à l’aide
d’une application cliente installée configurée pour utiliser un
serveur de proxy, celle-ci va se connecter en premier lieu sur le
serveur de proxy et lui donner sa requête.
Le serveur de proxy va alors se connecter au serveur que
l’application cliente cherche à joindre et lui transmettre la
requête.
En fin, le serveur de va récupérer la réponse du serveur web et
va la transmettre à l’application cliente.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 73
Les types de serveurs de proxy
Apache2 (proxy HTTP) : joue les rôles de serveurs web
et de serveur de proxy;
Free proxy : serveur de proxy open source dont l’objectif
est la protection des informations personnelles des
utilisateurs;
JanusVM : serveur permettant une navigation anonyme
et sécurisée sur le web;
Squid : proxy open source le plus utilisé;
Tcpcatcher : serveur de proxy TCP et HTTP gratuit à but
lucratif;
Varnish : serveur de proxy simple et efficace;
…
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 74
Proxy Squid
Squid est un proxy-cache le plus utilisé du fait de sa
compatibilité avec de nombreux standards et son
implémentation de protocoles de gestion des caches
hiérarchiques et de partage de charge (HTTP,…).
Squid est un logiciel libre et distribué selon les termes de
la licence GNU.
Il est compatible avec IPv6 à partir de la version 3;
Il conserve aussi en mémoire les requêtes DNS;
Les requêtes mémorisées peuvent être rangées en
hiérarchies ou en maille afin d’utiliser moins de bande
passante.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 75
Rôles du proxy Squid
Enregistrement des pages web dans une mémoire cache
afin d’accélérer les requêtes;
Traçage des requêtes afin de faire une journalisation;
Filtrage des requêtes des clients;
Restriction des accès à Internet;
Authentification des clients (sécurité);
Réécriture des requêtes vers l’Internet.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 76
Exemple d’installation de Squid
Avant de commencer l’installation, on peut télécharger la
dernière version de Squid sur le lien suivant :
[Link]
Si on travaille sous Ubuntu, et pour des problèmes de
comptabilités avec le système, on peut choisir la version
stable [Link].
Après, on peut décompresser le fichier (ici, on le
décompresse et le place dans le répertoire /usr/local/src)
par la commande suivante :
tar –zxvf [Link] –directory
=/usr/local/src.
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 77
On obtient ainsi le répertoire : /usr/local/src/squid-
2.7.STABLE7.
On peut maintenant compiler squid. Pour cela, on se place
d’abord dans le répertoire où se trouve le fichier par la
commande :
#cd /usr/local/src/squid-2.7.STABLE7
On passe ensuite à la compilation par la commande :
#./configure --prefix=/usr/local/src/squid-
2.7.STABLE7 --enable-err-language=french
Ensuite, si tout va bien, on peut passer à l’installation par
les commandes suivantes :
#make all
#make install
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 78
TPs
1. Mise en place d’un serveur DHCP (sous Linux et
Cisco)
2. Mise en place d’un service DNS sous Linux
3. Mise en place d’un système de messagerie sous Linux
4. Mise en place de services web (site web, proxy web)
06/01/2024 Cours de Services Réseaux-UAM-Pr-Amadou-Dahirou-GUEYE 79