Académique Documents
Professionnel Documents
Culture Documents
sous Linux
- Réaliser par :
- Said OubghouZ
- Formateur :
- Ouhamou Mounir
Les cartes réseau sont souvent détectées au démarrage. Si ce n'est pas le cas il faudra charger les modules
correspondants. Pour obtenir la liste des interfaces réseau qui ont été détectées, on peut utiliser dans
l'invite de commandes :
ifconfig –a
Explications :
– Ligne 1: l'interface est de type Ethernet. La commande nous donne l'adresse MAC de l'interface.
– Ligne 2 : on a l'adresse IP celle de broadcast, celle du masque de sous-réseau
– Ligne 3 : l'interface est active (UP), les modes broadcast et multicast le sont également, le MTU est de
Par example :
Remarque : lorsque le redémarrage de la machine, il faut le retaper les commandes pour attribuer
l’adresse IP a l’interface réseau. Pour éviter ce problème on a une méthode d’attribution des adresses IP
par la modification de fichier des interfaces.
Configuration automatique au démarrage par le fichier
(attribuer une adresse IP fix )
[root@user]# vim etc/sysconfig/network-scripts/ifcfg-eth0
#appuyer sur « i » pour modifier le fichier
DEVICE=eth0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=YES
TYPE=Ethernet
BOOTPROTO=none # FIX
IPADDR0=192.168.1.254
PREFIX0=24
GATEWAY0=192.168.1.1
DNS1=192.168.1.1
USERCTL=no
#lorsque vous avez terminé la modifications appuyer sur « echap » puis sur « :wq » ou « :x » .
Les paramètres pouvant être configurés dans un fichier de configuration d'interface Ethernet :
BOOTPROTO=<protocol> où <protocol> correspond à l'une des valeurs suivantes :
none - ou static Indique qu'aucun protocole de démarrage ne doit être utilisé.
bootp - Indique que le protocole BOOTP doit être utilisé.
dhcp - ndique que le protocole DHCP doit être utilisé.
BROADCAST=<address> où <address> correspond à l'adresse de diffusion. Cette directive a été
abandonnée car la valeur est calculée automatiquement.
DEVICE=<name> où <name> correspond au nom du périphérique physique.
DNS{1,2}=<address>où <address> correspond à l'adresse d'un serveur devant être placée dans
/etc/resolv.conf
GATEWAY=<address>où <address> correspond à l'adresse IP du routeur réseau ou du périphérique
de passerelle.
IPADDR=<address> où <address> correspond à l'adresse IP.
NETMASK=<mask> où <mask> correspond à la valeur du masque réseau.
NETWORK=<address>où <address> correspond à l'adresse du réseau. Cette directive a été
abandonnée car la valeur est calculée automatiquement.
HWADDR=<MAC-address>où <MAC-address> correspond à l'adresse matérielle
du périphérique Ethernet sous la forme AA:BB:CC:DD:EE:FF. Cette directive ne devrait pas être utilisée
avec MACADDR.
ONBOOT=<answer>
yes - Indique que ce périphérique doit être activé au démarrage.
no - Indique que ce périphérique ne doit pas être activé au démarrage.
USERCTL=<answer>
yes - Les utilisateurs autres que le super-utilisateur sont autorisés à contrôler ce périphérique.
no - Les utilisateurs autres que le super-utilisateur ne sont pas autorisés à contrôler ce périphérique.
Tester le réseau
Pour vérifier que la carte réseau fonctionne, on peut essayer de communiquer avec une autre machine :
Désactive le ParFeu.
Configurer les deux machines dans même Vmnet,switch...
La commande ping envoi un paquet à l'adresse IP puis attend que la machine réponde. Elle affiche ensuite le
temps qu'a pris toute l'opération, en millisecondes
Le routage est un processus qui permet de sélectionner des chemins dans un réseau pour transmettre
des données depuis un expéditeur jusqu'à un ou plusieurs destinataires.
Il existe 2 types de routages :
.
Explication :
Destination : adresse de destination de la route
Gateway : adresse IP de la passerelle pour atteindre la route, * sinon Genmask : masque à utiliser.
Flags : indicateur d'état (U - Up, H - Host - G - Gateway, D - Dynamic, M - Modified)
Metric : coût métrique de la route (0 par défaut)
Ref : nombre de routes qui dépendent de celle-ci
Use : nombre d'utilisation dans la table de routage
Iface : interface eth0, eth1, lo
Pour Ajout ou suppression d'une route
route [del-add] [net | host] addr [gw passerelle] [métric coût] [ netmask masque] [dev interface]
Explication :
- net ou host indique l'adresse de réseau ou de l'hôte pour lequel on établit une route,
- addr : adresse de destination,
- gw : adresse de la passerelle,
- valeur métrique de la route,
- masque de la route à ajouter,
- dev : interface réseau à qui on associe la route.
Example :
Ajout d’une route :
route add –net @réseau netmask Masque dev interface
route add –net 192.168.1.0 netmask 255.255.255.0 dev eth0
route add –host 192.168.1.10 netmask 255.255.255.0 dev eth0
Suppression d’une route :
route del –net @réseau
route del –net 192.168.1.0
Pour activer le routage :
echo 1 > /proc/sys /net/ipv4/ip_forward
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flags
eth0 1500 0 634733 10 0 1 184352 0 0 0 BMRU
eth1 1500 0 43 0 0 0 22 0 0 0 BMRU
lo 16436 0 135704 0 0 0 135704 0 0 0 LRU
ppp0 1492 0 206579 208740 0 0 182191 0 0 0 MOPRU
Avec l'option -a, on peut voir toutes les connections, y compris celles qui ne font que écouter, et avec
l'option -t on ne voit que les sockets TCP :
# netstat –ta
La commande ping (Packet InterNet Groper)
Vérifie la connectivité IP d'un ordinateur utilisant le protocoles TCP/IP en envoyant des messages Requête
d'écho ICMP (Internet Control Message Protocol). La Réponse à "Requête écho" correspondants s'affiche,
avec les temps des parcours circulaires. Ping est la principale commande TCP/IP utilisée pour résoudre les
problèmes de connectivité, d'accessibilité et de résolution de nom. Utilisée sans paramètres, la commande
Ping affiche l'aide
Syntaxe
PING [-t] [-a] [-n Nombre] [-l Taille] [-f] [-i TTL] [-v TOS]
[-r Nombre] [-s Nombre] [{-j ListeHôte | -k ListeHôte}]
[-w DélaiAttente] [NomCible]
-t Spécifie que la commande Ping continue d'envoyer des messages Requête d'écho à
destination jusqu'à son interruption
-a Spécifie que la résolution de nom inversé est faite sur l'adresse IP de destination
-n Nombre Spécifie le nombre de messages Requête d'écho envoyés. La valeur par défaut est 4.
-I Taille Spécifie la longueur, en octets, du champ Données dans les Requête d'écho envoyés. La
valeur par défaut est 32. La taille maximale est 65 527
$ ping 192.168.8.1
La commande host
La commande host permet de rechercher un nom d'hôte mais aussi une adresse IP en effectuant une
requête de serveur de noms.
#host www.cnn.com
pour obtenir diverses adresses IP à partir d'un nom d'hôte. Réessayez host plusieurs fois. Observez que
l'ordre de sortie des adresses change de manière aléatoire. Ceci montre que la charge est distribuée
sur divers serveurs cnn.com. A présent, prenez une des adresses IP et tapez:
#host <adresse-IP>
Cette commande retourne le nom d'hôte cnn.com.
La commande Nslookup(Name Server Lookup)
Nslookup est une commande qui permet de tester la résolution des noms
d'hôtes en adresses IP et inversement. Elle permet un rapide diagnostique des problèmes de
résolution DNS. Lorsque vous tapez nslookup dans une invite de commande, le nom d'hôte et l'adresse IP du
serveur DNS sont affichées par défaut.
Lorsque l’on saisie un nom d'hôte ou un FQDN, une adresse IP est renvoyée.
De même si vous saisissez une adresse IP, nslookup renvoie le FQDN.
De plus Nslookup indique si la réponse fait autorité ou non sur le domaine.
Une réponse faisant autorité (authoritative answer) signifie qu'une zone dns (donc un fichier sur le
serveur DNS auquel on est connecté) contient le domaine sur lequel on effectue la requête et qu'il
n'y a donc pas besoin de récupérer l'information auprès d'une autorité racine ou de transférer la
requête à un redirecteur.
Une réponse ne fait pas autorité ( Non-authoritative answer) signifie que que l’information à été
récupérée depuis un serveur DNS qui ne fait pas autorité sur la zone
Le serveur BIND
Au départ, chaque machine stockait localement les mappages noms / adresse IP (un mappage est une
correspondance entre un nom et une adresse IP). Cependant ce système a l'inconvénient de demander une
trop lourde charge administrative. En effet, à chaque ajout de machine dans le réseau ou bien à chaque
modification de la configuration d'une machine, il faut éditer manuellement le fichier contenant les mappages
noms / adresse IP.
Réplication et transfert de zones Réplication La présence de serveurs de noms de domaine secondaires DNS
permet la réplication des fichiers de zones. Cette pratique se justifie dans les cas suivants :
Transfert de zone La réplication des fichiers de zones se fait au cours d’une opération appelée transfert de
zone.Transfert de zone complet.Il y a un transfert complet du fichier de zone lorsqu’un nouveau serveur de
noms DNS secondaire est installé. On parle de transfert de zone complet (AXFR) Transfert de zone
incrémentiel
Une fois le transfert de zone complet effectué, il se fait une mise à jour des fichiers de zones dans les serveurs
de noms secondaire au cours d’une opération nommée transfert de zone incrémentiel (IXFR)
La délégation
- Le niveau supérieur délègue la responsabilité administrative de ses sous-domaines
- Le responsable d’un domaine peut :
• Découper son domaine en sous-domaines
• Déléguer ces sous-domaines à d’autres organisations (celles-ci, à leur tour, peuvent à nouveau
découper…)
• Nommer des hôtes
Serveur primaire et serveur secondaire.
- Serveur de noms primaire : Il maintient la base de données de la zone dont il a l’autorité
administrative.
- Serveur de noms secondaire : Il obtient les données de la zone via un serveur de noms primaire qu'il
interroge périodiquement pour mettre à jour ses données ; Il possède donc une copie de la base de
données.
- Pour une zone il y a un seul serveur primaire et généralement plusieurs serveurs secondaires.
- Cette redondance permet la défaillance éventuelle du primaire et du (des) secondaire(s). Il est
même souhaitable d'installer les serveurs sur des réseaux différents pour palier la défaillance du
Les résolveurs
L’installation :
Apres la configuration du serveur BIND il faut fixer une adresse IP statiquement.
Avant de fixer l’adresse IP. Il faut installer le package BIND.
- Monter le CD des packages.
- #rpm -ivh /media/RHEL_5.3\ i386\ DVD/Server/bind-9.3.4-10.P1.el5.i386.rpm
La configuration globale de Bind est placée dans le fichier /etc/named.conf. La configuration détaillée des
zones est placée dans /var/lib/named. /etc/named.conf est composé de deux parties. La première concerne la
configuration globale des options de Bind. La seconde est la déclaration des zones pour les domaines
individuels. Les commentaires commencent par un # ou / /.
Le fichier /etc/named.conf
Section de zones
la zone peut être maître Master ou esclave Slave :
• Master : le serveur contient la totalité des enregistrements de la zone dans ses fichiers de zone. Lorsqu’il
reçoit une requête, il cherche dans ses fichiers (ou dans son cache) la résolution de celle-ci.
• Slave : le serveur ne contient par défaut aucun enregistrement. Il se synchronise avec un serveur maître
duquel il récupère toutes les informations de zone. Ces informations peuvent être placées dans un fichier.
Dans ce cas l’esclave stocke une copie locale de la base. Lors de la synchronisation, le numéro de série de
cette copie est comparé à celui du maître. Si les numéros sont différents, une nouvelle copie a lieu, sinon la
précédente continue à être utilisée.
# vi /var/named/ista.zone
$TTL 300
@ IN SOA Serv1. ista.ma. root. ista.ma. (
2013122100 ; Serial
3H ; Refresh
1H ; Retry
1W ; Expire
1H ) ; Minimal
IN NS Serv1. ista.ma.
Serv1 IN A 192.168.1.254
client1 IN A 192.168.1.1
# vi /var/named/ista.rev
$TTL 300
@ IN SOA Serv1.ista.ma. root.ista.ma. (
2013122100 ; Serial
3H ; Refresh
1H ; Retry
1W ; Expire
Explication :
$TTL : Time To Live (durée de vie) : indique la durée de conservation en secondes des données en
mémoire cache. Cette valeur est précédée par la directive $TTL.
• domain : c’est le nom de la zone.
• primary-name-server : le nom sur le serveur DNS maître sur cette zone. Il ne faudra pas oublier de le
déclarer dans la liste des hôtes (enregistrements PTR ou A).
• hostmaster-email : adresse de courrier électronique de l’administrateur du serveur de nom. Le
caractère @ étant déjà réservé à un autre usage, on utilise un point pour le remplacer. Ainsi «
admin@domaine.org » devra s’écrire « admin.domaine.org. » .
• serial-number : Elle est utilisée pour la synchronisation avec les serveurs esclaves. Si le numéro de
série est le même qu’à la dernière synchronisation les données ne sont pas rafraîchies. Par
convention on place YYYYMMDDNN (année-mois-jour-numéro) sur dix chiffres.
• time-to-refresh : indique à tout serveur esclave combien de temps il doit attendre avant de
demander au serveur de noms maître si des changements ont été effectués dans la zone.
• time-to-retry : indique au serveur esclave combien de temps attendre avant d’émettre à nouveau une
demande de rafraîchissement si le serveur maître n’a pas répondu.
• time-to-expire : si malgré les tentatives, le serveur n’a pas répondu au bout de la durée indiquée dans
time-to-expire, le serveur esclave cesse de répondre aux requêtes pour cette zone.
• Minimum-TTL : le serveur de nom demande aux autres serveurs de noms de mettre en cache les
informations pour cette zone pendant au moins la durée indiquée
Transfer de Zones
Apres le penser de transférer les zones depuis le serveur master vers le serveur slave. il faut tester le Ping
entre les serveurs.
La configuration qu’il faut configurer au niveau de serveur master
Après tout ca il faut modifier les droit d’accès au niveau de repertoire /var/named de serveur slave .
#chmod g+w /var/maed
Les journaux
- Si vous êtes en phase de configuration, pensez (ce doit être un réflexe) à consulter les fichiers de
journalisation, notamment /var/log/messages. Cette opération permet dans bien des cas de corriger
des erreurs qui se trouvent dans les fichiers de configuration
La Sécurité du DNS
Utilisation de rndc
- Comme tous les services Unix ou Linux, BIND est lancé ou arrêté par un script dans /etc/init.d/rndc.
Cette commande associée à quelques mots clés permet de transmettre au serveur diverses
- Cette déclaration indique à named qu'il doit écouterle port TCP 953 par défaut de l'adresse inversée et
doit 'autoriser les commandes rndc provenant de l'hôte local, si la clé adéquate est donnée. Le <keyname> fait
référence à la déclaration key, qui se trouve dans le fichier /etc/named.conf. L'exemple
suivant illustre une déclaration key.
key "<key-name>" {
algorithm hmac-md5;
secret "<key-value>";
};
- Dans ce cas, la déclaration <key-value> utilise l'algorithme HMAC-MD5. Afin de créer des clés à l'aide
de l'algorithme HMAC-MD5, utilisez la commande suivante :
- Une clé d'au moins 256 bits de long est un bon choix. La clé qui doit être placée dans la zone <keyvalue> se
trouve dans le fichier <key-file-name> généré par cette commande.
Remarque :
Étant donné que /etc/named.conf est lisible par tout un chacun, il est judicieux de placer la déclaration key
dans un fichier séparé que seul le super-utilisateur (ou root) peut lire et d'utiliser ensuite une déclaration
include pour le référencer. Par exemple : include "/etc/rndc.key";
Configuration de /etc/rndc.conf
- La déclaration key représente la déclaration la plus importante du fichier /etc/rndc.conf.
key "<key-name>" {
algorithm hmac-md5;
secret "<key-value>";
};
- Les éléments <key-name> et <key-value> doivent être absolument identiques aux paramètres les
concernant qui figurent dans /etc/named.conf.
- Pour établir la correspondance entre les clés spécifiées dans le fichier /etc/named.conf du serveur
cible, ajoutez les lignes reproduites ci-dessous au fichier /etc/rndc.conf.
options {
P-26 S@id OubghouZ
default-server localhost;
default-key "<key-name>";
};
- Cette directive détermine une clé globale par défaut. Toutefois, le fichier de configuration rndc peut
également spécifier différentes clés pour différents serveurs, comme le montre l'exemple suivant :
server localhost {
key "<key-name>";
};
- Pour obtenir davantage d'informations sur le fichier /etc/rndc.conf, consultez la page de manuel
de rndc.conf.
Options de ligne de commande
- Une commande rndc se présente sous le format suivant :
rndc <options> <command> <command-options>
- Lors de l'exécution de rndc sur un hôte local configuré de façon appropriée, les commandes suivantes
sont disponibles :
halt — Arrête immédiatement le service named.
querylog — Journalise toutes les requêtes effectuées auprès de ce serveur de noms.
refresh — Rafraîchit la base de données du serveur de noms.
reload — Recharge les fichiers de zone mais conserve toutes les réponses précédemment mises en
cache. Cette commande permet également d'apporter des changements aux fichiers de zone sans
perdre toutes les résolutions de nom stockées. Si les changements n'affectent qu'une zone
particulière, rechargez seulement cette zone en ajoutant le nom de la zone après la commande reload.
stats — Vide les statistiques courantes de named vers le fichier /var/named/named.stats.
stop — Arrête correctement le serveur, en enregistrant préalablement toute mise à jour dynamique et
toute donnée Incremental Zone Transfers (IXFR).
reconfig Charge les fichiers de configuration pour les nouvelles zones uniquement.
flush Efface le cache du serveur.
flush zone Efface le cache du serveur pour la zone spécifiée.
status Affiche l’état du serveur
- Dans certaines situations, il sera peut-être nécessaire d'annuler les paramètres par défaut contenus
dans le fichier /etc/rndc.conf. Les options suivantes sont disponibles :
-c <configuration-file> — Spécifie l'autre emplacement d'un fichier de configuration.
-p <port-number> — Spécifie le numéro de port à utiliser pour la connexion de rndc, autre que le port
par défaut 953.
-s <server> — Spécifie un serveur autre que le default-server (serveur par défaut) précisé
dans /etc/rndc.conf.
-y <key-name> — Spécifie une clé autre que l'option default-key (clé par défaut) présente dans le
fichier /etc/rndc.conf.
- Des informations supplémentaires sur ces options sont disponibles dans la page de manuel de rndc
1etape :
Copier les fichiers « localdomain.zone localhost.zone named.local named.root
named.broadcast named.zero » depuis /usr/share/doc/bind-
9. 3.4/etc/simple/var/named vers /var/named
Et copier les fichiers « named.rfc1912.zones named.root.hints » depuis
/usr/share/doc/bind-9.3.4/sipmle/etc vers /etc
2etape :
# vim /etc/named.conf
options {
dirictory ‘’/var/named ‘’ ;
statistics-file "data/named_stats.txt";
memstatistics-file "data/named_mem_stats.txt";
dump-file ‘’data/cache_dump.db’’ //la cache
query-source * port 53;
listen-on port 53 {192.168.1.1 ;} ;
forward first ;
forwarders {192.168.1.12 ;} ;
};
P-28 S@id OubghouZ
Include ‘’/etc/named.rfc1912.zones’’ ;
Include ‘’/etc/named.root.hints’’ ;
Le serveur DHCP
# vi /etc/dhcp/dhcpd.conf
options domain-name "ista.ma"; //le domain
ddns-update-style interim | none ; //specifier le type de MAJ du DNS ;(ad-hoc | interim)
ignore client-updates; //en bloque les MAJ du DNS derectement par les clients
ddns-domain-name=’’ista.ma’’;//zone directe de domain
ddns-rev-domain=’’1.168.192.in-addr.arpa’’;//zone inverse de domain
authoritative;// (cas de DNS=DHCP dans même machine, ou l’autorité)
update-static-leases on;//les entres static des @ip
option domain-name-servers serv1.ista.ma;//FQDN de serveur de domain ista.ma
default-lease-time 600;//la durée de bail
max-lease-time 7200;//la durée maximal de durée de bail
option routers 192.168.1.1;//la passerelle
key ‘’rndc-key’’
{ //on declare une clé pour les transactions entre DHCP et DNS pour plus de securite
Algorithm hmac-md5 ;
Secret ‘’Rg7hzsjfgwnp97vwz2-n4f21r’’ ;
};
zone ista.ma { //zone directe
primary 192.168.1.3;//@ip de serveur DNS
key rndc-key ; //specifie la cle a utilise pour les transactions
}
1.168.192.in-addr.arpa { //zone inverse
primary 192.168.1.3;
}
subnet 192.168.1.0 netmask 255.255.255.0 { //notre sous Resau
Pour que le Serveur DHCP peut enregistrer certain offre dans la base de données de DNS on a parlé par DNS
dynamique.
Une Configuration avec prise en charge du DNS dynamique.
La machine qui supporte le serveur DHCP est également le serveur DNS du réseau. Dans la configuration
suivante, le serveur DHCP côtoie le serveur DNS maître du domaine « ebc-informatique.com. ». Ce serveur
comprend deux interfaces réseaux : eth0 qui est connecté au réseau « ebcinformatique.com. » (adresses IP
172.16.x.x) et eth1 qui est connecté au sous-réseau dynamique « unix.ebcinformatique.com. » (adresses IP
10.x.x.x). Le serveur DHCP, cette fois-ci à l’écoute de la seule interface eth0, devra donc informer le serveur
DNS de l’arrivée d’un client sur le sousréseau 10.0.0.0 afin que celui-ci modifie les correspondances DNS en
conséquences.
La configuration Au niveau de serveur DHCP
après un redémarrage de service DNS. il faut changer les droits d’accès de répertoire
/var/named :
#chmod g+w /var/named
L’agent de Relay
Définition : Un agent de Relay est un serveur qui permet de faire une relation entre les clients DHCP d’un
réseau à un serveur DHCP qu’il y a dans un autre réseau.
Pour utiliser un serveur .en tant qu’un agent de Relay il faut le contenir par deux carte réseaux ou plus.
L’installation :
Apres la configuration du serveur BIND il faut fixer une adresse IP statiquement.
Avant de fixer les adresses IP des cartes réseaux. Il faut installer le package d’agent de
Relay
- Monter le CD des packages.
#rpm -ivh /media/RHEL_5.3\ i386\ DVD/Server/dhcp-devel-3.0.5-18 .el5.i386.rpm
La configuration
Dans le fichier #vi /etc/sysconfig/dhcrelay
#command line options here
INTERFACES= ‘’eth0 eth1’’ #les interfaces d’entrée/sortie
DHCPSERVERS= ‘’192.168.1.1’’ #adresse IP de serveur DHCP
Configuration NFS.
Partage côté serveur
La liste des systèmes de fichiers à exporter se trouve dans /etc/exports. Il contient un partage
par ligne.
#vi /etc/exports
# Rep exportes Autorisations d’acces
/ poste1(rw) poste2(rw,no_root_squash)
/projects *.mondomaine.org (rw)
/home/joe poste *.mondomaine.org (rw)
/pub 192.168.1.0/255.255.255.0 (ro)
/projet samir(rw) (ro)
Chaque ligne est composée de deux parties. La première est le chemin du répertoire exporté.
La seconde contient les autorisations d’accès.
L’autorisation d’accès est composée de paires hôtes/permissions selon le format suivant :
host(permissions)
Si l’hôte n’est pas défini, c’est tout le réseau (portée dite mondiale) qui sera concerné par les
permissions. Si les permissions ne sont pas définies, l’export sera en lecture seule. Il ne faut
surtout pas mettre d’espaces entre l’hôte et les permissions. L’hôte peut être :
La commande exportfs
La commande exportfs permet de contrôler les partages.
exportfs -r : rafraîchit la liste des partages après modification de /etc/exports
exportfs -v : liste des partages
exportfs -a : exporte (ou recharge) tous les partages de /etc/exports ou un partage donné
exportfs -u : stoppe le partage donné. -a pour tous. (-ua désactive tout les partages de
/etc/exports)
exportfs –o rw,async host1:/data : exporte le répertoire /data.
showmount -e host : montre les partages d’un hôte donné.
nfsstat : Affiche des statistiques consernant les RPC et NFS
Installation côté client.
Le serveur NFS exporte (ou publie) un système de fichiers auquel le client peut accéder par
une instruction mount.
Présentation :
Un serveur Samba permet de faire paraître une machine Linux comme étant une machine
Windows. Une station Windows est capable d'accéder à des répertoires et des fichiers se
trouvant sur une machine Linux de la même façon que s’ils se trouvaient sur une machine
Windows. Les principales fonctionnalités de Samba sont les suivantes :
- Partager un disque Linux pour des machines Windows
- Partager une imprimante Linux avec des machines Windows
- Partager une imprimante Windows à partir d’un hôte Linux Devenir un contrôleur de domaine
(simuler le système Windows NT Server) et permettre ainsi les authentification réseaux sur un
domaine, le stockage centralisé des profiles Windows et l'exécution de scripts de démarrage
P-42 S@id OubghouZ
- Gérer des listes de machines présentes sur le réseau et leur mise à disposition pour tous types
de clients (cf : voisinage réseau)
- Devenir membre d'un domaine NT existant et ainsi être capable d'utiliser un CPD NT pour
authentifier toutes les connexions faites par des utilisateurs Windows
Configuration Samba.
La configuration de Samba se trouve dans /etc/samba/smb.conf. Vous pouvez tester sa
syntaxe avec l’outil testparm.
La commande findsmb permet de lister les differents ordinateurs visible depuis le réseau.
Le fichier smb.conf reprend la syntaxe des fichiers de configuration de Windows de type ini
avec des sections
délimitées par des crochets [ ].
Parmi ces sections, certaines ont une signification particulière :
- [global] : contient l'ensemble des directives de configuration générale
P-43 S@id OubghouZ
du serveur ainsi que les paramètres par défaut des partages ;
- [homes] : permet de partager simplement le répertoire de chacun des
utilisateurs ;
- [printers] : pour fournir les paramètres par défaut de toutes les
imprimantes partagées du système.
Les commentaires commencent par un point-virgule ou un dièse #
[global]
workgroup = nomgroupe # nom du groupe de travail ou du domaine identique à celui sous
Windows
server string = monserveur # description de la machine
guest account = nobody # compte sur lequel seront connectés les invités si ils sont autorisés à
se connecter, le compte ne doit donc pas posséder beaucoup de droits comme le compte nobody
load printers = yes # partage toutes les imprimantes définies dans printcap
hosts deny = ALL # liste des machines non autorisées à se connecte, en mettant ALL, on
empêche l'accès à toutes les
machines sauf celles spécifiées dans hosts allow
[global]
# Paramètres généraux
workgroup = LUKE
load printers = yes
security = user
# Valeur par défaut pour les partages
writable = yes
[homes]
comment = Espaces personnels
browseable = no
[printers]
# Valeurs par défaut pour toutes les imprimantes
writable = no
printable = yes
[partage]
comment = Espace commun
path = /home/shared
Section [global]
Paramètres généraux
workgroup = string
server string = string
Paramètres d'impression
load printers = yes/no
printing = bsd/lprng/cups/etc.
Paramètres de sécurité
allow hosts = list
P-45 S@id OubghouZ
deny hosts = list
guest account = string
Paramètres d'authentification
security = share/user/server/domain
encrypt passwords = yes/no
Paramètres des journaux
log file = string
max log size = integer
debug level = integer
Partage
Paramètres généraux
comment = string
browseable = yes/no
path = string
Paramètres de case des caractères
mangle case = yes/no
case sensitive = yes/no
default case = upper/lower
preserve case = yes/no
short preserve case = yes/no
Par défaut, Samba n'est pas sensible à la case des caractères mais il la préserve.
Paramètres de contrôle d'accès
valid users = list
public = yes/no
invalid users = list
write list = list
read list = list
Paramètres de gestion des droits
read only = yes/no
writable = yes/no
create mask = rights
directory mask = rights
force user = string
Une liste d'utilisateurs peut contenir des groupes : @groupe.
Les droits s'expriment sous forme octale : 0644.
Exemple :
[global]
# Une très bonne idée
invalid users = root
[ressources]
comment = Ressources d'installation
path = /home/data/ressources
read only = yes
write liste = @admins
public = yes
[temp]
Le résolveur nmbd
Le démon smbd a les tâches suivantes :
- fournir les parties cliente et serveur de WINS ;
- participer aux élections ;
- répondre aux requêtes du réseau pour les résolutions de nom.
Il est configuré via certaines directives de la section [global] du fichier
smb.conf.
Attention : l'activation de certaines valeurs sur certaines directives
peuvent rendre bancale le réseau Microsoft si des contrôleurs de domaine ou « master browsers » sont déjà
présents.
P-47 S@id OubghouZ
Paramètres de résolution de noms
name resolve order = list of lmhosts host wins bcast
dns proxy = yes/no
Paramètres WINS
wins support = yes/no
wins server = address
(ces directives s'excluent mutuellement)
Paramètres affectant le comportement du « browser »
local master = yes/no
preferred master = yes/no
os level = integer
domain master = yes/no
Exemple :
Configuration typique si Samba est PDC
[global]
workgroup = MYNET
name resolve order = lmhosts host bcast
wins support = yes
local master = yes
preferred master = yes
os level = 10
domain master = yes
Configuration à utiliser si un PDC NT ou 2000 existe pour le domaine MYNET
[global]
workgroup = MYNET
name resolve order = wins bcast
wins server = 192.168.2.10
local master = no
preferred master = no
domain master = no
Authentification
Samba, à travers la directive security, reconnaît quatre configurations possibles pour l'authentification :
- share : mot de passe par partage ;
- user : mot de passe par utilisateur (base Unix) ;
- server : authentification auprès d'un serveur NT ;
- domain : authentification auprès du PDC ou BDC d'un domaine.
Par ailleurs, la directive encrypt passwords contrôle si les mots de passe
doivent être cryptés par les clients.
Elle doit avoir la valeur yes obligatoirement pour les authentification
server ou domain. Si l'authentification est share ou user, alors la directive smb passwd file doit être utilisée
pour donner le nom du fichier qui stocke les mots de passe cryptés.
UID et GID
Authentification share
Cette méthode est plutôt désuète. Elle fait référence à la méthode
d'authentification qui était utilisée par les clients « Windows for Workgroups » 3.11
!
Exemple :
[global]
security = share
[unpartage]
path = /home/partage
user = partage
Authentification user
Cette authentification est utilisée lorsque le serveur Samba est utilisé seul dans le domaine. Les mots de passe
des utilisateurs sont vérifiés auprès de la base des mots de passe Unix ou du fichier smbpasswd s'ils sont
cryptés (ce qui est désormais généralement le cas).
Exemple :
[global]
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\spassword:* %n\n *Retype\snew\spassword:*
%n\n
[unpartage]
path = /home/partage
Le programme smbpasswd
Le fichier des mots de passe cryptés smbpasswd peut être géré avec la
commande... smbpasswd !
Exemple :
Ajouter un utilisateur (le mot de passe est demandé)
puck:~# smbpasswd -a seb
Modifier le mot de passe d'un utilisateur
puck:~# smbpasswd seb
Désactiver/activer un utilisateur
puck:~# smbpasswd -d seb
Authentification domain
Cette configuration d'authentification nécessite au préalable que le serveur Samba soit enregistré comme
membre du domaine auprès du PDC.
Les mots de passe doivent être cryptés.
Les utilisateurs et les groupes doivent exister dans la base des utilisateurs et groupes d'Unix.
Exemple :
[global]
security = domain
encrypt passwords = yes
password server = *
[unpartage]
path = /home/partage
Afin que le serveur Samba soit membre du domaine, suivre ces étapes :
- Configurer smb.conf ainsi
security = server
workgroup = DOMAIN
password server = PDCServer
- Avec l'utilitaire « Gestionnaire de server pour les domaines » de Windows NT, ajouter le nom du serveur
Samba comme membre du domaine.
Puis utiliser la commande : smbpasswd -j DOMAIN
- Utiliser la commande : smbpasswd -j DOMAIN -U username%password
(où username est un compte du domaine ayant les droits nécessaires pour ajouter une machine au
domaine).
- Changer ces 2 options ainsi : security = domain password server = *
En ligne
Toute machine sous Microsoft Windows peut accéder aux partages Samba. Les navigateurs des
environnements de bureau KDE et GNOME acceptent la navigation dans les partages grâce au protocole smb:/
dans les URL. KDE propose même l’équivalent d’un voisinage réseau.
L’outil smbclient est une sorte de client FTP pour le protocole SMB. Les chemins d’accès aux ressources sont
de la forme :
//machine/partage
Par exemple pour se connecter au service (ici un partage) d’une machine :
smbclient //machine/service -U login%passwd
Pour lister les services proposés par une machine:
smbclient -L hostname -U login%passwd # liste des ressources
Le client de samba (Smbclient) permet d'acceder à differentes ressources sur le réseau. Pour connaitre les
partages disponibles sur le réseau à une adresse tapez:
smbclient -L adressip
La commande smbclient \\\\nom_de_lordinateur//partage permet d'accéder au partage de la machine. Un
mot de passe est toujours demandé lors de la connexion à un partage. Si le partage est configuré pour être
public alors tapez ce que vous voulez dans la zone password.
Exp : Accèder a une imprimante:
smbclient \\serveur_samba//imprimante -P
Voir les partages d'un serveur :
[smbclient@host] /% smbclient -L mon_serveur -U login
Télécharger un fichier sur le partage d'un serveur :
[smbclient@host] /% smbclient //mon_serveur/mon_partage -U login
smb: \> ls
smb: \> cd mon_repertoire_distant
smb: \> lcd mon_repertoire_local
smb: \> get myFile.txt
smb: \> quit
Uploader un fichier sur le partage d'un serveur :
[smbclient@host] /% smbclient //mon_serveur/mon_partage -U login
smb: \> ls
smb: \> cd mon_repertoire_distant
smb: \> lcd mon_repertoire_local
P-51 S@id OubghouZ
smb: \> put myFile.txt
smb: \> quit
Imprimer un fichier PostScript en utilisant l'imprimante partagée d'un serveur
[smbclient@host] /% smbclient //mon_serveur/mon_imprimante -U login
smb: \> print fichier2.ps
smb: \> quit
Montage
Montez un système de fichiers SMB avec la commande smbmount.
smbmount //machine/partage /mnt/mountpoint -o username=login
ou
mount -t smbfs //machine/partage /mnt/mountpoint -o username=login
On peut aussi réaliser le montage dans /etc/fstab. Tout comme avec nfs, c’est un service spécialisé qui
montera et démontera les partages. Les derniers noyaux Linux ont remplacé smbfs par cifs :
//machine/partage /mnt/mountpoint cifs defaults,username=nobody 0 0
Outils
Samba est installé avec un ensemble d'outils :
- testparm : permet de tester la validité du fichier smb.conf ;
- smbstatus : liste l'ensemble des connexions et des fichiers ouverts ;
- smbpasswd : pour manipuler le fichier des mots de passe cryptés ;
- make_smbcodepage : création des pages de codes pour les clients ;
- make_printerdef : permet l'« auto-installation » des imprimantes ;
- smbcontrol : envoie de messages aux démons Samba ;
- smbclient : pour accéder aux fichiers d'un partage distant ;
- smbmount : pour monter un système de fichier distant ;
- smbtar : sauvegarde automatique de partages distants ;
- nmblookup : résoudre un nom NetBIOS
Le service Telnet permet de se connecter à des serveurs telnet, qui demandaient un identifiant, puis un mot de
passe, et donnaient une ligne de commande sur la machine distante en échange. Le service telnet fonctionne par le
demon XINETD
Configuration
Les fichiers de configuration sont :
– /etc/xinetd.conf : configuration globale
– /etc/xinetd.d/* : répertoire contenant les fichiers
spécifiques aux services. Il existe un fichier par service, du même nom que celui précisé dans /etc/services.
Contenu de xinetd.conf :
Defaults
{
Instances = 60
Log_type = SYSLOG authpriv
Log_on_success = HOST PID
Log_on_failure = 25 30
Cps
}
Includedir /etc/xinetd.d
• instances : nombre maximal de requêtes qu’un service xinetd peut gérer à un instant donné.
• log_type : dans notre cas, les traces sont gérées par le démon syslog via authpriv et les
traces
sont placées dans /var/log/secure. FILE /var/log/xinetd aurait placé les traces dans
/var/log/xinetd.
• log_on_success : xinetd va journaliser l’événement si la connexion au service réussit. Les
informations tracées sont l’hôte (HOST) et le PID du processus serveur traitant la connexion.
• log_on_failure : idem mais pour les échecs. Il devient simple de savoir quels hôtes ont tenté
de se connecter si par exemple la connexion n’est pas autorisée.
• cps : xinetd n’autorise que 25 connexions par secondes à un service. Si la limite est atteinte,
xinetd attendra 30 secondes avant d’autoriser à nouveau les connexions.
• includedir : inclut les options des fichiers présents dans le répertoire indiqué.
Telnet
L’installation :
- Monter le CD des packages.
Pour le Serveur :
#rpm -ivh /media/RHEL_5.3\ i386\ DVD/Server/ telnet-server-0.17-23.rpm
Pour le Client :
#rpm -ivh /media/RHEL_5.3\ i386\ DVD/Server/ telnet-0.17-23.rpm
Tester le serveur
Telnet peut être démarré selon deux modes : le mode de saisie et le mode de commande. Le
• La première ligne en commentaire, default, a une importance particulière. Elle n’est pas
interprétée par xinetd mais par ntsysv ou chkconfig pour déterminer si le service est actif.
Le protocole SSH existe en deux versions majeures : la version 1.0 et la version 2.0.
Configuration :
/etc/ssh/sshd_config
Quelques options sont éventuellement à modifier :
• Port : le numéro de port, par défaut 22
• Protocol : fixé à 2,1 il autorise SSH1 et SSH2. On préférera SSH2 et donc on laissera la valeur 2 seule
• ListenAddress : par défaut ssh écoute sur toutes les IP du serveur. On peut autoriser uniquement
l’écoute sur une interface donnée
• PermitRootLogin : ssh autorise les connexions de root. On peut placer la valeur à « no ». Dans ce
cas, il faudra se connecter en simple utilisateur et passer par su
• Banner : chemin d’un fichier dont le contenu sera affiché aux utilisateurs lors de la connexion.
• PermitEmptyPasswords (autoriser ou non mot d passe vide )
• PasswordAuthentication (s'authentifier ou non)
Ssh est un service System V à lancer avec service ou directement par /etc/init.d/sshd.
# service sshd start
Utilisation :
La commande ssh permet d’établir une connexion.
$ ssh -l login host
Important
Si la clé d'hôte d'un serveur SSH a changé, le client informe l'utilisateur que le processus de
connexion ne peut pas se poursuivre tant que la clé d'hôte du serveur n'a pas été supprimée du
fichier known_hosts à l'aide d'un éditeur de texte. Avant de procéder à cette opération, il est
toutefois conseillé de contacter l'administrateur système du serveur SSH pour vous assurer que
le serveur n'est pas compromis.
L’agent SSH
Pour les administrateurs ayant fréquemment besoin d’accéder à plusieurs machines par SSH, un « agent SSH
», lancé par la commande ssh-agent, permet de conserver en mémoire les clés privées utilisées pour les
authentifications. Les clés privées sont transmises une fois pour toutes à l’agent par la commande ssh-add. Si
un mot de passe de protection de la clé est nécessaire, il est demandé à cette occasion. Les clés sont ensuite
disponibles sans intervention directe de l’utilisateur pour toute authentification. La commande ssh-add
consulte le répertoire .ssh dans le répertoire personnel de l’utilisateur et recherche d’éventuelles clés privées
dans les fichiers id_rsa, id_dsa, et identity. Les clés stockées par l’agent SSH peuvent être consultées par la
commande ssh-add -l. Lancement de l’agent par la commande ssh-agent .
L’agent alimente des variables lors de son fonctionnement qui permettent de le gérer plus facilement
ali@localhost: ~$ ssh-agent
SSH_ AUTH_SOCK=/tmp/ssh-sRuvox4519/agent.4519 ;export SSH_AUTH_SOCK ;
SSH_ AUTH_PID=4520 ; exports SSH_AGENT_PID ;
Echo Agent pid 4520 ;
ali@localhost:~$~
Définition : Le serveur FTP le plus courant est. Il a l’avantage d’être très petit, performant et
rapide tout en étant tout de même très configurable (moins toutefois que Proftpd ou
d’autres). Il convient dans la quasi-totalité des situations. C’est un service qui peut aussi bien
être lancé par xinetd que (dans les dernières versions des distributions) en tant que service
seul. Deux niveaux de sécurité sont utilisables :
• Anonyme : tout le monde peut se connecter au serveur FTP en tant que utilisateur ftp ou
anonymous.
l’environnement FTP est chrooté.
• Utilisateur : les utilisateurs qui existent sur le serveur peuvent se connecter avec leur mot de
passe et ont un
accès complet à leurs données dans leur répertoire personnel.
Navigateur
Le partitionnement d'un disque dur se fait après le formatage physique de celui-ci et avant le
formatage logique. Il consiste à créer des zones sur le disque dont les données ne seront pas
mélangées. Cela sert par exemple à installer des systèmesd'exploitation différents n'utilisant pas le
même système de fichiers.
La commande parted
GNU Parted est un éditeur de partitions libre permettant de créer, supprimer, modifier, vérifier
ou simplement copier des partitions. Il est distribué sous la forme d'une bibliothèque, libparted,
et d'une interface en ligne de commande, parted.
De nombreux utilisateurs souhaitent consulter la table des partition existantes, modifier la
taille des partitions, supprimer des partitions ou ajouter des partitions à partir d'espace libre ou
de disques durs
supplémentaires. L'utilitaire parted vous permet de réaliser ces tâches. Ce chapitre traite de
l'utilisation de parted pour la réalisation de tâches systèmes de fichiers.
Le paquetage parted doit être installé si vous voulez utiliser l'utilitaire parted. Pour lancer
parted, connectez-vous en tant que super-utilisateur et, à l'invite du shell, tapez la commande
parted /dev/hdb dans laquelle /dev/hdb correspond au nom de périphérique du disque que
vous souhaitez configurer. Vous verrez apparaître une invite (parted). Tapez help pour obtenir
une liste des commandes disponibles
La liste des commandes parted couramment utilisées :
Commandes Description
Réaliser une vérification simple du système de
check num-mineur
fichiers
Copier un système de fichiers d'une partition à
cp de à une autre ; de et à sont les numéros mineurs
des partitions
La table de partitions ne devrait pas être modifiée tout en étant en cours d'utilisation. En effet,
il se peut que le noyau ne reconnaisse pas les modifications. Les données peuvent être écrasées
en écrivant la mauvaise partition vu que la table de partitions et les partitions montées ne
correspondent pas. La manière la plus simple de procéder consiste à démarrer votre système
en mode de secours. Si le disque ne contient pas de partitions en cours d'utilisation, vous
pouvez les démonter à l'aide de la commande umount et désactiver l'espace de swap du disque
dur à l'aide de la commande swapoff.
Réalisation de la partition
À partir de la table des partitions, déterminez d'une part les points de début et de fin de la
nouvelle partition et d'autre part, son type.
Par exemple, pour créer une partition primaire avec un système de fichiers ext3 de 1024
méga-octets à 2048 méga-octets sur un disque dur, tapez la commande suivante :
mkpart primary ext3 1024 2048
NB : Si, à la place, vous utilisez la commande mkpartfs, le système de fichiers sera créé
après la création de la partition. Cependant, parted ne prend pas en charge la création d'un système
de fichiers ext3. Si vous souhaitez créer ce dernier, utilisez mkpart et créez le système de fichiers
avec la commande mkfs, comme nous le décrivons plus loin.
Les modifications prennent effet dès que vous appuyez sur [Entrée] ; vérifiez donc la
commande avant de l'exécuter.
Une fois la partition créée, utilisez la commande print pour confirmer d'une part qu'elle existe
bien dans la table des partitions et d'autre part que le type de partition, le type de système de
fichiers et la taille sont bien corrects. Souvenez-vous également du numéro mineur de la
nouvelle partition, afin de pouvoir l'étiqueter.
Affichez également les résultats de la commande
cat /proc/partitions
pour vérifier que le noyau reconnaît bien la nouvelle partition.
Formatage de la partition
La partition n'a toujours pas de système de fichiers. Créez-le à l'aide de la commande :
mkfs -t ext3 /dev/hdb3
Étiquetage de la partition
Ensuite, étiquetez la partition. Par exemple, si la nouvelle partition est /dev/hda3 et que vous voulez
lui donner l'étiquette /work, tapez la commande suivante :
e2label /dev/hda3 /work
Par défaut, le programme d'installation utilise le point de montage de la partition comme étiquette afin
de garantir une étiquette unique. Vous pouvez néanmoins utiliser l'étiquette de
votre choix.
Ajout à /etc/fstab
En tant que super-utilisateur, éditez le fichier /etc/fstab de manière à ce qu'il inclut la
nouvelle partition. La nouvelle ligne devrait ressembler à celle reproduite ci-dessous :
LABEL=/work /work ext3 defaults 1 2
Si la quatrième colonne contient le mot defaults, la partition sera montée au démarrage. Pour
monter la partition sans redémarrer le système, tapez la commande suivante en tant que
super-utilisateur :
mount /work
La commande fdisk
fdisk sous Linux
L'utilitaire fdisk de Linux permet de créer des partitions sur votre disque dur au même titre que
son homologue sous DOS, toutefois la version Linux de fdisk est plus compliquée à utiliser que la
version MS-DOS, il est donc conseillé de créer les partitions à partir de MS-DOS (créez une disquette
système afin de pouvoir formater votre partition DOS et installer le noyau DOS après installation de
Linux)
Le partitionnement avec fdisk entraînera la perte de toutes les données présentes sur le disque sur
lequel vous effectuez les opérations!
L'invocation de fdisk se fait à l'aide de la commande fdisk. Sans aucun argument fdisk utilisera le
premier disque dur qu'il trouve. Si jamais vous voulez préciser à fdisk le disque à partitionner, il
faut lui passer le nom du périphérique comme argument. Dans l'exemple suivant on indique
explicitement à fdisk que l'on désire partitionner le second disque dur : fdisk /dev/hdb
Commandes de fdisk
Sous Linux, les commandes de fdisk sont appelées par des touches, voici la liste des plus
importantes :
Commande Description
d destruction d'une partition
l liste des types de partitions
m Impression du menu en cours
n création d'une nouvelle partition
p Affichage des partitions
q Sortie de fdisk sans sauvegarde des paramètres
t Modification du type de partition
v Vérification de la table des partitions
w Sauvegarde des modifications et sortie de fdisk
Pour informer le noyau du changement sur la table de partitions, faire un :
# partprobe
NB : Avant cela il faut quelques fois démonter et non éjecter votre disque.
Créer un système de fichiers en ext2 sur hda1
# mke2fs /dev/hda1
Créer un système de fichiers en ext3 sur hda1
# mke2fs -j /dev/hda1
Le paramètre « -c » permet de vérifier les secteurs avant de formater :
# mke2fs -j -c /dev/hda1
Pour plus d’infos : man mke2fs
Il existe deux autres commandes plus faciles à retenir :
# mkfs.ext2 /dev/hda1
Le Montage
Sous UNIX, il y a un seul système de fichiers ``racine'' qui s'étend éventuellement sur plusieurs
disques. Les différents répertoires peuvent exister sur des disques physiques différents.
La commande mount est utilisée de cette manière:
mount [-t <système_de_fichier>] [-o <option>] <périphérique> <répertoire>
umount [-f] [<périphérique>|<répertoire>]
Le fichier mtab est la table des différents systèmes de fichiers sur un ordinateur sous Unix/Linux : il
contient une liste des disques utilisés dans ce moment des partitions de ces disques
Montage de CD-ROMs.
Placez le disque CD-ROM de votre distribution dans le lecteur adéquat et montez-le ainsi:
ls /mnt/cdrom
mount -t iso9660 -o ro <périphérique> <répertoire>
Lorsque vous aurez terminé de consulter les fichiers du CD-ROM, passez dans un autre répertoire
que <répertoire> et procédez à l'opération de démontage :
umount /dev/hdb
eject /dev/hdb
Montage manuelle :
La commande mount est utilisée de cette manière:
mount [-t <système_de_fichier>] [-o <option>] <périphérique> <répertoire>
Exapmle :
#mount -t ext2 /dev/sdb1 /root/Desktop/mont
Cette commande est modifier au niveau de fichier /etc/mtab
Ce type de montage ,lorsque le redemarage de la machine il faut le remonter.
- Diagnostics LVM
Affichage des informations de volume physique
Les informations détaillées de tous les volumes physiques présents sur un système seront affichées par
la commande pvdisplay. Si vous préférez la concision, vous pouvez essayer pvs.
Affichage des informations de groupes de volumes
Les informations détaillées de tous les groupes de volumes présents sur un système sont affichées par
la commande vgdisplay. Si vous préférez la concision, vous pouvez essayer vgs.
Affichage des informations de volumes logiques
Les informations détaillées de tous les volumes logiques présents sur un système seront affichées par
la commande lvdisplay. Pour la concision, essayez lvs.
- Extension de volume logique
Extension d’un Volume Group
vgextend nom_vg pv_device
nom_vg : Nom du groupe de volume à étendre.
pv_device : Fichier spécial blocs qui héberge le ou les PV qui alimentent le VG.
Extension d’un Logical Volume
lvextend -L taille lv taille : Taille du volume logique étendu, sous forme de valeur numérique directement
suivie de l’unité. Si la taille est précédée d’un signe +, cette taille s’ajoute à celle du volume existant.
lv : Volume logique à étendre, désigné par son fichier spécial en mode blocs.
Partition(s) de disque
|----> Volume Group
|----> Logicals Volumes
|----> système de fichiers
Ces couches intermédiaires vont donc permettre une meilleure mobilité de nos systèmes de fichiers
Le volume physique (PV) :
- Typiquement une partition ou un disque entier
- Label dans les premiers secteurs pour le marquer comme PV LVM
Le groupe de volumes (VG) :
- Est utilisé pour regrouper les PV (un seul ou plusieurs)
- Nommage possible : utile pour les différencier facilement
Le volume Logique (LV) :
- Un LV dans un VG est comme une partition sur un disque
- C'est lui que l'on va formater avec le système de fichiers de notre choix
- Possibilité d'agrandir ou rétrécir sa taille au besoin (selon le système de fichiers embarqué
Pré-requis
Partition non formatée
Il faut disposer d'une partition non formatée. Dans notre cas, il s'agit de /dev/sda9, qui dispose d'un peu plus de
300 Go de libres.
# rpm –i lvm2*
Exemple :
# vgcreate vmvg /dev/sda9
Volume group "vmvg" successfully created
On peut vérifier que cela est répercuté au niveau du volume physique. Le paramètre VG Name est maintenant
renseigné:
# vgdisplay vmvg
--- Volume group ---
VG Name vmvg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 316,17 GiB
PE Size 4,00 MiB
Total PE 80940
Alloc PE / Size 0 / 0
Free PE / Size 80940 / 316,17 GiB
VG UUID kd3LKL-tMjA-eIq4-EhMs-LdWV-LFVl-2rBhk1
Manipuler un LVM
But : Manipuler des PV, VG et LV.
- Modifiez les partitions du TD précédent avec le type 8e :
/dev/sdb2
/dev/sdb3
16847 18152 10490445 8e Linux LVM
18153 19457 10482412+ 8e Linux LVM
Raid – 0
Raid - 1
# partprobe /dev/sdb
2. Créez le RAID avec la commande mdadm. C’est la syntaxe courte qui est donnée ici :
# mdadm -C /dev/md0 -l 0 -n 2 /dev/sdb2 /dev/sdb3
mdadm: array /dev/md/0 started.
3. Vérifiez l’état du raid en regardant le contenu de /proc/mdstat :
# cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sdb3[1] sdb2[0]
20972672 blocks 64k chunks
4. Comparez ce résultat avec celui de la commande mdstat pour un affichage détaillé.
/proc/mdsta fournit un instantané de l’état du RAID vu du noyau. La sortie de mdstat
fournit, outre l’état actuel, les informations sur la conception et le mode de
fonctionnement du RAID :
# mdadm --detail /dev/md0
/dev/md0:
Version : 0.90
Creation Time : Wed May 13 20:16:49 2009
Raid Level : raid0
Array Size : 20972672 (20.00 GiB 21.48 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Wed May 13 20:16:49 2009
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 64K
P-99 S@id OubghouZ
UUID : 3cac5942:d2777be8:1f7b0fb3:3386758f (local to host slyserver)
Events : 0.1
Number Major Minor
0 8 18
1 8 19
unused devices: <none>
5. Simulez une panne du second disque. Puis regardez l’état du RAID. Est-il encore en bon
état ? Oui car le RAID 1 est un miroir, les données sont identiques sur les deux disques.
# mdadm /dev/md0 -f /dev/sdb3
mdadm: set /dev/sdb3 faulty in /dev/md0
# mdadm --detail /dev/md0|grep State
State : clean
6. Stoppez le RAID et détruisez-le :
# mdadm --stop /dev/md0
mdadm: stopped /dev/md0
Pour détruire définitivement le RAID, il faut supprimer les informations des superblocs
des disques composant le RAID. C’est l{ que sont écrites les informations sur le RAID. Ceci
ce fait avec
le paramètre --zero-superblock :
# mdadm --zero-superblock /dev/sdb2 /dev/sdb3
Raid – 5
RAID 5
RAID 5 combine striping de RAID 0 et rédondance des données dans une matrice avec
un minimum de trois disques. La différence entre RAID 3 et RAID 5 est que la
confguration RAID 3 offre de meilleures performances mais une capacité globale
légèrement inférieure. Les données sont en striping sur tous les disques et un bloc de
parité (P) est enregistré sur la même bande pour chaque bloc de données. Si l'un des
deux disques tombe en panne, les données du disque défaillant peuvent être
reconstruites sur un disque de remplacement. Aucune donnée n'est perdue en cas de
Difinition : Les quotas sont une option du système d'exploitation qui vous permet de limiter la
quantité d'espace disque et/ou le nombre de fichiers auxquels ont droit un utilisateur ou tous les
utilisateurs d'un même groupe, sur un système de fichiers donné.