Administrer un
environnement Linux
1
Formateur : DRAOUI Hassan
Services de base :
paramètres réseau, routage, DHCP, Agent de
relais DHCP, DNS et gestion des processus et
services
2
Formateur : DRAOUI Hassan
INTRODUCTION
Formateur DRAOUI Hassan 3
I-Définitions
• Service informatique : Est un programme en
cours d’exécution (processus) qui fournit une
fonctionnalité au système d’exploitation.
• Service réseau : Est un service informatique
qui fournit une fonctionnalité aux clients à
travers un réseau (=serveur logique).
• Serveur physique : Est un ordinateur qui
héberge un service réseau.
Formateur DRAOUI Hassan 4
Comparaison entre un client et un serveur
• Software : Système d’exploitation serveur : Est
un système d’exploitation qui est optimisé pour
répondre efficacement aux requêtes des clients
par réseau.
• Hardware :
– Les mêmes composants (CPU,RAM,HDD..)
avec des performances élevées et du matériel
plus robuste
– Autres composants : système RAID, Onduleur
…
Formateur DRAOUI Hassan 5
Architecture de virtualisation :
Hyperviseur sur OS
Hyperviseur en tant que OS
Formateur DRAOUI Hassan 6
II-Utilisation de la virtualisation (Vmware)
1- Installation d’un OS sous Vmware :
• Choix de la configuration matérielle : RAM,DD, …
• Choix du support d’installation :
– Image de l’OS de type ISO
– Utilisation du CD-ROM physique
• Installation de l’outil Vmware-tools :
– Permet le partage de fichiers entre la MV et la machine réelle
– Installation des pilotes …..
• Création de snapshot :
– pour l’enregistrement (sauvegarde) d’une VM dans un état donné
– On peut utiliser plusieurs snapshots pour la même VM
• Sauvegarde d’une copie de la VM :
– Pour l’utiliser comme une VM à tout moment sans recourir à une
nouvelle installation
– L’opération de sauvegarde doit se faire lorsque la VM est arrêtée
2- Démonstrations : Formateur DRAOUI Hassan 7
CHAPITRE I:
Configuration réseau manuelle
Formateur DRAOUI Hassan 8
I-Configuration réseau manuelle
1- Attribution d’une adresse réseau sous CentOS:
Méthode 1 : graphiquement
Méthode 2 : Par la commande ifconfig
#ifconfig ethX [Link]/24 up
ou
#ifconfig ethX [Link] netmask [Link] up
NB : ethX est le nom de la carte réseau obtenu en tapant la commande :
« $ifconfig -a »
Formateur DRAOUI Hassan 9
Méthode 3 (recommandée) : Par un fichier de configuration :
Créer ou modifier le fichier comme suit :
#vim /etc/sysconfig/network-scripts/ifcfg-ethX
|----- i -------------------------------------
| DEVICE=ethX
| IPADDR=[Link]
| NETMASK=[Link]
| ESC :wq ------------------------
Redémarrer le service réseau :
#service network restart
et/ou
#service NetworkManager restart
Formateur DRAOUI Hassan 10
Application 1 : Réalisation d’une maquette simple sous Vmware:
1) Préparer deux VM CentOS
2) Connecter les deux VM au commutateur virtuelle VMnet2
3) Donner les adresse IP selon la maquette
4) Tester la connectivité entre les VMs en utilisant l’outil PING
Formateur DRAOUI Hassan 11
2- Changer le nom d’une machine sous CentOS:
• Méthode 1: par commande
– #hostname nouveau_nom
• Méthode 2: par fichier
– modifier le fichier suivant comme suit :
#vim /etc/sysconfig/network
| HOSTNAME=nouveau_nom
– Redémarrer le service NetworkManager :
#service NetworkManager restart
NB : Le nouveau nom n’apparaitra qu’à l’ouverture d’un nouveau
terminal
Formateur DRAOUI Hassan 12
3- Configurer les paramètres du client DNS et test du serveur DNS:
A- Configuration des paramètres du client DNS
• Méthode 1:
#vim /etc/[Link]
| nameserver [Link]
| nameserver [Link]
| domain [Link]
| search [Link]
• Méthode 2:
– Créer ou modifier le fichier comme suit :
#vim /etc/sysconfig/network-scripts/ifcfg-ethX
| DNS1=[Link]
| DNS2=[Link]
| DOMAIN=[Link]
– Redémarrer le service réseau : 13
Formateur DRAOUI Hassan
B- Test à partir du client DNS vers le serveur DNS :
- Si le fichier /etc/[Link] est bien configuré
• nslookup [Link]
• dig [Link]
• host [Link]
- Sinon (Si le fichier /etc/[Link] n’est pas bien configuré) :
• nslookup [Link] [ adresse_serveur_DNS ]
nslookup [Link] [Link]
Formateur DRAOUI Hassan 14
4- Configuration de la passerelle sous CentOS:
• Méthode 1 : graphiquement
• Méthode 2 : Par la commande route
– #route add default gw [Link]
• Méthode 3 : Par le fichier de configuration du réseau global
– Modifier le fichier comme suit :
#vim /etc/sysconfig/network
| GATEWAY=[Link]
– Redémarrer le service réseau
• Méthode 4: Par un fichier de configuration d’une carte réseau :
– Créer ou modifier le fichier comme suit :
#vim /etc/sysconfig/network-scripts/ifcfg-ethX
| GATEWAY=[Link]
– Redémarrer le service réseau
Formateur DRAOUI Hassan 15
5- Procédure d’enregistrement du travail sous CentOS:
• Utilisation du commande script :
– $su
– #script nom_de_script_à_enregistrer
– ……..
– #exit (ou Ctl+D)
• Copie des fichiers de configuration :
#cp chemin_du_fichier chemin_de_destination
Exemples :
#cp nom_de_script_à_enregistrer /home/hassan/Bureau
#cp /etc/sysconfig/network-scripts/ifcfg-eth2 /home/hassan/Bureau
#cp /etc/sysconfig/network /home/hassan/Bureau
#cp /etc/[Link] /home/hassan/Bureau
#chmod 0777 /home/hassan/Bureau/*
• Copier tous ces fichiers dans un dossier portant votre nom
complet et la variante
Formateur DRAOUI Hassan 16
6- Résumé :
#vim /etc/sysconfig/network
HOSTNAME=machine1
#ifconfig -a
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
IPADDR=[Link]
NETMASK=[Link]
DNS1=[Link]
DNS2=[Link]
DOMAIN=[Link]
ONBOOT=yes
DHCP_HOSTNAME=machine1
#service NetworkManager restart
#service network restart Formateur DRAOUI Hassan 17
Application 2 : TP réseau de base et récupération des fichiers
Soit une machine virtuelle CentOS.
En enregistrant l’activité du shell par la commande « script » sur un
fichier appelé [Link] (votre-nom à remplacer par votre nom de
famille , par exemple [Link]) répondez aux questions suivantes :
1) Renommer la machine en votre nom (2 méthodes)
2) Attribuer à la machine une adresse IP (2 méthodes)
3) Donner à la machine une passerelle par défaut (2 méthodes)
4) Donner à la machine l’adresse du serveur DNS de Google [Link] (2
méthodes)
Formateur DRAOUI Hassan 18
II-Vérification des paramètres réseau
• Vérification d’adresse IP :
– $ifconfig -a
– $ping
• Vérification du nom de la machine :
– $hostname
• Vérification du client DNS :
– $cat /etc/[Link]
– Outils de test : nslookup, host et dig
• Vérification de la passerelle par défaut :
– $route -n
– $ping Adresse_Passerelle
Formateur DRAOUI Hassan 19
Exercice TP 0 : Paramétrage manuel de base
Soit le réseau suivant :
Configurer la machine Admin avec tous les paramètres en se basant sur
la maquette ci-dessus en testant chaque configuration (Nom, Adresse
IP/Masque, Passerelle par défaut , Adresses des serveurs DNS et
Nom de domaine DNS) Formateur DRAOUI Hassan 20
III-CentOS 7 et 8
1. CentOS 7.7
Installation des packages :
#yum repolist
#yum -y install dhcp bind nfs-utils samba vsftpd \
xinetd telnet-server openssh-server openldap openldap-clients \
openldap-servers httpd mod_ssl postfix dovecot qemu-kvm \
libvirt-client virt-manager
Remarques :
Manque : dhcp-devel
nouveaux : qemu-kvm (HyperViseur) libvirt-client (virsh) virt-manager
(GUI)
Formateur DRAOUI Hassan 21
2. CentOS 8.1
Installation des packages :
#yum repolist
#yum -y install dhcp-server dhcp-relay bind nfs-utils samba vsftpd \
xinetd telnet-server openssh-server openldap openldap-clients \
httpd mod_ssl postfix dovecot qemu-kvm libvirt-client \
virt-manager
Remarques :
Remplacement : dhcp-relay au lieu de dhcp-devel
Manque : openldap-servers (alternatifs: 389-ds/FreeIPA)
Formateur DRAOUI Hassan 22
3. Modifications majeures
Gestion des services et démarrage des services avec le système :
# systemctl {start, restart, status, stop, enable, disable....} nom_service
Désactiver le pare-feu d’une manière permanente :
# systemctl stop firewalld
# systemctl disable firewalld
Gestion des paramètres réseau :
Nouvels outils : nmcli, nmtui, nmgui …
Formateur DRAOUI Hassan 23
CHAPITRE II:
Configuration réseau
dynamiquement
par le service DHCP
Formateur DRAOUI Hassan 24
I-Configuration du serveur DHCP
1. Donner au serveur une adresse IP manuel ( appartenant au réseau local )
2. Installer le package dhcp
#rpm -ivh chemin_du_package_dhcp
Exemple
#rpm -ivh /home/hassan/Bureau/Packages/dhcp-4….. (Appuyer sur TAB)
3. Modifier le fichier de configuration du service DHCP /etc/dhcp/[Link]
#vim /etc/dhcp/[Link]
option domain-name-servers [Link],[Link] ; #Serveurs DNS globale
option domain-name "[Link]"; #Domaine DNS globale
subnet [Link] netmask [Link] { #Le réseau [Link]/24
option routers [Link] ; #Passerelle du réseau [Link]
range [Link] [Link] ; #Adresses qui seront distribués
}
4. (Re)Démarrer le service DHCP
25
#service dhcpd start (ou #service dhcpd restart) Formateur DRAOUI Hassan
NB:
Vous pouvez lancez votre serveur dhcpd en mode déboggage pour trouver les erreurs
#dhcpd -d (vérifier d’abord que le service dhcpd est arrêté #service dhcpd stop )
Formateur DRAOUI Hassan 26
II-Configuration du client DHCP
Méthode 1 : graphiquement
Méthode 2:
#dhclient ethx
Méthode 3 :
#vim /etc/sysconfig/network-scripts/ifcfg-ethx
DEVICE=ethx
BOOTPROTO=dhcp
ONBOOT=YES
#service network restart (ou #service NetworkManager restart)
Formateur DRAOUI Hassan 27
III-Réservation d’une adresse IP
1. Obtention de l’adresse MAC du client
$ifconfig -a (Linux)
/>ipconfig /all (Windows)
[Link] le fichier de configuration du service DHCP pour ajouter la
réservation :
#vim /etc/dhcp/[Link]
…………………………
host Nom_Client {
hardware ethernet [Link];
fixed-address [Link];
}
3. Redémarrer le service DHCP #service dhcpd restart
Remarques importantes:
Pour libérer (retourner) une adresse IP déjà obtenu dynamiquement :
-Sous Linux : $dhclient -r ethX
-Sous Windows: />ipconfig /release
Pour renouvelez l’adresse IP pour la machine
-Sous Linux : $dhclient -r ethX puis $dhclient ethX 28
-Sous Windows : />ipconfig /renew Formateur DRAOUI Hassan
Exercice TP 1 : Serveur DHCP avec réservation
En supposant que le nom du domaine DNS est [Link] et en utilisant le
serveur DNS de GOOGLE ([Link]) répondez aux questions suivantes :
1. Configurer sur le serveur DHCP l’adresse, le nom, la passerelle et le client
DNS par commandes et par fichiers.
2. En utilisant les informations ci-dessus configurer le service DHCP sur
ServeurDHCP
3. Réserver à la machine Client-1 l’adresse IP suivante : [Link]
4. Tester le service DHCP 29
Formateur DRAOUI Hassan
Exemple du fichier /etc/dhcp/[Link]
# c’est un commentaire
subnet [Link] netmask [Link] {
range [Link] [Link];
option domain-name-servers [Link];
option domain-name "[Link]";
option routers [Link];
option broadcast-address [Link];
option subnet-mask [Link];
default-lease-time 600;
max-lease-time 7200;
}
Les explications :
•La première ligne, c’est un commentaire (non pris en considération par le service DHCP).
•La seconde ligne, on indique le réseau ainsi que le masque de réseau.
•La troisième ligne, on indique la plage d’adresses IP à donner aux clients DHCP.
•La quatrième ligne, on indique le DNS (ici DNS publique de Google).
•La cinquième ligne, on indique le nom de notre domaine.
•La sixième ligne, on indique l’adresse de la passerelle.
•La septième ligne, on indique l’adresse diffusion du réseau.
•La huitième ligne, on indique l’adresse réseau du réseau.
•Et enfin les 2 dernières lignes, sont pour le bail. On indique le bail par défaut et le bail
maximum. Ce bail est exprimé en secondes. Formateur DRAOUI Hassan 30
VI-Agent de relai DHCP Formateur DRAOUI Hassan
1- Pourquoi utiliser un agent de relai DHCP
Par construction le service DHCP utilise des requêtes de diffusions
(broadcast) alors que les routeurs bloquent les diffusions par défaut.
La solution consiste donc à utiliser un petit service appelé agent de relai
DHCP (dans le réseau local des clients) qui transforme les diffusions en
monodiffusions (voir CCNA2).
2- Configuration d’agent de relai DHCP
1. Installer le package dhcp-devel
2. Adapter le fichier de configuration :
#vim /etc/sysconfig/dhcrelay
DHCPSERVERS= "Adresse_Serveur_DHCP"
3. Démarrer le service dhcrelay
NB: Si vous voulez indiquer l'interface d‘écoute il faut indiquer au moins
les deux interfaces qui recevront les requêtes des clients et les
réponses du serveur (INTERFACES="eth0 eth1")
31
Remarque importante:
Il faut configurer la carte qui va recevoir les requêtes de l’agent de relai
DHCP en tant que carte d’écoute des requêtes DHCP sur le serveur
DHCP :
#vim /etc/dhcp/[Link]
subnet [Link] netmask [Link] { }
#service dhcpd restart
NB : [Link]/24 est l’adresse IP de carte réseau du coté de l’agent de
relai DHCP (qui reçoit les requêtes DHCP monodiffusions provenant de
l’agent de relai DHCP)
Formateur DRAOUI Hassan 32
Exemple :
#vim /etc/dhcp/[Link]
………………..
subnet [Link] netmask [Link] {}
#service dhcpd restart
Question de recherche : Quel est le rôle :
- Du dossier /var/lib/dhclient/ Formateur DRAOUI Hassan 33
- Du fichier /var/lib/dhcpd/[Link]
CHAPITRE III:
Routage sous Linux
Formateur DRAOUI Hassan 34
Pour configurer le routage sous Linux (CentOS) il faut passer par deux étapes :
1- Activer le routage (forwarding) :
Méthode 1: #echo 1 > /proc/sys/net/ipv4/ip_forward
Méthode 2: Pour une activation permanente
#vim /etc/[Link]
net.ipv4.ip_forward = 1
#reboot
2- Ajouter les routes
#route add -net Adresse_réseau gw Tronçon_suivant
Exemples :
#route add -net [Link]/8 gw [Link]
#route add -net [Link] netmask [Link] gw [Link]
Remarques :
-Pour ajouter une route vers une machine unique : remplacer –net par –host
-Pour supprimer une route : remplacer add par del
-Pour ajouter une route par défaut : remplacer "-net [Link]/0" par default
-Pour configurer une autre adresse IP pour la carte réseau eth0 par exemple ;
#ifconfig eth0:N Réseau/Masque up
Avec N entier positif
Formateur DRAOUI Hassan 35
-Pour afficher les routes :#route (ou #route -n)
Exercice TP 2 : Routage
1- Réaliser la maquette sous Vmware (Ajouter les cartes réseaux et les
connecter aux switchs virtuels Vmnet2, Vmnet3, Vmnet4 et Vmnet5)
2- Configurer les adresses IP sur R1, R2 et R3 et tester la connectivité
entre chaque deux machines du même réseau (interchanger les cartes en
cas de problème)
3- Configurer l’adresse et la passerelle pour PC1 et PC2
4- Configurer le routage sur R1, R2 et R3
5- Tester la connectivité entre PC1 et PC2
NB :
Changer les adresses MAC sur les routeurs R1, R2 et R3 pour éviter les problèmes de
ressemblances de ces adresses Formateur DRAOUI Hassan 36
Solution Vidéo :
Routage
Formateur DRAOUI Hassan 37
Exercice TP de Transfert 1 : DHCP+Relai+Routage
1- Réaliser la maquette sous Vmware (Ajouter les cartes réseaux et les
connecter aux switchs virtuels Vmnet2, Vmnet3 et Vmnet4)
2- Configurer les noms, les adresses IP sur Routeur1 et Routeur2 et tester
la connectivité entre ces deux machines (interchanger les cartes en cas de problème)
3- Configurer le service DHCP sur Routeur1 pour les deux réseaux
locaux (Vmnet2 et Vmnet4)
4- Configurer l’agent de relai DHCP sur Routeur2
Formateur DRAOUI Hassan 38
5- Configurer le routage sur Routeur1 et Routeur2
6- Tester l’obtention des adresses IP dynamiquement par les deux clients
Solution Vidéo :
DHCP_Relai_Routage
Formateur DRAOUI Hassan 39
CHAPITRE IV:
Concepts et configuration du
service DNS
Formateur DRAOUI Hassan 40
I- Introduction au système DNS
Définitions
- Système DNS :
DNS (Domain Name System) est une base de données distribuée hiérarchisée qui contient les
mappages de noms d’hôtes DNS à des adresses IP (et l’inverse) .
Le système DNS permet aussi de localiser un service donné dans un domaine donné.
Exemples de mappages (voir la page suivante) :
- Mappage direct : [Link]. [Link]
- Mappage inverse : [Link] [Link].
- Localisation d’un service : Serveur MAIL de [Link] [Link].
Remarques importantes :
Le domaine racine contient tous les adresses IP des serveurs DNS de tous les domaines de
niveau supérieur
Chaque domaine contient tous les adresses IP des serveurs DNS de tous ses domaines enfant
(par exemple: le domaine (ma) contient tous les adresses IP des serveurs DNS de tous les
domaines qui s’écrivent sous la forme (*.ma))
Autres définitions :
- Il permet de repérer des ordinateurs et des services en utilisant des noms alphanumériques
faciles à retenir.
- DNS permet également de découvrir des services réseau comme des serveurs de messagerie et
41
des contrôleurs de domaine dans le service d’annuaire Active Directory. Formateur DRAOUI Hassan
Hiérarchie du système DNS :
Domaine racine
Domaine de
niveau supérieur net ma com
(TLD)
Domaine de
google
second niveau ofppt
mx1
Plusieurs niveaux
sud
Sous-domaines
nord pc1 pc2
FQDN de pc1 : [Link].
FQDN de pc2 : [Link].
Formateur DRAOUI Hassan 42
FQDN de mx1 : [Link].
- Un espace de noms DNS :
C’est le nom de domaine complet en prenant considération les domaines parents
jusqu’au domaine racine. (exemple : l’espace de nom du domaine sud est :
[Link].)
Définition 2 : L’espace de noms de domaine est une arborescence hiérarchisée de noms
utilisée par DNS pour identifier et trouver un hôte donné dans un domaine donné, par
rapport à la racine de l’arborescence.
Définition 3 : Un espace de noms DNS comprend le domaine racine, des domaines de
niveau supérieur, des domaines de niveau secondaire et (éventuellement) des sous
domaines.
- FQDN (Fully Qualified Domain Name / le nom de domaine pleinement qualifié ):
C’est le nom de l’hôte avec le nom de son domaine complet (Espace du noms)
auquel il appartient (exemple : le FQDN de pc1 est : [Link].)
Définition 2 : La combinaison de l’espace de noms DNS et du nom d’hôte constitue le
nom de domaine pleinement qualifié.
Définition 3 : Un nom de domaine pleinement qualifié FQDNest un nom de domaine
DNS qui a été défini de façon non ambiguë pour indiquer avec certitude son
emplacement dans l’arborescence de l’espace de noms de domaine
Formateur DRAOUI Hassan 43
Requêtes DNS :
Une requête est une demande de résolution de noms adressée à un serveur DNS.
Il existe deux type de requête DNS :
- Requête récursive
Une requête récursive est une requête envoyée à un serveur DNS dans laquelle le client
DNS demande au serveur de fournir une réponse complète (réponse faisant autorité).
- Requête itérative
Une requête itérative est une requête envoyée à un serveur DNS dans laquelle le client
DNS demande la meilleure réponse que peut fournir le serveur DNS sans faire appel à
d’autres serveurs DNS.
NB : Les requêtes sont émis par un client ou un autre serveur
Remarque importante:
-Requête récursive : toujours depuis un client vers un serveur
-Requête itérative : généralement depuis un serveur vers un autre serveur (sauf si ce
dernier est considéré comme un redirecteur pour le premier)
Formateur DRAOUI Hassan 44
Réponses DNS :
Les réponses DNS sont de deux types selon l’espace de nom du serveur :
• Un serveur DNS qui fait autorité pour l'espace de noms peut :
• Renvoyer l'adresse IP demandée (ou le nom ou bien le nom du serveur =
A/PTR/SRV-)
• Renvoyer un « Non » faisant autorité
• Un serveur DNS qui ne fait pas autorité pour l'espace de noms peut :
• Vérifier son cache
• Utiliser des redirecteurs
• Utiliser des indications de racine
Formateur DRAOUI Hassan 45
Un serveur DNS doit résoudre des noms de domaine DNS.
Serveur DNS
local
Requête itérative (RI):
Requête récursive (RR): ? IP de [Link]
? IP de [Link]
Demander au DNS de .ma (.)
[Link]
Client DNS
.ma
[Link]
Formateur DRAOUI Hassan 46
Les indications de racine (root hints)
Les indications de racine sont des enregistrements de ressources DNS stockés sur un
serveur DNS qui répertorient les adresses IP (et les nom) des serveurs racines du
système DNS (13 Noms / IP v4 ou v4+v6).
Les redirecteurs (forwarders)
Un redirecteur est un serveur DNS que d’autres serveurs DNS internes désignent
comme responsable du transfert des requêtes pour la résolution de noms de domaines
externes ou hors site.
La mise en cache du serveur DNS
La mise en cache est le processus qui consiste à stocker temporairement (TTL) dans un
sous-système de mémoire spécial des informations ayant fait l’objet d’un accès récent
pour y accéder plus rapidement ensuite.
Exercice 1:
Dessiner un schéma qui illustre la résolution d’un nom internet en supposant que toutes
les caches sont vides?
Formateur DRAOUI Hassan 47
Un redirecteur est un serveur DNS conçu pour résoudre des noms de domaine
DNS externes ou hors site
Serveur DNS Redirecteur
local Requête itérative (RI):
Requête récursive (RR): ? IP de [Link]
? IP de [Link]
Demander au DNS de .ma (.)
[Link]
.ma
LAN INTERNET [Link]
Client Formateur DRAOUI Hassan 48
Comment les machines connaissent-elles les adresses IPs de leurs destinations ?
Serveur racine :
-Base de données :
-Serveur DNS de (ma) :
Redirecteur: -Nom: [Link]
Serveur DNS Local : -Serveurs racines :
- Redirecteur : [Link] -Adresse: [Link]
-[Link] -…
-…
(.)
[Link]
Serveur DNS de (ma) :
[Link] -Base de données :
[Link] -Serveur DNS de ([Link]) :
-Nom: [Link].
-Adresse : [Link] .ma
-…
[Link]
Serveur DNS de ([Link]) :
-Base de données :
-www [Link]
-…
Client:
- Paramètres TCP/IP:
-… [Link]
-Serveur DNS 1 : [Link] [Link]
49
Formateur DRAOUI Hassan
[Link]
Etapes de résolution d’un nom en utilisant un redirecteur :
Le serveur DNS local vérifie d’abord sa mémoire cache et ses fichiers de zone avant de
transmettre la demande au redirecteur.
Le redirecteur commence alors à interroger d’autres serveurs de noms à l’aide de requêtes
itératives successives jusqu’à la réception d’une réponse complète.
Le serveur redirecteur répond au serveur DNS local qui à son tour répondra au client.
1. Le client DNS envoi une requête récursive au serveur DNS local.
2. Le serveur DNS local transmet la demande au redirecteur (requête récursive).
3. Le redirecteur envoie une requête itérative au serveur racine (13 noms/adresses )
4. Le serveur racine répond par une référence à un serveur DNS plus proche du nom de domaine
demandé (Serveur DNS de .ma).
Le processus continue jusqu’à ce que le redirecteur reçoive une réponse faisant autorité.
5. Le redirecteur envoie ensuite une requête itérative au serveur DNS plus proche du nom de
domaine demandé (Serveur DNS de .ma).
6. Le serveur DNS de .ma répond par une référence à un serveur DNS plus proche du nom de
domaine demandé (Serveur DNS de [Link])..
7. Le redirecteur envoie ensuite une requête itérative au serveur DNS plus proche du nom de
domaine demandé (Serveur DNS de [Link]).
8. Le serveur DNS de [Link] répond par une réponse faisant autorité (Adresse IP / Nom
inexistant).
9. Le redirecteur envoie la réponse au serveur DNS local
10. Le serveur DNS local transmet la réponse au client DNS. Formateur DRAOUI Hassan 50
Exercice 2 :
Dessiner un schéma qui illustre la résolution d’un nom internet [Link] en
présence d’un redirecteur en supposant que toutes les caches sont vides?
Exercice 3 :
Dessiner un schéma qui illustre la résolution d’un nom internet [Link] en
présence d’un redirecteur en supposant que toutes les caches sont vides?
Exercice 4:
Dessiner un schéma qui illustre la résolution d’un nom internet de votre choix (sous la
forme a.b.c.d) en présence d’un redirecteur en supposant que toutes les caches sont
vides?
Formateur DRAOUI Hassan 51
Fonctionnement de la mise en cache DNS :
Requête itérative (RI):
Requête récursive (RR): ? IP de [Link]
? IP de [Link]
Demander au DNS de .ma (.)
[Link]
.ma
[Link]
Client1 Client2 Formateur DRAOUI Hassan 52
Enregistrement de ressource
Un enregistrement de ressource est une structure de base de données DNS
standard qui contient des informations utilisées pour traiter les requêtes DNS.
SOA (Start Of Autority) : contient des paramètres important….
A : traduit un nom DNS en adresse IPv4.
AAAA : traduit un nom DNS en adresse IPv6.
CNAME : traduit un nom DNS en un autre nom (nommé aussi Alias).
PTR : traduit une adresse IPv4/IPv6 en un nom DNS
MX : localise un serveur de messagerie électronique (Mail eXchanger) pour un
domaine donné.
NS : localise un serveur de nom (DNS) pour un domaine donné.
SRV : localise un serveur offrant un service donné pour un domaine donné.
….
Formateur DRAOUI Hassan 53
Zones DNS :
Est une partie spécifique de l'espace de noms DNS qui contient des enregistrements
DNS.
Une zone est la représentation physique d’un ou plusieurs domaines DNS
contigu.
Le fichier de zone contient les enregistrements de ressources d’une zone.
[Link] ns1
Fichier de zone [Link]
Zone [Link]
[Link]
dns3
Zone [Link] [Link]
54
Formateur DRAOUI Hassan
Types de zones DNS
- Zone principale
Une zone principale est l’exemplaire faisant autorité de la zone DNS. Les
enregistrements de ressources y sont créés et gérés.
Pour chaque zone il ya une seule zone principale
- Zone secondaire
Une zone secondaire est une copie en lecture seule de la zone DNS. Les
enregistrements contenus dans la zone secondaire ne peuvent pas être modifiés ;
Les administrateurs peuvent modifier uniquement les enregistrements de la zone DNS
principale.
Pour chaque zone il y a zéro ou plusieurs zones secondaires.
- Zone de stub
Est une copie partielle d'une zone contenant uniquement des enregistrements utilisés
pour localiser des serveurs de noms pour un domaine donné (SOA, NS et A).
Une zone de stub est en quelque sorte un signet (SOA, NS et A) qui pointe
simplement vers le serveur DNS qui fait autorité pour la zone DNS concernée.
Chacun de ces types peut être soit :
- Zone de recherche Direct
- ou Zone de recherche inverse Formateur DRAOUI Hassan 55
Utilité d’une zone de stub (raccourci):
Eviter de passer par les serveurs des niveaux parents pour arriver à un serveur
d’un domaine très fréquenté par les clients du serveur DNS local.
Serveur DNS
local
Requête récursive (RR):
? IP de [Link] Zone de stub [Link]:
SOA… (.)
[Link] NS [Link].
[Link] [Link]. A [Link]
Client DNS
.ma
[Link]
Formateur DRAOUI Hassan 56
Délégation de zone :
Est le processus par lequel le domaine parent donne le pouvoir de résolution des
noms appartenant au domaine enfant à un serveur de ce domaine (enfant)
[Link]. NS [Link].
[Link]. NS [Link].
[Link] ns1
www A [Link]
[Link]. A [Link]
[Link]. A [Link]
Délégation
[Link]. NS [Link].
[Link]. MX 1 [Link].
dns3 [Link]. A [Link]
[Link]. A [Link]
[Link] www A [Link]
Formateur DRAOUI Hassan 57
Résolution inversée (schéma approché!):
Domaine spécial
[Link]. [Link].
pour IPv4
Premier octet IPv4
0 192 255
Deuxième octet IPv4
0 168 255
Troisième octet IPv4
0 1 255
[Link]/24
Zone [Link].
[Link]/24
FQDN de [Link]: [Link].[Link].
FQDN de [Link]: [Link].[Link]. Formateur DRAOUI Hassan 58
Résolution inversée : Astuces Formateur DRAOUI Hassan
Il nous faut deux informations seulement :
1- Le nom de la zone inverse :
Le nom de la zone inverse est déterminé en prenant les octets de la partie réseau et les
inverser puis ajouter le suffixe [Link].
Exemples:
- [Link]/8 [Link].
- [Link]/16 [Link].
- [Link]/24 [Link].
2- La représentation d’une adresse IP dans le système DNS :
Le nom qui représente une adresse IP dans le système DNS est déterminé en inversant
tout les octets de cette adresse et en ajoutant le suffixe [Link].
Exemples:
- [Link]/8 [Link].[Link].
59
Transferts de zone DNS : Formateur DRAOUI Hassan
C’est le processus par lequel le serveur secondaire vérifie si la zone principale a subit
une modification pour demander l’envoi de ces modifications depuis un serveur maitre
(principale ou un autre secondaire) après l’expiration de la durée de rafraichissement
(refresh de SOA) ou pour la création d’une nouvelle zone secondaire.
Il existe deux type de requête de transfert de zone :
- Transfert de zone complet (requête AXFR)
- Transfert de zone incrémentiel (requête IXFR)
1
Expiration de la durée de
4 rafraichissement
2 Requête SOA de zone
SOA (Old serial)
3 Réponse de requête SOA (New serial)
5 Requête IXFR ou AXFR
6 Réponse de requête IXFR ou AXFR
(zone transférée)
Serveur secondaire Serveur maître
NB : En réalité la demande de transfert de zone est envoyée au serveur principal
60
trouvé dans l’enregistrement SOA
Notification DNS (DNS Notify) :
C’est le processus par lequel le serveur DNS principale informe (notifie) les serveurs
DNS secondaires de la modification d’une zone pour que ces derniers puissent
déclencher le processus de transfert de zone sans attendre l’expiration de la durée de
rafraichissement (refresh).
1
Modifications
SOA (New serial)
2 Notification DNS
3 Requête IXFR ou AXFR
4 Réponse de requête IXFR ou AXFR
(zone transférée)
Serveur secondaire Serveur maître
Q: Comment le serveur maitre connait-il l’adresse des serveurs secondaires ?
R: par les enregistrements NS (et A correspondants) contenus dans le fichier de zone
Formateur DRAOUI Hassan 61
La mise à jour dynamique :
Est le processus par lequel un client DNS (ou serveur DHCP) crée, inscrit ou met à
jour de façon dynamique ses enregistrements dans des zones maintenues par des
serveurs DNS qui peuvent accepter et traiter des messages pour des mises à jour
dynamiques.
Formateur DRAOUI Hassan 62
II- Configuration du service DNS sous CentOS
A- Configuration d’une zone directe principale minimale sous
CentOS :
1. Installer le package bind :
#yum install bind (Connexion Internet obligatoire)
2. Déclarer la zone directe dans le fichier de configuration DNS :
#vim /etc/[Link]
options {
listen-on port 53 {any ;} ;
…………….
allow-query {any ;} ;
directory "/var/named";
};
zone "[Link]" {
type master;
file "nom_fichier_de_zone";
}; Formateur DRAOUI Hassan 63
3. Créer et remplir le fichier de zone directe :
#vim /var/named/nom_fichier_de_zone
$TTL 86400
[Link]. IN SOA [Link]. [Link]. (
2020120100;
14400;
3600;
3600000;
14400;
)
[Link]. IN NS [Link].
[Link]. IN A [Link]
4. (Re)démarrer le service DNS
#service named restart
Formateur DRAOUI Hassan
[Link]. : Nom du domaine DNS (zone)
[Link]. : Nom du serveur DNS principal de la zone
[Link]. : L’adresse mail du responsable de la zone (root@...) 64
Exercice TP 3 : DNS Simple directe
On veut configurer un serveur Linux avec les informations suivantes :
Nom de domaine : [Link]
Adresse IP : [Link]
Masque : [Link]
Adresses des serveurs DNS : [Link] et [Link]
1. Affecter le nom "[Link]" pour la machine en utilisant le
fichier de configuration
2. Afficher les caractéristiques de toutes les cartes réseaux
3. Configurer les paramètres de la carte réseau en utilisant le fichier
de configuration
4. Redémarrer le service NetworkManager ( et/ou network)
5. Afficher les adresses IP et le nom de la machine
6. Créer la zone DNS principale sur ce serveur
7. Tester localement la résolution du nom « [Link] »
65
Formateur DRAOUI Hassan
Solution : Vidéo DNS
Simple
Formateur DRAOUI Hassan 66
Résolution inversée (Rappel)
En résolution inverse l’adresse IP sera considérée comme un nom.
Ainsi si l’adresse IP est o1.o2.o3.o4, son nom correspondant est
[Link].
Ce nom sera attribué, selon son masque de sous réseau, à l’un des trois
domaines suivants :
- [Link]. (si le masque est /8)
- [Link]. (si /16)
- [Link]. (si /24)
Formateur DRAOUI Hassan 67
Résolution inversée (Rappel)
Domaine spécial
[Link]. [Link].
pour IPv4
Premier octet IPv4
0 192 255
Deuxième octet IPv4
0 168 255
Troisième octet IPv4
0 1 255
[Link]/24
Zone [Link].
[Link]/24
FQDN de [Link]: [Link].[Link].
FQDN de [Link]: [Link].[Link]. Formateur DRAOUI Hassan 68
B- Configuration d’une zone inverse principale minimale sous
CentOS :
1. Installer le package bind :
#yum install bind (Connexion Internet obligatoire)
2. Déclarer la zone inverse dans le fichier de configuration DNS :
#vim /etc/[Link]
options {
listen-on port 53 {any ;} ;
…………….
allow-query {any ;} ;
directory "/var/named";
};
zone "[Link]" {
type master;
file "nom_fichier_de_zone_inverse";
};
Formateur DRAOUI Hassan 69
3. Créer et remplir le fichier de zone directe :
#vim /var/named/nom_fichier_de_zone_inverse
$TTL 86400
[Link]. IN SOA [Link]. [Link]. (
2020120100;
14400;
3600;
3600000;
14400;
)
[Link]. IN NS [Link].
[Link].[Link]. IN PTR [Link].
4. (Re)démarrer le service DNS
#service named restart
Formateur DRAOUI Hassan 70
Exercice TP 4 : DNS Simple inverse
On veut configurer un serveur Linux avec les informations suivantes :
Nom FQDN : [Link].
Adresse IP : [Link]
Masque : [Link]
Adresses des serveurs DNS : [Link] et [Link]
1. Affecter le nom pour la machine en utilisant le fichier network
2. Configurer les paramètres de la carte réseau en utilisant le fichier de
configuration
3. Afficher les adresses IP et le nom de la machine
4. Créer la zone DNS principale inverse sur ce serveur
5. Tester localement la résolution inverse de l’adresse [Link]
Formateur DRAOUI Hassan 71
Solution : Vidéo DNS
Simple inverse
Formateur DRAOUI Hassan 72
C- Configuration d’une zone secondaire sous CentOS :
Etape 1 Sur le serveur principale :
- Autoriser le transfert de zone vers l’adresse IP du serveur secondaire
dans la zone principale dans le fichier de configuration DNS du serveur
principale :
#vim /etc/[Link]
zone "[Link]" {
…………….
allow-transfer { Adresse_IP_du_serveur_secondaire ; };
};
#service named restart
- Désactiver le pare-feu
#service iptables stop
Formateur DRAOUI Hassan 73
Etape 2 Sur le serveur secondaire :
0. $ping Adresse_IP_du_serveur_principal
1. Installer le package bind : #yum install bind
2. Déclarer la zone dans le fichier de configuration DNS :
#vim /etc/[Link]
options { listen-on port 53 {any ;} ;
…………….
allow-query {any ;} ;
directory "/var/named"; };
zone "[Link]" {
type slave;
masters { Adresse_IP_du_serveur_principal ; };
file "slaves/nom_fichier_de_zone_secondaire";
};
3. Démarrer le service DNS :
#service named start Formateur DRAOUI Hassan 74
Exercice TP 5 : serveurs DNS principal et secondaire
Soit le réseau suivant :
1. Configurer les paramètres ci-dessous sur toutes les machines (par les
fichiers network et ifcfg-* ) en testant leur connectivité :
a. Nom
b. Adresse
c. Passerelle : [Link]
d. Adresses des serveurs DNS : [Link] et [Link]
e. Nom du domaine : [Link]
2. Configurer le service DHCP sur srv1 (Question facultative)
3. Configurer les zones directe et inverse principales sur srv1
4. Configurer les zones directe et inverse secondaires sur srv2
5. Tester la résolution DNS sur les deux serveurs Formateur DRAOUI Hassan
75
TP : Vidéo DNS
Simple Secondaire
Formateur DRAOUI Hassan 76
D- Configuration de la mise à jour dynamique DNS
1- La mise à jour dynamique (DDNS) par les clients
A. Il faut déplacer le fichier de zone vers /var/named/dynamic (pour
les droits)
#mv /var/named/db.* /var/named/dynamic/
B. Configurer les zones principales directe et inverse : pour accepter les
mises à jour dynamique des clients (windows !!!) et indiquer le nouvel
emplacement des fichiers de zone :
#vim /etc/[Link]
zone "[Link]" {
………
file "dynamic/[Link]";
allow-update { any; };
};
#service named restart Formateur DRAOUI Hassan 77
C. Configurer les machines clientes (Windows) pour envoyer la
MAJ dynamique :
1 - Indiquer au moins un serveur DNS de la zone (dans paramètres
TCP/IP)
2 - Indiquer votre nom du suffixe DNS principal :
(propriétés sur ordinateur Modifier les paramètres nom de
l’ordinateur …..)
3 - Pour forcer l’opération taper la commande :
/>ipconfig /registerdns
Remarque : De même pour la zone inverse
zone "[Link]" {
…………
file "dynamic/db.192.168.1";
allow-update { any; };
}; Formateur DRAOUI Hassan 78
Exercice TP 6 : Mise à jour dynamique DNS par clients
1. Configurer les paramètres ci-dessous sur toutes les machines en
prenant comme nom du domaine : [Link]
2. Configurer les zones directes et inverse principales sur NameServer
3. Autoriser la mise à jour dynamique des clients pour les deux zones sur
NameServer
4. Configurer le client DNS sur ClientDns :
a. Indiquer l’adresse du serveur DNS ([Link])
b. Indiquer « [Link] » en tant que suffixe DNS principal
c. forcer l’opération par la commande : />ipconfig /registerdns
5. Tester la résolution DNS directe et inverse correspondant à la machine
ClientDns Formateur DRAOUI Hassan 79
2- La mise à jour dynamique (DDNS) par le serveur DHCP
A. Configuration du serveur DHCP
#vim /etc/dhcp/[Link]
subnet [Link] netmask [Link] {……………….}
ddns-update ;
ddns-update-style interim ;
ddns-domainname = "[Link]";
ddns-rev-domain = "[Link]";
zone [Link]. {
primary [Link];
}
zone [Link]. {
primary [Link] ;
}
#service dhcpd restart Formateur DRAOUI Hassan 81
B. Configuration du serveur DNS principal
il faut déplacer les fichiers de zones vers /var/named/dynamic
(ou modifier les droits)
#vim /etc/[Link]
zone "[Link]" {
type master ;
file "/var/named/dynamic/nom_du_fichier_zone_principale_direct" ;
allow-update {[Link]; };
};
#service named restart
C. Configurer les machines linux pour envoyer leurs noms au
serveurs DHCP
#vim /etc/sysconfig/network-scripts/ifcfg-ethX
DHCP_HOSTNAME=NOM
Formateur DRAOUI Hassan 82
Exercice TP 7 : MAJ dynamique DNS par DHCP
1. Configurer les paramètres ci-dessous sur toutes les machines (par les
fichiers network et ifcfg-* ) en prenant comme domaine : [Link]
2. Configurer les zones directes et inverse principales sur NameServer
3. Configurer le service DHCP sur DhcpServer
4. Configurer la mise à jour dynamique entre les serveurs DNS et DHCP
pour les deux zones
5. Configurer le client DHCP sur ClientDhcp en vérifiant
6. Tester la résolution DNS directe et inverse correspondant à la machine
ClientDhcp Formateur DRAOUI Hassan 83
3- Sécuriser la mise à jour dynamique (DNSSEC) entre les serveurs
DNS et DHCP
A. Copie la même clé partagé RNDC (/etc/[Link]) sur les deux
serveurs
NB:
vous pouvez créer une nouvelle clé RNDC en utilisant la commande:
#dnssec-keygen [Link]
B. Configuration du serveur DHCP
#vim /etc/dhcp/[Link]
include "/etc/[Link]";
ddns-update ;
ddns-update-style interim ;
ddns-domainname = "[Link]";
zone [Link]. {
primary [Link];
key rndc-key;
}
#service dhcpd restart Formateur DRAOUI Hassan 85
C. Configuration du serveur DNS principal
#vim /etc/[Link]
…………………………..
include "/etc/[Link]";
zone "[Link]" {
type master ;
file "/var/named/dynamic/nom_du_fichier_zone_principale_direct" ;
allow-update { [Link];
key "[Link]";
}
};
#service named restart
Formateur DRAOUI Hassan 86
TP 7 bis : Sécuriser la MAJ dynamique entre DNS et DHCP
1. Configurer les paramètres ci-dessous sur toutes les machines (par les
fichiers network et ifcfg-* ) en prenant comme domaine : [Link]
2. Configurer les zones directes et inverse principales sur NameServer
3. Configurer le service DHCP sur DhcpServer
4. Configurer la mise à jour dynamique entre les serveurs DNS et DHCP
pour les deux zones
5. Sécuriser la mise à jour dynamique entre DNS et DHCP par RNDC
Formateur DRAOUI Hassan 87
E- Mise en place d’une délégation de zone
Du coté du serveur principale de la zone [Link] (ici
[Link].) déléguez l’administration de la zone
[Link] au serveur (ici [Link].) en
modifiant dans le fichier de zone mère «[Link] » :
$ORIGIN [Link].
$TTL 86400
[Link]. IN SOA [Link]. [Link]. (
2021102600 ;
14400 ;
3600 ;
3600000 ;
14400 ;
)
IN NS [Link].
[Link]. IN NS [Link].
serveurDNS1 IN A [Link]
[Link] IN A [Link] 88
Formateur DRAOUI Hassan
Exercice TP 8 : Délégation de zone DNS
1. Configurer les paramètres ci-dessous sur toutes les machines (par les
fichiers network et ifcfg-* ) et désactiver les pare-feux
2. Configurer la zone directe « [Link] » sur NameServer1
3. Configurer la zone directe « [Link] » sur NameServer2
4. Sur NameServer1, déléguer la zone [Link] à NameServer2
5. Tester la résolution DNS la résolution du nom NameServer2 en
consultant le serveur du domaine parent NameServer1
6. Sur le domaine parent modifier la directive « dnssec-validation » à «
89
no » et refaire la question précédente Formateur DRAOUI Hassan
Remarque importante (serveur non récursif) :
Pour tester ce service sur le serveur délégant (serveurDNS1) il vaut mieux
désactiver le traitement des requêtes récursives comme suit :
#vim /etc/[Link]
options { …………..
recursion no;
};
#service named restart
Pour tester
$nslookup -query=ns [Link]. Adresse_serveurDNS1
Formateur DRAOUI Hassan 91
Niveau avancé
Formateur DRAOUI Hassan 92
F- Exemple de fichier de zone directe presque complet :
#vim /var/named/[Link]
$TTL 86400
[Link]. IN SOA [Link]. [Link]. (
2018101800 ; Serial
14400; Refresh
3600; Retry
3600000; Expire
14400; ) Minimum TTL
; Serveurs DNS de la zone “[Link]”
IN NS [Link].
@ IN NS [Link].
[Link]. IN NS [Link].
; Enregistrements MX des serveurs de messagerie électronique
IN MX 10 [Link].
; Noms de machines
serveurDNS1 IN A [Link]
serveurDNS2 IN A [Link]
serveurDNS3 IN AAAA 2002::1
sfichier IN A [Link]
sweb IN A [Link]
smessagerie1 IN A [Link]
; Alias
www IN CNAME sweb Formateur DRAOUI Hassan
ftp IN CNAME sfichier 93
mail IN CNAME smessagerie1
Exemple d’enregistrement SRV :
Syntaxe générale :
_service._protocole.domaine. ttl IN SRV priorité poids? port fqdn
service : nom du service (ldap, gc, kerberos, kpass….)
protocole : protocole du couche transport tcp/udp
domaine : nom du domaine DNS où se trouve le service concerné
ttl (facultatif) : la durée du vie de l’enregistrement (dans le cache)
priorité : la priorité du serveur cible, la valeur la plus petite est la plus prioritaire
poids : poids relatif pour les enregistrements de même priorité (valeur de 0 à 65535)
port : numéro du port TCP ou UDP selon le protocole de transport utilisé
fqdn : nom FQDN de la machine hébergeant le service concerné
Exemple :
_ldap._tcp.[Link]. IN SRV 1 2 389 [Link].
_ldap._tcp.[Link]. IN 60 SRV 10 20 389 [Link].
_ldap._tcp._msdcs.[Link]. IN SRV 1 2 389 [Link].
_ldap._tcp._msdcs.[Link]. IN 60 SRV 10 20 389 [Link].
[Link]. IN A [Link]
[Link]. IN A [Link]
Formateur DRAOUI Hassan 94
Répartition de charge avec SRV (source : Wikipédia)
Le champ priorité est similaire au champ de même nom
des enregistrements MX. Les clients commencent par utiliser
l'enregistrement SRV de plus basse priorité, et se rabattent sur les autres
enregistrements uniquement en cas d'échec de la connexion.
Ainsi, un service peut avoir un serveur désigné comme serveur de
secours, qui sera seulement utilisé en cas de panne du serveur primaire: il
suffit pour cela d'insérer un enregistrement SRV avec une priorité plus
élevée que pour le serveur primaire.
Lorsqu'un service possède plusieurs enregistrements SRV de même
priorité, les clients utilisent alors le champ poids pour décider quel
serveur utiliser. Le poids ne prend son sens que lorsqu'il est mis en
relation avec le poids des autres enregistrements de même priorité
(toujours pour un service donné).
Dans l'exemple ci-dessous, on utilise à la fois les
champs priorité et poids, afin de fournir simultanément une répartition
de charge et un service de secours.
Formateur DRAOUI Hassan 95
Exemple de répartition de charge et tolérance aux pannes (source : Wikipédia) :
_sip._tcp.[Link]. IN SRV 10 60 5060 [Link].
_sip._tcp.[Link]. IN SRV 10 20 5060 [Link].
_sip._tcp.[Link]. IN SRV 10 20 5060 [Link].
_sip._tcp.[Link]. IN SRV 20 100 5060 [Link].
Les trois premiers enregistrements ont tous une priorité de 10. Les clients vont donc
devoir utiliser le champ poids afin de déterminer quel serveur contacter. Pour ce champ,
la somme des trois valeurs est 100, donc [Link] sera utilisé 60 % du
temps, et chacun des deux autres (petit-serveur1 et petit-serveur2) sera utilisé 20 % du
temps.
Si, d'aventure, gros-serveur devenait indisponible, les deux "petits serveurs", seuls en
piste, se partageraient alors la charge, ayant un poids identique.
Par ailleurs, si ces serveurs de priorité 10 deviennent tous trois indisponibles,
l'enregistrement de priorité immédiatement supérieure sera choisi, en
l'occurrence [Link]. Il peut s'agir d'une machine
géographiquement éloignée des trois autres, donc a priori non touchée par la cause de
l'indisponibilité de celles-ci.
La répartition de charge fournie par les enregistrements SRV est forcément limitée,
étant donné que l'information est essentiellement statique. La charge réelle des serveurs
n'est pas prise en compte.
Formateur DRAOUI Hassan 96
Remarques importantes :
- Pour afficher le cache DNS sous Microsoft Windows : /> ipconfig /displaydns
- Pour vider le cache DNS sous Microsoft Windows: />ipconfig /flushdns
- Pour configurer un serveur pour utiliser des redirecteurs il faut ajouter au fichier de
configuration ([Link]) les lignes suivantes ;
forwarders {
[Link];
[Link] port 53;
};
- Pour configurer un serveur pour envoyer les notifications ([Link] ): notify yes ;
-Vous pouvez vérifier la syntaxe du fichier de zone par la commande :
#named-checkzone Nom_de_la_zone Chemin_du_fichier_de_ zone
Exemple :
#named-checkzone [Link]. /var/named/db.192.168.1
-Vous pouvez vérifier la syntaxe du fichier de configuration « [Link] » par la commande :
#named-checkconf
-Il vaut mieux désactivez les pare feu au niveau des serveurs DNS (pour le moment).
#service iptables stop && chkconfig iptables off
NB : il vaut mieux utiliser la commande « #chkconfig iptables off » pour empêcher
l’activation du pare-feu au prochain démarrage de l’ordinateur.
-Il faut activer le service DNS au démarrage des niveaux utilisés par le serveur physique ! :
#chkconfig named on Formateur DRAOUI Hassan
97
#chkconfig --level 35 named on (activer DNS pour les niveaux 3 et 5)
Champs de l’enregistrement SOA : Formateur DRAOUI Hassan
[Link]. IN SOA [Link]. [Link]. (
2018101800; serial
14400; refresh
3600; retry
3600000; expire
14400; minimum ou negative TTL
)
[Link]. : Le nom de la zone DNS
[Link]. : Le serveur DNS principale de cette zone
[Link]. : l’adresse email du responsable de la zone DNS
2018101800 : numéro du série qui doit être incrémenté à chaque modification de la zone
14400 : rafraichissement , durée que doit attendre le serveur secondaire avant de vérifier s’il y a
un changement dans la zone principale.
3600 : reprise, durée que doit attendre le serveur secondaire avant de vérifier s’il y a un
changement dans la zone principale si l’opération de rafraichissement a échouée.
3600000 : expiration, si le serveur secondaire n’a pas pu contacter le serveur maitre pendant
cette durée, le serveur secondaire considère que la zone est expirée et dans ce cas le serveur
secondaire ne répondra plus aux clients DNS.
14400 : minimum/cache TTL, la durée de vie pendant laquelle sont conservées en cache les
réponse qui correspondent à des demandes d’enregistrements inexistants.
99
Tester un serveur DNS depuis une machine CentOS :
$nslookup -query=ns [Link]
$nslookup -query=srv _ldap._tcp.[Link]. [Link]
Formateur DRAOUI Hassan 100
Formateur DRAOUI Hassan101
Exercice TP de Transfert 2 : DNS + DHCP complet
1. Configurer l’adresse IP, la passerelle, le nom du domaine (domaine
[Link]) les adresses IP des serveurs DNS ([Link] et [Link]) sur
les machines nameserver1 et nameserver2 (par fichier)
2. Configurer le service DNS principal (direct et inverse) sur nameserver1
3. Configurer le service DNS secondaire (direct et inverse) sur nameserver2
4. Autoriser la MAJ dynamique pour tout le réseau local sur les deux zones
5. Configurer la machine XP pour envoyer la mise à jour dynamique en testant
6. Configurer le service DHCP sur nameserver2 en prenant en considération
la mise à jour dynamique des deux zones DNS
7. Configurer la machine XP pour obtenir sa configuration réseau par DHCP
en testant la MAJ dynamique Formateur DRAOUI Hassan 102
Solution Vidéo :
DNS + DHCP
Complet
Formateur DRAOUI Hassan 103
Résumé DHCP : [Link]
default-lease-time 600;
max-lease-time 7200;
option domain-name-servers [Link],[Link];
option domain-name "[Link]";
subnet [Link] netmask [Link] {
range [Link] [Link];
option routers [Link];
option broadcast-address [Link];
option subnet-mask [Link];
}
host Nom_Client {
hardware ethernet [Link];
fixed-address [Link];
}
…………………………………………………… 104
Formateur DRAOUI Hassan
Résumé DHCP avec DDNS : [Link]
………………………………………….
ddns-update;
ddns-update-style interim;
ddns-domainname="[Link]";
ddns-rev-domain="[Link]";
zone [Link]. {
primary [Link];
}
zone [Link]. {
primary [Link];
}
Formateur DRAOUI Hassan 105
Résumé DNS : [Link] et fichier de zone directe
zone "[Link]" {
type master;
file "dynamic/nom_fichier_de_zone";
allow-transfer { Adresse_IP_du_serveur_secondaire; };
allow-update {Adresse_IP_du_serveur_DHCP; };
};
#vim /var/named/dynamic/nom_fichier_de_zone
$TTL 86400
[Link]. IN SOA [Link]. [Link]. (
2021110500 14400 3600 3600000 14400 )
[Link]. IN NS [Link].
[Link]. IN NS [Link].
[Link]. IN NS [Link].
[Link]. IN A [Link]
[Link]. IN A [Link]
serveurDNS3 IN A [Link]
……………………………………………………………Formateur DRAOUI Hassan 106
Résumé DNS : autres enregistrements directs 107
Formateur DRAOUI Hassan
…………………………………………………………………………….
[Link]. IN MX 10 [Link].
[Link]. IN AAAA 2021::11:26
[Link]. IN CNAME [Link].
_sip._tcp.[Link]. IN SRV 10 60 5060 [Link].
_ldap._tcp.[Link]. IN SRV 1 2 389 [Link]
Résumé DNS : [Link] et fichier de zone inverse 108
Formateur DRAOUI Hassan
zone "[Link]" {
type master;
file "dynamic/zone_inverse";
allow-transfer { Adresse_IP_du_serveur_secondaire; };
allow-update {Adresse_IP_du_serveur_DHCP; };
};
#vim /var/named/dynamic/zone_inverse
$TTL 86400
[Link]. IN SOA [Link]. [Link]. (
2021110500 14400 3600 3600000 14400 )
[Link]. IN NS [Link].
[Link]. IN NS [Link].
[Link]. IN NS [Link].
[Link].[Link]. IN PTR [Link].
[Link].[Link]. IN PTR [Link].
3.1 IN PTR [Link].
Résumé DNS secondaire : [Link] pour les zones secondaires
directe et inverse
zone "[Link]" {
type slave;
masters { Adresse_IP_du_serveur_principal_direct; };
file "slaves/directe_secondaire";
};
zone "[Link]" {
type slave;
masters { Adresse_IP_du_serveur_principal_inverse; };
file "slaves/inverse_secondaire";
};
109
Formateur DRAOUI Hassan
Services de partage :
NFS, SAMBA et
FTP
Formateur DRAOUI Hassan 114
CHAPITRE VI:
service NFS
Formateur DRAOUI Hassan 115
NFS (network file system) est le protocole natif de partage de dossiers
dans le monde Unix/linux
………………..
Formateur DRAOUI Hassan 116
I- Configuration du serveur NFS sous CentOS :
1. Vérifier si le package nfs-utils est installé :
#rpm -q nfs-utils
2. partager des dossiers en définissant les clients autorisés et leurs
droits d’accès :
#vim /etc/exports
chemin_du_dossier machines_authorisées(droits_d_accès)
NB: droits_d_accès = ro ou rw
3. Recharger les partages présents dans /etc/exports :
#exportfs -a (if vaut mieux utiliser #service nfs restart)
NB: pour voir tous les partages sur le serveur : #exportfs
Formateur DRAOUI Hassan 117
Exemple :
#rpm -q nfs-utils
#mkdir /partage_avec_le_reseau /partage_avec_tout_le_monde
#vim /etc/exports
/home [Link](ro)
/partage_avec_le_reseau [Link]/25(rw) [Link]/25(ro)
/partage_avec_tout_le_monde *(ro)
#service nfs restart (ou #exportfs -a)
Formateur DRAOUI Hassan 118
II- Configuration du client NFS sous CentOS :
A-Méthode 1 :
L’accès aux données distantes par le client se fait en deux temps :
[Link]éation d’un nouveau dossier (vide)
$mkdir dossier1
2. Montage du dossier distant dans l’arborescence locale du client :
$mount Adresse_ou_nom_serveur_NFS:chemin_du_partage dossier1
Exemple :
0. Tester d’abord la connectivité avec le serveur NFS :
$ping Adresse_ou_nom_serveur_NFS
1. $mkdir /mnt/home_du_serveur
2. $mount Adresse_serveur_NFS:/home /mnt/home_du_serveur
3. Tester le contenu du partage depuis le client :
$ls /mnt/home_du_serveur ……….. 119
Formateur DRAOUI Hassan
B-Méthode 2 :
1. $mkdir dossier2
2. on peut automatiser le montage au démarrage de l’ordinateur en
ajoutant dans le fichier /etc/fstab la ligne suivante :
#vim /etc/fstab
…………
Serveur_NFS : chemin_du_partage dossier2 nfs defaults 0 0
3. #reboot (OU #mount -a)
NB: Pour démonter un dossier monté :
#umount directory_d_accrochage
Formateur DRAOUI Hassan 120
Exercice TP 9 : NFS Simple Formateur DRAOUI Hassan 121
1. Configurer les adresses sur toutes les machines en testant leurs connectivité
2. Créer le répertoire /mon-partage en donnant tous les droits à tous le monde
(0777)
3. Partager ce répertoire par NFS comme suit :
1. Ecriture pour la machine clientNFS1
2. Lecture seule pour les autres machines du réseau local
4. Configurer clientNFS1 pour accéder au dossier partagé à partir d’un dossier
monté par la commande mount et tester le partage en (lecture/écriture) y créer
un fichier (non vide)
5. Configurer clientNFS2 pour accéder au dossier partagé à partir d’un dossier
monté en permanence (/etc/fstab) et tester le partage en (lecture/écriture)
Solution Vidéo :
NFS Simple
Formateur DRAOUI Hassan 122
Niveau avancé
Formateur DRAOUI Hassan 123
CHAPITRE VII:
services SAMBA
Formateur DRAOUI Hassan 126
SAMBA ou SaMBa (SMB=Server Message Blocks) est un ensemble de
packages qui implémente le protocole SMB (CIFS) de partage de
ressources (dossiers, imprimantes,…) dans le monde Windows.
Ainsi SAMBA permet de partager des ressources sur des machines
Unix/Linux au profit des machines Windows.
SAMBA permet aussi aux machines Unix/Linux d’accéder aux
ressources partagées sur des machines Windows.
Formateur DRAOUI Hassan 127
I- Serveur de partage SAMBA sans authentification (accès anonyme)
Pré-requis :
Désactiver le pare-feu SELinux par la commande suivante :
#setenforce 0
Créer le dossier à partager en définissant les droits octales à 777 :
#mkdir /dossier-à-partager-avec-tout-le-monde
#chmod 777 /dossier-à-partager-avec-tout-le-monde
1. Installer le package samba
2. Partager ce dossier avec SAMBA :
#vim /etc/samba/[Link]
…………………………
[global]
…………………………
security = share
…………………………
[nom-de-partage1]
path = /dossier-à-partager-avec-tout-le-monde
guest ok = yes Formateur DRAOUI Hassan 128
3. Redémarrer le service SAMBA
#service smb restart
Remarque : pour donner le droit de modification ajouter au partage la
ligne suivante :
read only = no
Formateur DRAOUI Hassan 129
II- Clients de partage SAMBA sans authentification (accès anonyme)
0- Pré-requis : connectivité avec le serveur SAMBA
$ping Adresse_IP_du_serveur_SAMBA
1- Client Windows:
Méthode 1 : graphiquement
Méthode 2 : Exécuter \\serveurSMB\nom-de-partage1
NB: serveurSMB est l’adresse IP ou le nom (traduisible en adresse IP)
du serveur de partage samba
130
Formateur DRAOUI Hassan
2- Linux en tant que Client de partage
Méthode 1 :
En utilisant le programme smbclient sous Linux (-N : ne pas demander
un MdP)
#smbclient //serveurSMB/nom-de-partage1 -N
Méthode 2 :
En montant le répertoire dans votre hiérarchie Linux via mount
#mkdir montage
#mount –t cifs //serveurSMB/nom-de-partage1 montage
Méthode 3 : /etc/fstab
#vim /etc/fstab
//serveurSMB/nom-de-partage1 montage cifs defaults 0 0
#mount -a
NB : pour voir tous les montages sur le système : #mount
Formateur DRAOUI Hassan 131
Exercice TP : SAMBA Simple sans authentification
Soit le réseau suivant :
1. Configurer l’adresse IP sur toutes les machines (par fichier) en testant leur connectivité
2. Créer le répertoire /mon-partage2 en le partageant par SAMBA avec le minimum de
configuration (les autres options par défaut)
3. Configurer clientSAMBA1 (Windows) pour accéder au dossier partagé et tester le partage
en (lecture/écriture)
4. Configurer clientSAMBA2 (Linux) par l’outil smbclient pour accéder au dossier partagé
5. Configurer clientSAMBA2 (Linux) par l’outil mount pour accéder au dossier partagé
6. Configurer clientSAMBA2 (Linux) par le fichier /etc/fstab pour accéder au dossier partagé
Formateur DRAOUI Hassan 132
Solution : Vidéo
SAMBA Simple sans
authentification
Formateur DRAOUI Hassan 133
III- Serveur de partage SAMBA avec authentification
Pré-requis :
#setenforce 0
#mkdir /dossier-à-partager-avec-les-utilisateurs-samba
#chmod 777 /dossier-à-partager-avec-les-utilisateurs-samba
134
Formateur DRAOUI Hassan
1. Installer samba
2.
Créer un utilisateur samba en lui donnant un mot de passe système et un
mot de passe samba :
#adduser user-samba
#passwd user-samba (mot de passe système: 123456)
NB: #adduser user-samba --password 123456
#smbpasswd -a user-samba (mot de passe samba: 654321)
3.
#vim /etc/samba/[Link]
[global]
…………………………
security = user
…………………………
[nom-de-partage2]
path = /dossier-à-partager-avec-les-utilisateurs-samba
4. #service smb restart
Formateur DRAOUI Hassan 135
IV- Clients de partage SAMBA avec authentification
0- Pré-requis : connectivité avec le serveur SAMBA
$ping Adresse_IP_du_serveur_SAMBA
1- Client Windows:
Méthode 1 : graphiquement
Méthode 2 : Exécuter \\serveurSMB\nom-de-partage2
NB: à l’invite donner le nom de l’utilisateur SAMBA (user-samba) et
son mot de passe SAMBA
136
Formateur DRAOUI Hassan
2- Linux en tant que Client de partage
Méthode 1 : En utilisant le programme smbclient sous Linux
#rpm -q samba-client
#smbclient //serveurSMB/nom-de-partage2 -U user-samba
NB: à l’invite donner le mot de passe samba de user-samba (654321)
Méthode 2 : En montant le répertoire dans votre hiérarchie Linux via
mount (ou [Link])
#rpm -q cifs-utils
#mkdir montage
#mount -t cifs //serveurSMB/nom-de-partage2 montage
-o username=user-samba,password=654321
Méthode 3 : Par /etc/fstab (pkg cifs-utils obligatoire)
#mkdir montage2
#vim /etc/fstab
//serveurSMB/nom-de-partage2 cifs montage2 user=user-
samba,pass=654321 0 0
Formateur DRAOUI Hassan 137
#mount -a
Exercice TP : SAMBA Simple avec authentification
Soit le réseau suivant :
1. Configurer l’adresse IP sur toutes les machines (par fichier) en testant leur connectivité
2. Créer l’utilisateur système isgi en lui donnant un mot de passe SAMBA (azerty)
3. Créer le répertoire /mon-partage3 en le partageant par SAMBA en donnant le droit de
modification sur le partage
4. Configurer clientSAMBA1 (Windows) pour accéder au dossier partagé et tester le partage en
(lecture/écriture) Formateur DRAOUI Hassan
5. Configurer clientSAMBA2 (Linux) par l’outil smbclient pour accéder au dossier partagé
6. Configurer clientSAMBA2 (Linux) par l’outil mount pour accéder au dossier partagé
138
7. Configurer clientSAMBA2 (Linux) par le fichier /etc/fstab pour accéder au dossier partagé
Solution : Vidéo
SAMBA Simple avec
authentification
Formateur DRAOUI Hassan 139
Niveau avancé
Formateur DRAOUI Hassan 140
Autres options de partage samba : Formateur DRAOUI Hassan
writable = yes/no :
browseable = yes/no :
valid users = hassan, med, @admins, @utilisateurs :
les utilisateurs et les groupes autorisés à accéder au partage
write list = hassan, @admins :
les utilisateurs et les groupes qui ont le droit d’écriture sur le partage
force user = nouser :
nouser sera l’utilisateur propriétaire des fichiers/dossiers crées dans le
partage
force group = nogroup :
nogroup sera le groupe propriétaire des fichiers/dossiers crées dans le
partage
create mask = 0766 :
les droits appliqués aux nouveaux fichiers crées dans le partage
directory mask=755 :
les droits appliqués aux nouveaux dossiers crées dans le partage
141
TP : SAMBA avec des permissions différentes
Soit le réseau suivant :
1. Configurer l’adresse IP sur toutes les machines (par fichier) en testant leur connectivité
2. Créer les quatre utilisateurs système suivants : tri101, tri102, tri201 et tri202
3. Créer le répertoire /mon-partage4 en le partageant par SAMBA comme suit :
a. Accès en lecture seule pour : les utilisateurs tri101 et tri102 et le groupe hassan
b. Accès en écriture pour : les utilisateurs tri201 et tri202 et le groupe root
4. Donnez aux utilisateurs tri101,tri102,tri201 et tri202 des mots de passe SAMBA .
5. Configurer clientSAMBA1 (Windows) pour accéder au dossier partagé (tester l’écriture)
6. Configurer clientSAMBA2 (Linux) pour accéder au dossier partagé en utilisant les 3
142
méthodes (tester l’écriture) Formateur DRAOUI Hassan
Solution : Vidéo
SAMBA avec des
permissions
différentes
Formateur DRAOUI Hassan 143
EFF pratique 2013 V31
Formateur DRAOUI Hassan 145
Solution Vidéo :
Pratique EFF 2013
V31
Formateur DRAOUI Hassan 146
Solution Vidéo :
Complément
Pratique EFF 2013
V31
Formateur DRAOUI Hassan 147
CHAPITRE VIII:
service FTP
Formateur DRAOUI Hassan 148
I- Serveur FTP sans authentification (accès anonyme)
Pré-requis :
Désactiver le pare-feu SELinux par la commande suivante :
#setenforce 0
1. Vérifier que le package vsftpd est installé
2. Redémarrer le service FTP
#service vsftpd restart
Formateur DRAOUI Hassan 150
II- Client FTP sans authentification (accès anonyme)
Pré-requis :
$ping serveurFTP
Méthode 1 : graphiquement (par le navigateur sur [Link]
Méthode 2 :
#ftp serveurFTP
à l’invite taper le nom d’utilisateur : anonymous ou ftp
à l’invite taper n’importe quel mot de passe
NB : Si le package ftp n’est pas installé, installer-le d’abord :
#rpm -ivh Chemin_du_package
Formateur DRAOUI Hassan 151
III- Serveur FTP avec authentification
Pré-requis :
Désactiver le pare-feu SELinux par la commande suivante :
#setenforce 0
1. Vérifier que le package vsftpd est installé
2. Modifier le fichier de configuration /etc/vsftpd/[Link] :
#vim /etc/vsftpd/[Link]
…………………….
anonymous_enable = NO
3. Redémarrer le service FTP
#service vsftpd restart
Formateur DRAOUI Hassan 152
VI- Client FTP avec authentification
Pré-requis :
$ping serveurFTP
Méthode 1 : graphiquement (par le navigateur sur [Link]
Méthode 2 :
$ftp serveurFTP
à l’invite taper le nom d’utilisateur : utilisateur du système (hassan
par exemple)
à l’invite taper son mot de passe (par exemple 123456)
Formateur DRAOUI Hassan 153
Exercice TP : FTP Simple sans et avec authentification
Soit le réseau suivant :
1. Configurer l’adresse IP sur toutes les machines (par fichier) en testant leur connectivité
2. Configurer le service FTP anonyme sur serveurFTP.
3. Créer des fichiers et des dossiers dans le dossier /var/ftp (#cat /etc/passwd | grep ftp)
4. Sur clientFTP1 (Windows) accéder au serveur FTP en utilisant un navigateur et ensuite la
ligne de commande . Afficher le répertoire courant et tester (téléchargement/chargement)
5. Créer l’utilisateur système test-ftp en lui donnant le mot de passe : passftp
6. Modifier la configuration du serveur FTP pour n’accepter pas les connexions anonymes
7. Sur clientFTP2 (Linux) accéder au serveur FTP en utilisant un navigateur et ensuite le Shell.
154
Afficher le répertoire courant et tester (téléchargement/chargement) Formateur DRAOUI Hassan
Solution Vidéo :
FTP Simple sans et
avec authentification
Formateur DRAOUI Hassan 155
Services d’accès distant:
Telnet et SSH
Formateur DRAOUI Hassan 158
CHAPITRE IX:
service Telnet
Formateur DRAOUI Hassan 159
I- Configuration du serveur TELNET :
1. Vérifier que le super-service xinetd est installé
2. Vérifier que le package telnet-server est installé
3. Activer le service telnet dans le fichier /etc/xinetd.d/telnet
#vim /etc/xinetd.d/telnet
service telnet {
……..
disable = no
………
}
4. Redémarrer le service xinetd
II- Test à partir d’un client TELNET Linux:
$telnet serveurTELNET
NB: à l’invite donner le nom d’un utilisateur (présent sur le serveur
Telnet) et son mot de passe 160
Formateur DRAOUI Hassan
Niveau avancé
Formateur DRAOUI Hassan 161
Options avancées :
- Modifiez le fichier de configuration de TELNET pour restreindre
l’accès à la machine ayant l’adresse [Link] :
#vi /etc/xinetd.d/telnet
service telnet {
…………..
only_from = [Link]
}
#services xinetd restart
Formateur DRAOUI Hassan 162
- Modifiez le fichier de configuration de TELNET pour écouter sur le
numéro de port 2017 en n’oubliant pas de le modifier aussi dans le
fichier /etc/services :
#vi /etc/xinetd.d/telnet
service telnet {
…………..
port = 2017
}
#vi /etc/services
…………..
telnet 2017/tcp
telnet 2017/udp
…………..
#services xinetd restart
- Testez la connectivité à partir d’une machine cliente ?
$telnet serveurTELNET 2017
163
Formateur DRAOUI Hassan
Recherche avancée :
1. D’après le fichier /etc/xinetd.d/telnet :
a. Quel est le type de socket utilisé par le serveur telnet ?
b. Le serveur telnet fonctionne-il en mono-threading ou en multi-
threading ?
2. Pour Interdire tous les accès dans TCP-Wrapper :
- Commentez toutes les lignes dans /etc/[Link]
- Mettre dans /etc/[Link] la ligne suivante :
ALL:ALL
3. Pour Vérifiez que rien dans TCP-Wrapper n'interdit l'accès au
service (telnet … ):
- Commentez toutes les lignes dans /etc/[Link]
- Mettre dans /etc/[Link]
ALL:ALL
3. Pour démarrer le service telnet avec le démarrage du système :
# chkconfig telnet on Formateur DRAOUI Hassan 164
Exercice TP : TELNET Formateur DRAOUI Hassan 165
1. Configurer l’adresse IP sur toutes les machines (par fichier) en
testant leur connectivité
2. Activer le service TELNET sur serveurTelnet et désactiver les
pare-feux
3. Sur clientTelnet1 , Ouvrir une session Telnet sur serveurTelnet en
utilisant le compte d’un utilisateur système non root (interdit sur
serveur Telnet) puis basculer vers root
4. Configurer le service TELNET sur serveurTelnet pour n’accepter
que les connexions depuis clientTelnet2 sur le port 2020
5. Tester sur les clients clientTelnet1 et clientTelnet2
Solution Vidéo :
TELNET
Formateur DRAOUI Hassan 166
CHAPITRE X:
service SSH
Formateur DRAOUI Hassan 167
I- Configuration du serveur SSH par clés (RSA ou DSA):
Pré-requis :
Désactiver le pare-feux iptables
1. Vérifier que le package openssh-server est installé
2. Redémarrer le service sshd
Formateur DRAOUI Hassan 168
II- Configuration d’un client SSH par clés :
Formateur DRAOUI Hassan 169
1. Créer les clés (privée/publique) de type RSA ou DSA :
util3@Client3$ ssh-keygen ( -t rsa )
2. Copier la clé publique du client sur le serveur SSH et la définir en tant
que clé autorisée sur le serveur SSH (…/.ssh/authorised_keys) :
util3@Client3$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@serveurSSH
NB: Dans ce cas l’utilisateur ayant la clé ~/.ssh/id_rsa.pub (par
exemple util3) aura l’accès en tant que root sur le serveur SSH
3. Accès depuis le client :
util3@Client3$ ssh root@serveurSSH
NB: util3 doit rentrer directement sans demande ni de login ni de MdP
Exercice TP : SSH Formateur DRAOUI Hassan 170
1. Configurer l’adresse IP sur toutes les machines (par fichier) en testant leur connectivité
2. Vérifier que openssh-server est installé sur serveurSSH et démarrer le service sshd et y
créer l’utilisateur util-serv1 (avec le mot de passe passserv1)
3. Sur clientSSH1(Windows) utiliser Putty et essayer d’accéder en SSH sur serveurSSH
4. Sur clientSSH2(Linux) créer l’utilisateur util-client2 (avec le mot de passe passclient2)
5. Ouvrir une session pour util-client2 et créer des clés RSA et copier la clé publique sur
serveurSSH en l’autorisant pour l’utilisateur util-serv1
6. Sur serveurSSH refuser les accès SSH par mot de passe (/etc/ssh/sshd_config )
7. Sur clientSSH2(util-client2), accéder en SSH sur serveurSSH (util-serv1) sans mot de passe
Solution Vidéo :
SSH
Formateur DRAOUI Hassan 171
EFF Pratique 2010 - V4
SSH
Formateur DRAOUI Hassan 173
EFF Pratique 2018
SSH
Formateur DRAOUI Hassan 174
Application : EFF 2018
# vim /etc/ssh/sshd_config
Protocol 2
Port 2222
PasswordAuthentication yes
MaxSessions 5
MaxAuthTries 4
PermitRootLogin no
AllowUsers Admin1
DenyUsers Stagiaire1
Banner MyBanner
######Autres
#AllowGroups hassan
#DenyGroups root
# vim /etc/ssh/MyBanner
#########################################################
# …… #
######################################################### 178
Formateur DRAOUI Hassan
EFF 2018 Tests :
# ssh root@[Link] -p 2222
# ssh hassan@[Link] -p 2222
# tail -22 /var/log/secure
...User root from localhost not allowed because a group is listed in
DenyGroups
...input_userauth_request: invalid user root
...password check failed for user (root)
...pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0
tty=ssh ruser= rhost=localhost user=root
...Failed password for invalid user root from [Link] port 60874 ssh2
...Connection closed by [Link]
...Accepted password for hassan from [Link] port 60875 ssh2
...pam_unix(sshd:session): session opened for user hassan by (uid=0)
-----------------------------------------------------------------
Formateur DRAOUI Hassan 179
Services avancés 1:
HTTP
Formateur DRAOUI Hassan 180
CHAPITRE XII:
service HTTP
Formateur DRAOUI Hassan 181
I - Site par défaut
1. Installer le service web (apache)
#yum install httpd
2. Démarrer le service httpd
#service httpd start
Tester localement :
Ouvrez Firefox et tapez : [Link] (ou [Link]
Formateur DRAOUI Hassan 182
II - Création d’un site web simple dans l’emplacement par défaut
Préparation :
- Sauvegarder le fichier de configuration initial de httpd :
#cp /etc/httpd/conf/[Link] /etc/httpd/conf/[Link]
- Donner au serveur l’adresse [Link]
- Configurer la résolution de noms localement par le fichier « /etc/hosts »
pour résoudre les noms en adresse IP :
#vim /etc/hosts
[Link] [Link]
Formateur DRAOUI Hassan 183
1. #rpm -q httpd
2. Modifier de fichier de configuration web (apache)
#vim /etc/httpd/conf/[Link]
Listen [Link]:80
3. Créer un site web dans le répertoire de base par défaut (fichiers html):
#vim /var/www/html/[Link]
"Bienvenue chez l’ISGI Laayoune"
4. Redémarrer le service httpd :
#service httpd restart
Formateur DRAOUI Hassan 184
Partie III : Création de 2 sites différents avec 2 adresses différentes
Préparation :
- Restaurer le fichier de configuration initial de httpd :
#cp /etc/httpd/conf/[Link] /etc/httpd/conf/[Link]
- Donner au serveur les adresses [Link] et [Link] :
#ifconfig eth1:0 [Link]/24 up (par fichier !!!!!!)
#ifconfig eth1:1 [Link]/24 up (par fichier !!!!!!)
- Configurer la résolution de noms localement par le fichier "/etc/hosts" :
#vim /etc/hosts
[Link] [Link]
[Link] [Link]
- Créer les dossiers (déclarés ci-dessus) qui contiendront les deux sites :
#mkdir /var/www/html/isgi
#mkdir /var/www/html/ista
- Créer le contenu des sites dans chacun des dossiers ci-dessus :
#echo " Welcome to ISGI Laayoune " > /var/www/html/isgi/[Link]
#echo " Welcome to ISTA Laayoune " > /var/www/html/ista/[Link]
Formateur DRAOUI Hassan 185
1. #rpm -q httpd 186
Formateur DRAOUI Hassan
2. Modifier le fichier de configuration du serveur web :
#vim /etc/httpd/conf/[Link]
Listen *:80
<VirtualHost [Link]:80>
DocumentRoot /var/www/html/isgi
</VirtualHost>
<VirtualHost [Link]:80>
DocumentRoot /var/www/html/ista
</VirtualHost>
5. Redémarrer le service web
Partie IV : Création de 2 sites différents avec 2 ports différents
Préparation :
- Restaurer le fichier de configuration initial de httpd :
#cp /etc/httpd/conf/[Link] /etc/httpd/conf/[Link]
- Donner au serveur l’adresse [Link]
- Modifier le fichier /etc/hosts
#vim /etc/hosts
[Link] [Link]
[Link] [Link]
- Créer le dossier qui contiendront les sites (les fichiers html)
#mkdir /var/www/html/isgi
#mkdir /var/www/htm l/ista
- Créer les fichiers des sites :
#vim /var/www/html/isgi/[Link]
<h1> hello isgi </h1>
#vim /var/www/html/ista/[Link]
<h1> hello ista </h1> 187
Formateur DRAOUI Hassan
1. #rpm -q httpd
2. Modifier le fichier de configuration web
#vim /etc/httpd/conf/[Link]
Listen [Link]:8080
Listen [Link]:80
<VirtualHost [Link]:8080>
DocumentRoot /var/www/html/isgi
</VirtualHost>
<VirtualHost [Link]:80>
DocumentRoot /var/www/html/ista
</VirtualHost>
[Link]émarrer le service web
Formateur DRAOUI Hassan 188
Partie V : Création de 2 sites différents avec le même port et la
même adresse IP
Préparation :
- Restaurer le fichier de configuration initial de httpd :
#cp /etc/httpd/conf/[Link] /etc/httpd/conf/[Link]
- Donner au serveur l’adresse [Link]
- Modifier le fichier /etc/hosts
#vim /etc/hosts
[Link] [Link]
[Link] [Link]
- Créer les dossiers :
#mkdir /var/www/html/isgi
#mkdir /var/www/html/ista
- Créer les sites :
#vim /var/www/html/isgi/[Link]
« Bienvenue ISGI - DRPS »
#cat « Bienvenue ISTA - DRPS » > /var/www/html/ista/index.html189
Formateur DRAOUI Hassan
1. #rpm -q httpd
2. Modifier le fichier de configuration web
#vim /etc/httpd/conf/[Link]
Listen [Link]:80
NameVirtualhost [Link]:80
<VirtualHost [Link]:80>
DocumentRoot /var/www/html/isgi
ServerName [Link]
</VirtualHost>
<VirtualHost [Link]:80>
DocumentRoot /var/www/html/ista
ServerName [Link]
</VirtualHost>
3. Redémarrer le service web 190
Formateur DRAOUI Hassan
Exercice TP : APACHE
1. Configurer l’adresse IP sur toutes les machines (par fichier) en
testant leur connectivité
2. Vérifier si le package httpd est installé sur le serveur
3. Créer deux dossiers /var/www/html/tri et /var/www/html/tmsir et y
créer des fichiers [Link] contenants des lignes différentes
4. Publier les deux sites WEB ci-dessus (pour [Link] et
[Link] )
5. Configurer le fichier /etc/hosts du la machine clientWEB pour
résoudre les noms [Link] et [Link] en [Link] (S’il
n’y a pas de service DNS)
6. Tester les deux sites sur la machine clientWEB
191
NB: DirectoryIndex [Link] Formateur DRAOUI Hassan
Solution Vidéo :
APACHE
Formateur DRAOUI Hassan 192
Services avancés 2:
MTA : postfix, sendmail
MDA : dovecot
(fetchmail)
Formateur DRAOUI Hassan 196
CHAPITRE XIII:
service SMTP par postfix
Formateur DRAOUI Hassan 197
I- Configurer le serveur SMTP pour le domaine [Link] :
1. #rpm -q postfix
2. #vim /etc/postfix/[Link]
77 myhostname = serveurSMTP
85 mydomain = [Link]
118 inet_interfaces = all
166 mydestination = ....., $mydomain
421 home_mailbox = Maildir/
3. #service postfix start
Formateur DRAOUI Hassan 198
NB:
pour configurer l’écoute sur les deux protocoles IPv4 et IPv6 :
#vim /etc/postfix/[Link]
inet_protocols = all
Formateur DRAOUI Hassan 199
II-Envoyer un email par l'outil TELNET (facultatif) :
$ telnet serveurSMTP 25
EHLO hassan
MAIL FROM: user1@[Link]
RCPT TO: user2@[Link]
DATA
Mail envoyé de USER1 à USER2
.
QUIT
NB: L’utilisateur user2 doit être
présent sur le serveur SMTP
Formateur DRAOUI Hassan 200
Vérification sur le serveur :
#cat /home/user2/Maildir/new/*
III-TROUBLESHOOTING
#tail /var/log/maillog
Formateur DRAOUI Hassan 201
Exercice TP : POSTFIX Simple
Soit le réseau suivant :
1. Configurer l’adresse IP sur toutes les machines (par fichier) en testant leur connectivité
2. Vérifier que le package « postfix » est installé et désactiver les pare-feux
3. Configurer le service SMTP pour le domaine « [Link] »
4. Créer les utilisateurs :isgi1 et ista1
5. En utilisant l’outil telnet envoyer un mail de isgi1 à ista1 depuis le client
Formateur DRAOUI Hassan 202
Solution Vidéo :
POSTFIX
Formateur DRAOUI Hassan 203
Niveau avancé
Formateur DRAOUI Hassan 204
IV- Configurer le serveur SMTP pour accepter les courriels d’un
domaine [Link]
#vim /etc/postfix/[Link]
166 mydestination = ....., $mydomain, drps
#service postfix restart
V- Autoriser le relayage (routage) des mails (en utilisant les
enregistrements MX)
#vim /etc/postfix/[Link]
mynetworks = …… , reseau1/masque1
Formateur DRAOUI Hassan 205
CHAPITRE XIV:
services POP3/IMAP
par dovecot
Formateur DRAOUI Hassan 207
I- Configurer DOVECOT pour servir les service POP3 et IMAP:
1. #rpm -q dovecot
2.
#vim /etc/dovecot/[Link]
protocols = imap pop3
#listen = *
#vim /etc/dovecot/conf.d/[Link]
mail_location = maildir:~/Maildir
#vim /etc/dovecot/conf.d/[Link]
disable_plaintext_auth = no
#vim /etc/dovecot/conf.d/[Link]
#ssl = required
ssl = yes
3. #service dovecot restart 208
Formateur DRAOUI Hassan
Ou…………..
----------------------------------------------------
#vim /etc/dovecot/[Link]
protocols = imap pop3
#listen = *
mail_location = maildir:~/Maildir
disable_plaintext_auth = no
ssl = yes
#service dovecot restart
----------------------------------------------------
Vérification
#netstat -tulpen | grep dovecot
Formateur DRAOUI Hassan 209
II- Récupérer les emails par l'outil TELNET (facultatif) :
$ telnet serveurPOP3 110
user user2
pass 123456
list
….
top 1 1
….
quit
NB:L’utilisateur user2 doit être présent sur le serveur POP3
Formateur DRAOUI Hassan 210
Exercice TP : DOVECOT Simple +POSTFIX
Soit le réseau suivant :
1. Configurer l’adresse IP sur toutes les machines (par fichier) en testant leur connectivité
2. Vérifier que le package « postfix » est installé et désactiver les pare-feux
3. Configurer le service SMTP pour le domaine « [Link] »
4. Créer les utilisateurs sur le serveur : isgi2 et ista2 en leur donnant des mots de passe
5. En utilisant l’outil telnet envoyer un mail de isgi2 à ista2 depuis le client
6. Vérifier que le package « dovecot » est installé
7. Configurer « dovecot » pour les services POP3 et IMAP
8. En utilisant l’outil telnet, sur le client, récupérer les email de ista2 depuis le serveur POP3
Formateur DRAOUI Hassan 211
Services avancés 3:
LDAP
Formateur DRAOUI Hassan 212
CHAPITRE XI:
service LDAP
Formateur DRAOUI Hassan 213
I – Configuration simple du serveur LDAP
#rpm -q openldap openldap-clients openldap-severs
#locate [Link] ( /usr/share/openldap-servers/[Link] )
#cp /usr/share/openldap-servers/[Link] /etc/openldap/[Link]
#rm -Rf /etc/openldap/slapd.d/
#slappasswd
…………..
resultat_slappasswd
#vim /etc/openldap/[Link]
by [Link]="cn=Manager,dc=tri,dc=isgi" read (ligne 107)
suffix "dc=tri,dc=isgi" (ligne 115)
rootdn "cn=Manager,dc=tri,dc=isgi" (ligne 117)
rootpw resultat_slappasswd
#service slapd start
Formateur DRAOUI Hassan 214
II– Configuration du client LDAP
#rpm -q openldap openldap-clients
#vim /etc/openldap/[Link]
BASE dc=tri,dc=isgi
URI ldap://Adresse_Du_Serveur_LDAP
Exemple de recherche :
Affichage de la base de données LDAP complète :
#ldapsearch -x -W -D "cn=Manager,dc=tri,dc=isgi"
-x :
-W :
-D :
Formateur DRAOUI Hassan 215
III – Remplissage de la base de données LDAP (sur le serveur) :
#vim /home/hassan/Bureau/peuplement_min.ldp
dn: dc=tri,dc=isgi
objectClass: domain
dn: ou=utilisateurs,dc=tri,dc=isgi
objectClass: organizationalUnit
dn: cn=admin2,ou=utilisateurs,dc=tri,dc=isgi
objectClass: organizationalRole
dn: cn=user1,ou=utilisateurs,dc=tri,dc=isgi
objectClass: person
sn: user1
#ldapadd -W -D cn=Manager,dc=tri,dc=isgi -xf /home/hassan/Bureau/peuplement_min.ldp
-f : lire les opérations à faire depuis le fichier (devant cette option)
-c : Pour ignorer les erreurs (do not stop on errors)
NB :refaites la recherche : #ldapsearch -x -W -D "cn=Manager,dc=tri,dc=isgi" et contempler
les attributs ajoutés automatiquement par openldap (dc, ou , cn)
Formateur DRAOUI Hassan 216
VI – Modification/Suppression de la base de données LDAP (sur le serveur) :
Modification :
#vim /home/hassan/Bureau/[Link]
dn: cn=user1,ou=utilisateurs,dc=tri,dc=isgi
changetype: modify
replace: telephoneNumber
telephoneNumber: 0444444444
#ldapmodify -W -D cn=Manager,dc=tri,dc=isgi -xf /home/hassan/Bureau/[Link]
Suppression :
#ldapdelete -W -v -D cn=Manager,dc=tri,dc=isgi -x
cn=user1,ou=utilisateurs,dc=tri,dc=isgi
V – Recherche dans la base de données LDAP (sur les clients) :
Syntaxe générale :
$ldapsearch -x -b dn [attribut=valeur]
Exemples de recherche :
$ldapsearch -x -b “dc=tri,dc=isgi”
$ldapsearch -x -b “ou=utilisateurs,dc=tri,dc=isgi”
$ldapsearch -x -b “dc=tri,dc=isgi” “objectClass=person”
$ldapsearch -x -b “dc=tri,dc=isgi” “cn=admin2”
-b : d’où on doit commencer la recherche
“objectClass=person”, “cn=admin2” : exemples de filtres de recherche (attribut=valeur)217
Formateur DRAOUI Hassan
Exercice TP : LDAP Simple
Soit le réseau suivant :
1. Configurer l’adresse IP sur toutes les machines (par fichier) en testant leur connectivité
2. Vérifier que les packages de « openldap » sont installés et désactiver les pare-feux
3. Configurer le service LDAP pour le domaine « [Link] »
4. Créer les objets suivants : Unité organisationnel :ISGI, les utilisateurs :TRI1 et TRI2 dans
l’OU ISGI
5. Configurer le client LDAP sur la machine clientLDAP et tester en affichant la base de
données LDAP complète
Formateur DRAOUI Hassan 218
Solution Vidéo :
LDAP avec fichier de
configuration
Formateur DRAOUI Hassan 219
EFF Pratique 2013
V31
Formateur DRAOUI Hassan 220
Solution Vidéos :
EFF Pratique 2013
V31
Formateur DRAOUI Hassan 221
OpenLDAP pour
l’authentification
Formateur DRAOUI Hassan 222
Liste non-exhaustive des attributs (Authentification!!!!!):
dn: uid=admin3,ou=utilisateurs,dc=tri,dc=isgi
#uid exige inetOrgPerson
objectClass: inetOrgPerson
# inetOrgPerson exige sn
sn: admin33
#
objectClass: posixAccount
# posixAccount exige uid,cn,uidNumber,gidNumber,homeDirectory
cn: admin3
uidNumber: 1111
gidNumber: 1111
homeDirectory: /home/admin3
# loginShell est un attribut facultatif qui s’utilise seulement si posixAccount existe
loginShell: /bin/bash
#
userPassword: secret3
dn: cn=admin3,ou=utilisateurs,dc=tri,dc=isgi
objectClass: posixGroup
gidNumber: 1111
#posixGroup exige seulement gidNumber
cn: admin3
Formateur DRAOUI Hassan 223
memberUid: admin3
Clients LDAP : authentification par LDAP
Configuration du client d’authentification:
#rpm -q sssd
#rpm -qa | grep authconfig
#authconfig --enableldap --enableldapauth --ldapserver=ldap://[Link] \
--ldapbasedn="dc=tri,dc=isgi" --enablemkhomedir --update
=========#authconfig-tui
=========#authconfig-gtk ( ou # system-config-authentication )
NB: Après l’exécution de cette commande vérifier le contenu de /etc/openldap/[Link]
Tests depuis un client (on va voir LDAPS plus tard ):
$id admin3
$su -l admin3 : ne se connecte pas pour des raison de sécurité (exige LDAPS)
#su -l admin3 : se connecte sans demander de MdP ( -l : se connecter au répertoire personnel)
$getent passwd
$getent passwd admin3
NB: Vous pouvez ajouter des paramètres de authconfig sans affecter les autres paramètres :
#authconfig --enablemkhomedir --update
#authconfig --disableldaptls --update
Formateur DRAOUI Hassan 224
Niveau avancé :
Autres Attributs
Formateur DRAOUI Hassan 227
Liste non-exhaustive des attributs :
dn: dc=tri,dc=isgi
dc: tri
objectClass: top
objectClass: domain
objectClass: domainRelatedObject
associatedDomain: [Link]
description: c'est le domaine [Link]
dn: cn=admin4,ou=utilisateurs,dc=tri,dc=isgi
objectClass: simpleSecurityObject
objectClass: organizationalRole
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: admin4
sn: admin44
uid: admin4
userPassword: secret4
loginShell: /bin/bash
uidNumber: 1111
gidNumber: 1111
homeDirectory: /home/admin4
Formateur DRAOUI Hassan 228
dn: cn=group1,ou=utilisateurs,dc=tri,dc=isgi
objectClass: posixGroup
gidNumber: 1111
memberuid: cn=admin4,ou=utilisateurs,dc=tri,dc=isgi
Formateur DRAOUI Hassan 229
CHAPITRE XV:
Sauvegarde et restauration
(tar, cpio, rsync, dd)
Formateur DRAOUI Hassan 231
I- Sauvegarde et restauration :
La sauvegarde est la duplication de données importantes dans un autre emplacement pour pouvoir
les restaurer complètement ou en partie en cas de perte.
Types de sauvegarde :
- Complète : On sauvegarde toutes les données.
- Différentielle : On sauvegarde seulement les fichiers modifiés depuis la dernière sauvegarde
complète.
(on ignore les autres sauvegardes même qu'ils sont plus récentes).
- Incrémentielle : On sauvegarde seulement les fichiers modifiés depuis la dernière sauvegarde.
Remarque importante:
La première sauvegarde doit être toujours complète
Procédures:
- Sauvegarde Complète : lors d'une sauvegarde complète, on met le bit d'archive à 0 pour tous les
fichiers.
- Sauvegarde Différentielle : lors d'une sauvegarde Différentielle, on met le bit d'archive reste
inchangé pour tous les fichiers.
- Sauvegarde Incrémentielle : lors d'une sauvegarde Incrémentielle, on met le bit d'archive à 0
pour les fichiers modifiés qui ont été sauvegardés seulement.
NB: La modification d'un fichier met (ou création) met le bit d'archive à 1
Formateur DRAOUI Hassan 232
Restauration :
- Sauvegarde Complète : on récupère la dernière sauvegarde complète.
- Sauvegarde Différentielle : on récupère la dernière sauvegarde complète puis la dernière
sauvegarde différentielle.
-Sauvegarde Incrémentielle : on récupère la dernière sauvegarde complète puis toutes les
sauvegardes incrémentielles dans l'ordre.
Avantages :
- Sauvegarde Complète :
- Sauvegarde Différentielle :
-Sauvegarde Incrémentielle :
Inconvénients :
- Sauvegarde Complète :
- Sauvegarde Différentielle :
-Sauvegarde Incrémentielle :
Formateur DRAOUI Hassan 233
Stratégie de sauvegarde :
chaque organisme doit éventuellement combiner plusieurs types sauvegarde pour répondre à ces
contraintes:
- criticité des données
- périodicité des modifications
- quantité des données
- le temps des sauvegardes
- ...
Ces contraintes aideront à réponde au questions suivantes :
- Quoi sauvegarder ?
- Sur quoi sauvegarder (Support) ?
- Quand sauvegarder ?
- Quel type de sauvegarde ?
-...
Exemple de stratégie de sauvegarde :
- Sauvegarde complète au début de chaque semaine(Lundi)
- Sauvegarde différentielle au début de chaque jour (à 8h)
- Des sauvegardes incrémentielles à la tête de chaque heure ouvrable (de 9h à 17h)
Formateur DRAOUI Hassan 234
II- Sauvegarde par TAR :
Syntaxe :
-->Archivage simple (sans compression)
$tar -c -f [Link] source1 source2 ...
-->Afficher le contenu d'un archive :
$tar -t -f [Link]
-->Extraire un archive :
$tar -x -f [Link]
Options importantes :
-z, --gzip : compresse l'archive par GZIP
-j, --bzip2 : compresse l'archive par BZIP2
-J, --xz : compresse avec double compression (!!!!!gzip et bzip2)
NB: utiliser la commande "time" pour voir le temps d'éxécution de chaque commande
Autres options importantes :
-->Archiver les données dont les chemins se trouvent dans un fichier:
$tar -c -f [Link] --files-from=CheminDuFichier
-->Ajouter des fichiers à un archive existant (-r, --append):
$tar --append -f [Link] source3
-->Ajouter d'autres archives à un archive existant(-A, --catenate, --concatenate):
$tar -Af [Link] [Link] Formateur DRAOUI Hassan 235
Exemples
-->Archivage simple (sans compression)
tar [-vv] -cf [Link] source1 source2
tar -tf [Link]
tar -xf [Link]
-->Archivage avec compression gzip (-z, --gzip)
tar -zcvf [Link] source1
tar -ztvf [Link]
tar -zxvf [Link]
-->Archivage avec compression bzip2 (-j, --bzip2)
tar -jcvf [Link].bz2 source1
tar -jtvf [Link].bz2
tar -jxvf [Link].bz2
-->Archivage avec double compression ( -J, --xz )
tar --xz -cvf [Link] source1
tar --xz -tvf [Link]
tar --xz -xvf [Link]
-->Comparer les tailles :
$ls -lrth
Formateur DRAOUI Hassan 236
Quelques options de tar :
#man tar
--delete : supprimer des fichiers d’une archive
-f, --file=ARCHIVE
-r, --append
-A, --catenate, --concatenate
-c, --create
--add-file=FICHIER
-t, --list
-u, --update
-g, --listed-incremental=FICHIER
Formateur DRAOUI Hassan 237
-->Archivage incrémentiel (-g, --listed-incremental=FICHIER):
On utilise un fichier de snapshot (META) d'extension snar par exemple (snar = snapshot + tar) :
- Si le fichier n'existe pas encore, la commande crée une sauvegarde complète
- Sinon, la commande crée une sauvegarde incrémentielle et met à jour le fichier du snapshot
Exemple :
Sauvegarde :
mkdir /source
echo fichier1 > /source/fichier1
echo fichier2 > /source/fichier2
tar -cvf [Link] /source -g [Link]
echo fichier3 > /source/fichier3
tar -cvf [Link] /source -g [Link]
echo fichier1-bis >> /source/fichier1
tar -cvf [Link] /source -g [Link]
-------------------------------------------------------------------------------
rm -rf /source/fichier2
tar -cvf [Link] /source -g [Link]
Vérifications
#ls -lrth
#tar -tvf [Link] Formateur DRAOUI Hassan 238
Restauration :
rm -rf /source
tar -xvf [Link] -g /dev/null
tar -xvf [Link] -g /dev/null
tar -xvf [Link] -g /dev/null
-----------------------------------------------------
tar -xvf [Link]
cat /source/fichier2
tar -xvf [Link] -g /dev/null
cat /source/fichier2
Formateur DRAOUI Hassan 239
-->Astuce pour faire un archivage différentiel par TAR:
Exemple:
Sauvegarde
mkdir /source
echo fichier1 > /source/fichier1
echo fichier2 > /source/fichier2
tar -cvf [Link] /source -g [Link]
cp [Link] [Link].1
echo fichier3 > /source/fichier3
tar -cvf [Link] /source -g [Link].1
cp [Link] [Link].1
echo fichier1-bis >> /source/fichier1
tar -cvf [Link] /source -g [Link].1
cp [Link] [Link].1
rm -rf /source/fichier2
tar -cvf [Link] /source -g [Link].1
cp [Link] [Link].1
Restauration :
tar -xvf [Link] -g /dev/null
tar -xvf [Link] -g /dev/null
Formateur DRAOUI Hassan 240
III- Sauvegarde par RSYNC
Syntaxe :
#rsync -a source destination
Remarque :
#rsync -a source/ destination : sauvegarde les données directement dans la destination
#rsync -a source destination : créer un dossiers nommé "source" dans la destination
Exemples
mkdir /rsync
touch /rsync/{[Link],2.mp3,3.mp4}
mkdir -p /rsync/{doss1,doss2,doss3}
mkdir /rsync2
rsync -avr /rsync/ /rsync2/
rm -rf /rsync/doss3
rsync -avr --delete /rsync/ /rsync2/
rsync -avr --include '*/' --include '*.txt' --exclude '*' /rsync/ /rsync2/
rsync -avr --delete-excluded --include '*/' --include '*.txt' --exclude '*' /rsync/ /rsync2/
options :
-a: archive (ie archiver)
-r : recursive
-m : ignorer les dossiers vides
--delete-excluded : supprimer les fichiers/dossiers exclus de la destination 241
Formateur DRAOUI Hassan
IV- Sauvegarde par CPIO
Syntaxe :
--> Archivage :
#"commande retournant des fichiers/dossiers" | cpio -o > [Link]
ou
#"commande retournant des fichiers/dossiers" | cpio -o -F [Link]
--> Extraction :
#cpio -i < [Link]
ou
#cpio -i -F [Link]
--> Afficher le contenu d'un archive CPIO:
#cpio -it < [Link]
ou
#cpio -it -F [Link]
Formateur DRAOUI Hassan 242
Exemples:
--> Archivage
#cd ~
#ls | cpio -o > [Link]
--> Afficher le contenu d'un archive CPIO:
#cpio -it -F [Link]
--> Extraction :
mkdir /cpio
cd /cpio/
#cpio -i < ~/[Link]
#ls
Autres Exemples:
#find /home | cpio -o --format=tar -F username@ServerBackupIP:/dev/sdb \
--rsh-command=/usr/bin/ssh
#find / -print -depth | cpio -ov > [Link]
#find . -iname "*.txt" | cpio -ov -H tar > [Link]
Formateur DRAOUI Hassan 243
--> Compression et décompression d'un archive CPIO :
#find / -print -depth | cpio -ov | gzip > [Link]
#gunzip [Link] && cpio -i < [Link]
ou
#gunzip -c [Link] | cpio -i
options:
-H, --format=
-d
Formateur DRAOUI Hassan 244
V- Sauvegarde par DD
Syntaxe :
--> Archivage par Blocks (octets) :
#dd if=FichierSource of=FichierDestination [bs=TailleDuBlock count=NbrDeBlocks]
--> Extraction par Blocks (octets) :
Interchanger les fichiers source et destination
Exemples :
--> Sauvegarder le MBR du premier disque dur:
#dd if=/dev/sda of=FichierDestination1 bs=512 count=1
--> Sauvegarder le fichier /etc/hosts :
#dd if=/etc/hosts of=FichierDestination2
--> Sauvegarder la première partition du deuxième disque dur :
#dd if=/dev/sdb1 of=FichierDestination3
--> Copier CD (avec METADONNEES=boot...) :
#dd if=/dev/cdrom of=[Link]
Formateur DRAOUI Hassan 245
CHAPITRE XVI:
Programmation des tâches
(cron, anacron, at)
Formateur DRAOUI Hassan 246
I- Service CRON
Le service cron permet la programmation de tâches périodiques synchrones (à une minute près).
Il fonctionne à l’aide d’une table, appelée une crontab qui est un simple fichier texte.
Pour programmer une tâche périodique :
-$crontab -e : commande qui va ouvrir (créer) la table crontab, pour l’utilisateur en cours,
contenant des tâches périodiques ( le fichier est dans /var/spool/cron/ portant le nom
d’utilisateur).
-/etc/crontab : fichier contenant les tâches système (Obsolète, remplacé par /etc/anacrontab)
-/etc/cron.d/ : dossier contenant des tables crontab système pour les tâches périodiques de
différents utilisateurs
Formateur DRAOUI Hassan 247
Explication de la syntaxe crontab (à partir du fichier /etc/crontab )
Utilisez le format suivant pour les valeurs périodiques :
- Valeur : une seule valeur, Ex : 5 dans le champ minute signifie la cinquième minute.
- Valeur1,..,ValeurN :plusieurs valeurs, Ex : 4,7 dans le champ mois pour avril et juillet.
- Valeur1-ValeurN : intervalle, Ex : 1-5 dans le champ jour de la semaine signifie du lundi au
vendredi (jours ouvrables ).
- * : toutes les valeurs possibles, Ex : * dans le champ jour du mois signifie tous les jours du mois.
- */Valeur : chaque passage de la durée "valeur", Ex : */5 dans le champ heure signifie chaque
5 heures.
-@yearly, @monthly, @daily, @hourly, @reboot (au démarrage) Formateur DRAOUI Hassan 248
Exemples :
-Exécution chaque minute :
* * * * * echo "1min passed" >> /root/cron-root
-Exécution chaque 2 minutes :
*/2 * * * * echo "+2min" >> /home/hassan/cron-hassan
- Exécution deux fois par heure à 17min et à 34min:
17,34 * * * * -------------
-Exécution à 17h00 pendant les jours ouvrables (Lundi à Vendredi)
0 17 * * 1-5 /chemin/vers/[Link]
-
25 8-18 * 9-12,1-7 1-6 tar -cf /home/hassan/[Link] ~/Bureau/
Formateur DRAOUI Hassan 249
Droit d’exécution de taches planifiées pour les utilisateurs:
-Liste noir : /etc/[Link] (/etc/cron.d/[Link])
-Existe et vide par défaut
-Contient la liste des utilisateurs qui ne peuvent pas utiliser cron
-Format : nom utilisateur par ligne
-Liste blanche : /etc/[Link] (ou /etc/cron.d/[Link])
-Absent par défaut
-Contient la liste des utilisateurs qui peuvent utiliser cron
-Format : nom utilisateur par ligne
-Dans ce cas la liste [Link] est ignorée
-Si /etc/[Link] existe et est vide : seul l’utilisateur root est autorisé.
Formateur DRAOUI Hassan 250
Informations utiles :
-Les fichiers crontabs sont sauvés dans /var/spool/cron
-Lister les crontabs actives : $ crontab -l
-Supprimer la crontab active : $ crontab -r
- La configuration crontab générale pour le système est dans /etc/crontab et les fichiers
/etc/cron.*
Formateur DRAOUI Hassan 251
Obsolète (remplacé par /etc/anacrontab )
Exemple du fichier crontab système (/etc/crontab) :
La configuration crontab générale pour le système est dans /etc/crontab.
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/[Link]
02 4 * * * root run-parts /etc/[Link]
22 4 * * 0 root run-parts /etc/[Link]
42 4 1 * * root run-parts /etc/[Link]
Ici tous les jours à 4h02 du matin run-parts /etc/[Link] est exécuté. Le script run-parts
accepte en paramètre un répertoire et exécute tous les programmes présents dans ce répertoire.
# ls /etc/[Link]/
cups [Link] prelink logrotate [Link] [Link] tmpwatch
Parmi les programmes présents ici :
-logrotate qui permet d’effectuer des sauvegardes et de renommer des fichiers logs et des
journaux du système afin que ceux-ci ne deviennent pas inexploitables à cause de leur taille.
-tmpwatch est chargé de nettoyer le système des fichiers inutilisés (dans /tmp par exemple).
252
Formateur DRAOUI Hassan
Extrait de l’aide de la commande cron :
$man cron :
……………….
Cron searches /var/spool/cron for crontab files which are named after accounts in
/etc/passwd; The found crontabs are loaded into the memory. Cron also searches for
/etc/anacrontab and any files in the /etc/cron.d directory, which have a different for‐
mat (see crontab(5)). Cron examines all stored crontabs and checks each job to see if
it needs to be run in the current minute. When executing commands, any output is
mailed to the owner of the crontab (or to the user specified in the MAILTO environment
variable in the crontab, if such exists). Any job output can also be sent to syslog by
using the -s option.
………
/etc/crontab
system crontab. Nowadays the file is empty by default. Originally it was usu‐
ally used to run daily, weekly, monthly jobs. By default these jobs are now run
through anacron which reads /etc/anacrontab configuration file. See
anacrontab(5) for more details.
/etc/cron.d/
directory that contains system cronjobs stored for different users.
/var/spool/cron
directory that contains user crontables created by the crontab command. 253
Formateur DRAOUI Hassan
II- Service ANACRON
Le service ancron permet la programmation de tâches périodiques asynchrones (à un jour près).
Il fonctionne à l’aide de la table /etc/anacrontab qui contient la liste des tâches programmées.
NB : anacron utilise cron pour fonctionner.
Formateur DRAOUI Hassan 254
Exemple
- Modifier les paramètres par défaut (pour tester) :
#vim /etc/anacrontab
---------------------------------------------------------------------------------------------------------------------
RANDOM_DELAY=1
#period in days delay in minutes job-identifier command
1 1 [Link] nice run-parts /etc/[Link]
7 25 [Link] nice run-parts /etc/[Link]
@monthly 45 [Link] nice run-parts /etc/[Link]
---------------------------------------------------------------------------------------------------------------------
- Créer le script :
#vim /etc/[Link]/[Link]
---------------------------------------------------------------------------------------------------------------------
#!/bin/sh
mkdir -p /home/hassan/Bureau/test-anacron
echo Bonjour >> /home/hassan/Bureau/test-anacron/[Link]
---------------------------------------------------------------------------------------------------------------------
#chmod +x /etc/[Link]/[Link]
-Forcer l’ exécution des « anacrontab » pour tester (modifier le timestamp …)
#anacron -f (voir #tail /var/log/cron) Formateur DRAOUI Hassan 255
Extrait de l’aide de la commande anacron :
$man anacon :
………
Anacron reads a list of jobs from the /etc/anacrontab configuration file (see anacrontab(5)).
This file contains the list of jobs that Anacron controls. Each job entry specifies a period in
days, a delay in minutes, a unique job identifier, and a shell command.
For each job, Anacron checks whether this job has been executed in the last n days, where n is
the time period specified for that job. If a job has not been executed in n days or more, Anacron
runs the job's shell command, after waiting for the number of minutes specified as the delay
parameter.
After the command exits, Anacron records the date (excludes the hour) in a special timestamp
file for that job, so it knows when to execute that job again.
When there are no more jobs to be run, Anacron exits.
Formateur DRAOUI Hassan 256
Extrait de l’aide du fichier anacrontab :
$man anacontab :
………
DESCRIPTION
The /etc/anacrontab configuration file describes the jobs controlled by anacron(8). It
can contain three types of lines: job-description lines, environment assignments, or
empty lines.
Job-description lines can have the following format:
period in days delay in minutes job-identifier command
The period in days variable specifies the frequency of execution of a job in days.
This variable can be represented by an integer or a macro (@daily, @weekly, @monthly),
where @daily denotes the same value as the integer 1, @weekly the same as 7, and
@monthly specifies that the job is run once a month, independent on the length of the
month.
The delay in minutes variable specifies the number of minutes anacron waits, if neces‐
sary, before executing a job. This variable is represented by an integer where 0 means
no delay.
The job-identifier variable specifies a unique name of a job which is used in the log
files. Formateur DRAOUI Hassan 257
III- Service AT
Le service at permet la programmation de tâches non périodiques (ponctuelles) .
Syntaxe 1:
$at HHMM [MMJJAA]
$/bin/bash
$commande1
….
$commandeN
$<EOT> (Ctrl+D)
Syntaxe 2:
$at -t [[CC]YY]MMDDhhmm[.ss]
Syntaxe 3:
$at … -f FichierContenantDesCommandes
Autres commandes :
-La commande atq (at queue) permet de lister les tâches programmées :
-La commande atrm permet de supprimer une tâche :
$ atrm NumeroDeLaTache
NB : Les jobs (tâches) sont placées dans le répertoire /var/spool/at/ 258
Formateur DRAOUI Hassan
L’heure peut être formatée ainsi :
-HHMM ou HH:MM.
-L’heure peut être au format 24h
-ou 12h, à cet format, vous pouvez préciser AM (matin) ou PM (après midi).
- midnight (minuit), noon (midi), teatime (16h00), tomorrow.
- HHMM {MMJJAA, MM/JJ/AA, [Link]} pour une date précise.
- now : maintenant.
-... +n minutes/hours/days/weeks : l’heure courante auquel on ajoute n
minutes/heures/jours/semaines.
NB: la commande batch permet de planifier des tâches selon l’utilisation du processeur (80%)
NB: pour vérifier le SHELL actuel : #cat /proc/$$/cmdline
$man at
…………………………
FILES
/var/spool/at
/var/spool/at/spool
/proc/loadavg
/var/run/utmp
/etc/[Link]
/etc/[Link]
Formateur DRAOUI Hassan 259
Exemples:
at 13:56
at 1356
at 13:59 051920
at 13:59 051921
at -t 2005201413
at now
at now +2 minutes
at now +2 weeks
at midnight
at noon
at teatime
at 03PM tomrrow
at 03PM + 30 minutes
batch
at 03AM + 30 minutes
ls -lrth /var/spool/at/
Formateur DRAOUI Hassan 260
CHAPITRE XVII:
Virtualisation par KVM
Formateur DRAOUI Hassan 261
1. Préparer KVM
--> Activer la virtualisation sur BIOS (ou Vmware)
--> Vérifier que le(s) processeur(s) supporte la virtualisation :
# grep -E '(vmx|svm)' /proc/cpuinfo
--> Installer l'hyperviseur KVM
# yum install -y qemu-kvm libvirt-client virt-manager
--> Démarrer le service de virtualisation (par défaut démarré)
# systemctl start libvirtd
--> Configurer le service de virtualisation pour démarrer avec l'OS (par défaut)
# systemctl enable libvirtd
--> Vérifier l'existence du module KVM :
# lsmod | grep kvm
Formateur DRAOUI Hassan 262
--> Préparer les sources d'installation (par exemple image ISO):
***********************************************************************
**********************************ISO**********************************
***********************************************************************
Copier l'image ISO de CentOS dans le bureau
# chmod 777 /home/hassan/Bureau/CentOS-7-x86_64-[Link]
# chown [Link] /home/hassan/Bureau/CentOS-7-x86_64-[Link]
ou
Insérer le DVDROM dans le lecteur DVD:
# dd if=/dev/sr0 of=[Link]
***********************************************************************
Formateur DRAOUI Hassan 263
2. Démonstration :
--> Utiliser l'interface graphique pour créer et gérer les VMs
# virt-manager
--> Installer une nouvelle machine virtuelle
--> Cloner une machine virtuelle
--> Réduire la RAM à une machine virtuelle
--> Ajouter d'autres cartes réseau à une VM
--> Créer des réseaux virtuels
--> Configurer les VMs pour démarrer avec l'OS
3.
--> Utiliser les commandes pour gérer les VMs
# virsh list
# virsh destroy CentOS7.7
# virsh start CentOS7.7
………..
Formateur DRAOUI Hassan 264
Formateur DRAOUI Hassan 265
CHAPITRE XVII:
Gestion de stockage
(fdisk,parted,RAID,LVM,FS,Quota)
Formateur DRAOUI Hassan 266
I- partitionner un disque dur en utilisant l’outil fdisk
Ajouter un disque dur à la machine
#ls -al /dev/sdb
#fdisk -l
#fdisk /dev/sdb
m
n
p
<Enter>
<Enter>
+500M (K,M,G)
w
#fdisk -l
NB:
Mode d'emploi de fdisk :
Pour voir les commandes disponibles, tapez m
Pour afficher les partitions déjà créées, tapez p (print).
Pour créer une nouvelle partition, tapez n
Vous pouvez supprimer une partition en appuyant sur d 267
Formateur DRAOUI Hassan
#mkfs.ext4 /dev/sdb1
#mkdir /mnt/partition1
#mount /dev/sdb1 /mnt/partition1/
#cat /etc/mtab
#umount /dev/sdb1 /mnt/partition1/ (ou umount /dev/sdb1)
#vi /etc/fstab
..............
/dev/sdb1 /mnt/partition1 ext4 defaults 0 0
#mount -a
Champs de /etc/fstab :
- périphérique à monter. Par exemple, /dev/hda2 ou un répertoire réseau
- point de montage. Par exemple, /home
- type de système de fichiers. Par exemple, ext3
- options. defaults si pas d'option
- ce 5ème champ indique si la partition doit être sauvegardée. 0 pour non et 1 pour oui
- ce 6ème champ indique si la partition doit être vérifiée (par fsck) au démarrage. 0 ne vérifie pas
la partition, 1 pour le système de fichier racine (prioritaire) et 2 pour tout autre système de fichier.
Formateur DRAOUI Hassan 268
Autre commandes fdisk
--> Après partitionnement :
-------> definir le type de partition (exemple LVM)
#fdisk Disque
t
NbrPartition
L (pour voir tous les types disponibles)
8e (LVM)
w
-------> vérifier
#fdisk -l Disque
#lsblk
NB: pour supprimer d
Formateur DRAOUI Hassan 269
II- partitionner un disque dur en utilisant l’outil parted
#rpm -q parted
#parted NomDisque
help
mklabel TablePartition
print
mkpart
[TypePartition -si TablePartition=msdos-] (primary ou secondary)
ext4 (ext3 ....)
PremierBlock(DEBUT)
DernierBlock(FIN)
print
Methode2:#parted mkpart PART-TYPE [FS-TYPE] DEBUT FIN
#mkfs.ext4 NomPartition
#vim /etc/fstab
$man parted
mklabel label-type Create a new disklabel (partition table) of label-type. label-
type should be one of "bsd", "dvh", "gpt", "loop", "mac", "msdos","pc98",
or "sun". Formateur DRAOUI Hassan 270
Exemple:
#parted /dev/sdb
help
mklabel msdos
print
mkpart
primary
ext4
1
10000
[ignore]
print
quit
#mkfs.ext4 /dev/sdb1
#mkdir /partition1
#vim /etc/fstab
/dev/sdb1 /partition1 ext4 defaults 00
#mount -a
Formateur DRAOUI Hassan 271
Autres options:
--> Ajouter un drapeau (fanion, flag) à la partition:
#parted /etc/sdb
print
set NumeroPartition {boot/raid/lvm} on
print
quit
--> supprimer une partition:
#umount /etc/sdb1
#parted /etc/sdb
print
rm NumeroPartition
print
quit
--> restaurer une partition:
#parted /etc/sdb
print
rescue
PremierBlock
DernierBlock
yes
Formateur DRAOUI Hassan 272
III- Système RAID
[Link]
Avantages des systèmes RAID :
-Augmenter la taille de stockage
-Tolérance aux pannes
-Améliorer les performances de :
-Lecture des données
-Ecriture des données
Types des systèmes RAID :
- Le RAID logiciel
- RAID matériel
Formateur DRAOUI Hassan 273
Principe de la parité :
Soit la donnée A : A=A1A2A3
Soit la parité de A : Ap=A1 xor A2 xor A3
Disque1 Disque2 Disque3 Disque4
A1 A2 A3 Ap
Exemple:
A=101
Ap=1 xor 0 xor 1= (1 xor 0) xor 1 = 1 xor 1 = 0
D1 D2 D3 D4
1 0 1 0
On suppose qu'on a perdu D2:
A2=1 xor 1 xor 0 = 0 xor 0 = 0
XOR
K L K xor L
0 0 0
1 0 1
0 1 1
1 1 0 Formateur DRAOUI Hassan 274
Niveau de Min Description Avantages Inconvenant exemple
RAID Disques
Striping 2 Entrelacement de Performances élevées Aucune protection de
(0) données sans données
redondance
Mirror 2 Mise en mirrore de -haute performance Cout de mise en couvre
(1) disque (Duplication -haute protection de élevée
de données) données
Volume agrégé 3 Entrelacement de -excellent protection -performance d’écriture
parité repartie données + parité de données très lentes
(5) -lecture / écriture -si un deuxième disque
simultanées tombe en panne on perd
-régénération de les données sur les deux
données en cas de disques
Parte
(6) 4 Parité double Gérer 2 pannes de -Non prise change
disque simultanées charge par tous les
contrôleurs
-performance inferieur
à RAID5
RAID 10 4 Entrelacement de Haut performance + Surcout élevé
(1+0) données /Mirror niveau de protection
élevé
Formateur DRAOUI Hassan 275
Exemple :
Ajouter 4 disques dur à votre machine de 5Go,6Go,7Go et 8Go
En utilisant fdisk, créer sur chaque disque dur 4 partitions de 1Go
Créer un volume raid0 (volume1) sur la première partition de chaque disque dur :
#mdadm --create /dev/md/volume1 --level=raid0 --raid-devices=4 /dev/sdb1
/dev/sdc1 /dev/sdd1 /dev/sde1
Créer un volume raid1 (volume2) sur la deuxième partition des trois premier disque dur
et configurer la deuxième partition du disque 4 en tant que partition de secours
#mdadm --create /dev/md/volume2 --level=raid1 --raid-devices=3 /dev/sdb2
/dev/sdc2 /dev/sdd2 [--spare-devices=1 /dev/sde2]
Créer un volume raid5 (volume3) sur la troisième partition des trois premier disque dur
et configurer la troisième partition du disque 4 en tant que partition de secours
#mdadm --create /dev/md/volume3 --level=raid5 --raid-devices=3 /dev/sdb3
/dev/sdc3 /dev/sdd3 [--spare-devices=1 /dev/sde3]
Créer un volume raid5 (volume3) sur la troisième partition des trois premier disque dur
et configurer la troisième partition du disque 4 en tant que partition de secours
#mdadm --create /dev/md/volume4 --level=raid6 --raid-devices=4 /dev/sdb4
/dev/sdc4 /dev/sdd4 /dev/sde4
NB : Les volumes crées seront nommés automatiquement : /dev/md127….. /dev/md0 276
Formateur DRAOUI Hassan
Vérifier les tailles de volumes crées
#fdisk -l /dev/md/volume1
#fdisk -l /dev/md/volume2
#fdisk -l /dev/md/volume3
#fdisk -l /dev/md/volume4
Que remarquez-vous ?
Formater les volumes crées (ext4)
#mkfs.ext4 /dev/md/volume1
#mkfs.ext4 /dev/md/volume2
#mkfs.ext4 /dev/md/volume3
#mkfs.ext4 /dev/md/volume4
Monter les volume sur /mnt/volumeX (X=1 ou 2 ou 3 ou 4)
#mkdir /mnt/volume1 /mnt/volume2 /mnt/volume3 /mnt/volume4
#vi /etc/fstab
..............
/dev/md/volume1 /mnt/volume1 ext4 defaults 0 0
/dev/md/volume2 /mnt/volume2 ext4 defaults 0 0
/dev/md/volume3 /mnt/volume3 ext4 defaults 0 0
/dev/md/volume4 /mnt/volume4 ext4 defaults 0 0
#mount -a Formateur DRAOUI Hassan 277
TEST à refaire
Créer des donneés dans les dossiers /mnt/volumeX
echo test1 > /mnt/volume1/test
echo test2 > /mnt/volume2/test
echo test3 > /mnt/volume3/test
echo test4 > /mnt/volume4/test
Vérifier le contenu des volumes
cat /mnt/volume1/test
cat /mnt/volume2/test
cat /mnt/volume3/test
cat /mnt/volume4/test
Déconnecter le premier disque dur --5Go--(Si vous avez de la chance !!!!! )
************REBOOT !!!!!***************
Revérifier le contenu des volumes
cat /mnt/volume1/test
cat /mnt/volume2/test
cat /mnt/volume3/test
cat /mnt/volume4/test
Que remarquez-vous ? Formateur DRAOUI Hassan 279
Déconnecter le deuxième disque dur --6Go--(Si vous avez de la chance !!!!! )
************REBOOT !!!!!***************
Revérifier le contenu des volumes
cat /mnt/volume1/test
cat /mnt/volume2/test
cat /mnt/volume3/test
cat /mnt/volume4/test
Que remarquez-vous ?
Déconnecter le troisième disque dur --7Go--(Si vous avez de la chance !!!!! )
************REBOOT !!!!!***************
Revérifier le contenu des volumes
cat /mnt/volume1/test
cat /mnt/volume2/test
cat /mnt/volume3/test
cat /mnt/volume4/test
Que remarquez-vous ?
Formateur DRAOUI Hassan 280
IV- LVM ( Logical Volume Manager ) :
Un LVM permet de créer des espaces de données logiques sur plusieurs disques.
Le LVM regroupe les disques physiques, ou tout autre support de stockage dit physique (disque,
RAID matériel, RAID logiciel, etc …), qu’il appelle des volumes physiques PV (Physical
Volume) en un groupe de volumes VG (Volume Group). Ce groupe VG est vu par le LVM
comme une sorte de métadisque, dans lequel vous allez créer des volumes logiques LV (Logical
Volume) à volonté.
Vérifier que LVM est installé
#rpm -qa | grep lvm2
Vérifier que le service LVM est démarré :
# service lvm2-lvmetad status (#systemctl status lvm2-lvmetad)
Formateur DRAOUI Hassan 281
Exemple:
Ajouter 4 disques dur à votre machine de 5Go,6Go,7Go et 8Go
Définir les trois premiers disques en tant que volumes physiques
#pvcreate /dev/sdb /dev/sdc /dev/sdd
NB: Pour vérifier #pvdisplay
Créer un groupe de volumes (vg1) pour les volumes physiques précedemment crés
#vgcreate vg1 /dev/sdb /dev/sdc /dev/sdd
NB:#vgdisplay vg1 (/dev/vg1)
Créer deux volumes logiques (volume1 et volume2) de 5Go chacun
#lvcreate -n /dev/vg1/volume1 -L 5g vg1
#lvcreate -n volume2 -L 5g vg1
NB : n /dev/vg1/volume1 --> /dev/mapper/vg1-volume1 --> /dev/dm-N (N: un entier)
NB: #lvdisplay /dev/vg1/volume1
Formateur DRAOUI Hassan 283
Formater le volume en ext4
# mkfs -t ext4 /dev/vg1/volume1
# mkfs -t ext4 /dev/vg1/volume2
Monter les volumes .......
#mkdir /mnt/volume1 /mnt/volume2
#mount -t ext4 /dev/vg1/volume1 /mnt/volume1
#mount -t ext4 /dev/vg1/volume2 /mnt/volume2
.........fstab
NB:#df /mnt/volume1
cp /etc/*.conf /mnt/volume1
cp /etc/*.conf /mnt/volume2
Formateur DRAOUI Hassan 284
Redimensionnement
Rajouter le quatrième disque au groupe de volume vg1
#pvcreate /dev/sde
#vgextend vg1 /dev/sde
Ajouter 5Go au volume logique volume1
#lvextend -L +5G /dev/vg1/volume1
(Vérifier les tailles :#lvdisplay /dev/vg1/volume1 # df -h /dev/vg1/volume1)
#resize2fs /dev/vg1/volume1
(Vérifier les tailles :#lvdisplay /dev/vg1/volume1 # df -h /dev/vg1/volume1)
Réduire le volume logique volume2 à 4Go
#df -h /dev/vg1/volume2
#umount /dev/vg1/volume2
#fsck -f /dev/vg1/volume2
#resize2fs /dev/vg1/volume2 4G
#lvreduce -L 4G /dev/vg1/volume2
#mount /dev/vg1/volume2 /mnt/volume2
Formateur DRAOUI Hassan 285
Autres commandes LVM:
pvscan
vgscan
lvscan
pvs
vgs
lvs
Formateur DRAOUI Hassan 286
Exemple :
#pvcreate /dev/sdb /dev/sdc /dev/sdd
#vgcreate GroupeV1 /dev/sdb /dev/sdc /dev/sdd
#lvcreate -n partition1 -L 5g GroupeV1
#mkfs.ext4 /dev/GroupeV1/partition1
#mkdir /mnt/partition1
#mount /dev/GroupeV1/partition1 /mnt/partition1
#cp -r /etc/*.conf /mnt/partition1
#du -s /mnt/partition1
#lvcreate -s -L 200M -n partition1-snapshot /dev/GroupeV1/partition1
#lvs (voir "Pool Origin" et le pourcentage "Data%" )
Remarque importante: On peut monter le snapshot en écriture et faire des modifications
------------------------------------------------------------------------------------------
#rm -rf /mnt/partition1/*
#lvs (voir "Pool Origin" et le pourcentage "Data%" )
#du -s /mnt/partition1
#umount /mnt/partition1
#lvconvert --merge /dev/GroupeV1/partition1-snapshot
#mount /dev/GroupeV1/partition1 /mnt/partition1
#du -s /mnt/partition1 Formateur DRAOUI Hassan 288
NB: En cas de problèmes !!!!!!!:
#umount /mnt/partition1
#lvchange -a n /dev/GroupeV1/partition1
#lvchange -a y /dev/GroupeV1/partition1
#mount /dev/GroupeV1/partition1 /mnt/partition1
Formateur DRAOUI Hassan 289
V- Quota
Formateur DRAOUI Hassan 290
rpm -q quota
Activer le quota sur une partition(montage!!!)
1--> Ajouter les options du quota dans /etc/fstab :
#vim /etc/fstab
defaults, usrquota,grpquota
NB: defaults, usrjquota=quser,grpjquota=qgroup,jqfmt=vfsv0
#mount -a
NB:#mount -o remount (partition)
2--> Créer les fichiers « [Link] » et « [Link] » dans la partition(montage!!!)
# setenforce 0
#quotacheck -cugv (partition)
#ls (partition)
3-->Activer le quota pour les utilisateurs et les groupes (-a=all, -u=user, g=group)
#quotaon -av
Créer un quota sur (le disque dur) pour un utilisateur :
#edquota -u username
Configurer le délai de grâce
#edquota -t
Formateur DRAOUI Hassan 291
Commandes utiles
--> Créer un quota sur (le disque dur) pour un groupe :
#edquota -g groupname
--> ...........Vérififier les informations des quota :
#quotacheck -amvug
--> Rapport pour les quotas utilisateur et groupe :
#repquota -avs
--> Afficher les informations de quota pour un utilisateur user1 donné :
#quota user1
--> Créer un quota pour un utilisateur user2 à partir du quota appliqué à un autre utilisateur user1
#edquota -p user1 user2
TEST1
#time dd if=/dev/zero of=(partiton)/test bs=1024 count=10000
TEST2
Ajouter plusieurs fichiers (inode) …………..
Formateur DRAOUI Hassan 292
VI- ACL
Formateur DRAOUI Hassan 293
Exemple :
mkdir /acl
chown [Link] /acl
cd /acl
echo "test ACL" >> /acl/[Link]
chmod -R 770 /acl
----> ouvrir un autre terminal de test en tant qu'un utilisateur standard (hassan)
ls -al /acl
----> tester la création du fichier par l’utilisateur standard et la lecture du fichier « fichierACL »
setfacl -Rm "u:hassan:rwx" /acl
ls -al /acl
getfacl /acl
----> tester la création du fichier par l’utilisateur standard et la lecture du fichier « fichierACL »
setfacl -dRm "u:hassan:rwx" /acl
getfacl /acl
------------------------------------
setfacl -Rm "u:root:rwx" /acl
setfacl -dRm "u:root:rwx" /acl
setfacl -x "u:hassan" /acl
getfacl /acl
setfacl -k /acl
getfacl /acl
setfacl -b /acl
getfacl /acl Formateur DRAOUI Hassan 294
------------------------------------