Connexion
Connexion

Protocole iSCSI : fonctionnement, utilisation et configuration

Protocole iSCSI : fonctionnement, utilisation et configuration
Hostman Team
Rédacteur technique
Serveurs
13.10.2025
Reading time: 5 min

iSCSI (Internet Small Computer System Interface) est un protocole de stockage de données qui permet d’exécuter des commandes SCSI sur un réseau IP, généralement via Ethernet. Cet article explique le fonctionnement d’iSCSI, ses caractéristiques, ses avantages, ainsi que la procédure de configuration.

Comment fonctionne iSCSI

Pour comprendre le fonctionnement d’iSCSI, examinons sa structure. Ses composants principaux sont les initiateurs et les cibles (targets) :

  • Les initiateurs sont les hôtes qui lancent la connexion iSCSI.
  • Les cibles sont les hôtes qui acceptent ces connexions.


Ainsi, les périphériques de stockage agissent comme des cibles auxquelles les hôtes initiateurs se connectent.

La connexion s’établit via TCP/IP, tandis qu’iSCSI gère les commandes SCSI et leur encapsulation dans des paquets. Ces paquets sont ensuite transmis entre les hôtes locaux et distants. Le système distant décode les paquets, isole les commandes SCSI et présente le stockage distant comme un disque local, pouvant être formaté et géré normalement par le système d’exploitation.

Authentification et transmission des données

Dans iSCSI, les initiateurs et les cibles sont identifiés à l’aide de noms uniques : IQN (iSCSI Qualified Name) et EUI (Extended Unique Identifier), ce dernier étant utilisé avec IPv6.

  1. Exemple d’IQN :
    iqn.2003-02.com.site.iscsi:name23
    • 2003-02 indique la date d’enregistrement du domaine (année-mois).

    • Le nom de domaine apparaît inversé : site.com devient com.site.

    • name23 est le nom unique attribué à l’hôte iSCSI.
  • Exemple d’EUI :
    eui.fe9947fff075cee0 Ce format hexadécimal suit la norme IEEE :

    • Les 24 premiers bits identifient un réseau ou une entreprise.

    • Les 40 bits suivants identifient de manière unique l’hôte au sein de ce réseau.

Chaque session iSCSI comprend deux phases :

  1. Authentification TCP entre l’initiateur et la cible.

  2. Échange de données sur une connexion unique après validation.

Une fois le transfert terminé, la session se ferme avec la commande iSCSI Logout.

Gestion des erreurs et sécurité

Pour éviter la perte de données, iSCSI intègre plusieurs mécanismes de récupération :

  • Réémission des paquets PDU perdus.

  • Rétablissement de la connexion ou de la session.

  • Annulation des commandes non traitées.

La sécurité des échanges est assurée par le protocole CHAP, qui ne transmet jamais les mots de passe en clair mais utilise une comparaison de hachage. De plus, iSCSI peut s’appuyer sur IPsec pour chiffrer et vérifier l’intégrité de chaque paquet.

Types d’implémentations iSCSI

On distingue trois principales formes d’implémentation :

  1. Traitement par le CPU de l’hôte :
    Toutes les opérations sont gérées par le processeur du serveur initiateur.

  2. Téléchargement partiel TCP/IP (offload partagé) :
    La majorité des paquets sont traités par le périphérique de stockage, le reste par l’hôte.

  3. Téléchargement complet TCP/IP :
    Tous les traitements sont effectués sur le périphérique de stockage.

Une extension, iSER (iSCSI Extension for RDMA), permet d’utiliser RDMA (Remote Direct Memory Access). Cette technologie transfère les données sans solliciter les ressources CPU des nœuds réseau, ce qui offre une latence minimale et des vitesses élevées. Avec iSER, la mémoire tampon SCSI est utilisée directement pour la connexion au stockage, évitant les copies intermédiaires.

Avantages d’iSCSI

iSCSI offre de nombreux avantages en matière de performance et de coût :

  • Simplicité de mise en œuvre : fonctionne sur des réseaux Ethernet Gigabit standards.

  • Maintenance facilitée : basé sur les principes TCP/IP, sans compétences supplémentaires nécessaires.

  • Compatibilité élevée : fonctionne avec la plupart des équipements réseau courants.

Différences entre iSCSI SAN et FC SAN

Les deux protocoles iSCSI SAN (Storage Area Network) et FC SAN (Fibre Channel SAN) sont souvent comparés. Voici les principales différences :

Caractéristique

iSCSI SAN

Fibre Channel SAN

Utilisation du réseau existant

Oui

Non

Débit de transfert

1 à 100 Gb/s

2 à 32 Gb/s

Installation sur matériel standard

Oui

Non

Contrôle du flux de données

Pas de protection de retransmission

Fiable

Isolation réseau

Non

Oui

iSCSI SAN est une solution plus économique, utilisant l’infrastructure réseau existante. En revanche, FC SAN nécessite du matériel spécialisé (commutateurs, adaptateurs HBA), mais offre une latence réduite et une fiabilité accrue.

 

Conclusion

Comme le montre la comparaison, chaque protocole présente des atouts différents :

  • iSCSI est idéal lorsque la rentabilité, la facilité de configuration et la simplicité d’administration sont prioritaires.
  • Fibre Channel est préférable pour des environnements complexes nécessitant une faible latence et une évolutivité accrue.
Serveurs
13.10.2025
Reading time: 5 min

Similaire

Serveurs

Configurer NTP sur un serveur: Guide étape par étape

NTP (Network Time Protocol) est utilisé pour synchroniser l'heure du système avec une heure de référence fournie par des serveurs spéciaux. Cet article couvre la manière de configurer NTP sur différents systèmes d'exploitation et appareils, en commençant par un guide complet sur la configuration d'un serveur NTP sur Linux. Configuration d'un serveur NTP sur Linux Nous allons démontrer la configuration de la synchronisation avec Ubuntu, mais ce guide s'applique également à Debian et à la plupart des systèmes basés sur Linux. Nous avons divisé les instructions en trois parties : la première couvre l'installation du serveur NTP, la deuxième explique comment synchroniser les clients NTP et la troisième couvre les paramètres avancés de synchronisation. Pour suivre ce guide, vous aurez besoin de : Un serveur cloud avec Ubuntu installé. Un utilisateur root ou un utilisateur avec des privilèges sudo. Nano ou un autre éditeur de texte installé. Installation du serveur NTP Ces étapes vous guideront à travers l'installation et la préparation du serveur NTP pour la configuration. Mettez à jour l'index des dépôts pour vous assurer que vous pouvez télécharger les versions les plus récentes des logiciels. Utilisez la commande suivante :sudo apt-get update Installez le serveur NTP :sudo apt-get install ntp Confirmez l'installation en choisissant "Y" si cela vous est demandé (Y/N). Attendez que le logiciel soit téléchargé et installé. Vérifiez l'installation :sntp --version La sortie doit afficher le numéro de version et le temps d'installation. Connectez-vous au serveur le plus proche. Le serveur devrait recevoir l'heure correctement par défaut, mais il est préférable de se connecter à un serveur local pour plus de fiabilité. Pour ce faire, éditez le fichier ntp.conf situé à /etc/ntp.conf. Ouvrez-le avec nano (vous aurez besoin de privilèges sudo) en entrant:sudo nano /etc/ntp.conf Dans le fichier ouvert, vous verrez quatre lignes que nous avons mises en surbrillance en orange pour référence : Ce sont les pools par défaut que nous allons remplacer par des pools locaux (par exemple, pour les États-Unis, nous pouvons utiliser des serveurs NTP de cette page). Après avoir remplacé les lignes, enregistrez et fermez le fichier ntp.conf en appuyant sur Ctrl+O puis Ctrl+X. Redémarrez le serveur :sudo service ntp restart Vérifiez l'état du serveur :sudo service ntp status La sortie doit indiquer "Active (running)" sur l'une des premières lignes (Active) et l'heure de démarrage du serveur. Configurez le pare-feu. Pour permettre l'accès des clients au serveur, ouvrez le port UDP 123 à l'aide de UFW avec la commande suivante :sudo ufw allow from any to any port 123 proto udp L'installation est terminée et le serveur est en cours d'exécution. Vous pouvez maintenant continuer avec la configuration supplémentaire. Configuration de la synchronisation des clients NTP Les étapes suivantes permettront aux systèmes clients de se synchroniser avec notre serveur NTP, qui servira de source de temps principale. Vérifiez la connexionPour vérifier la configuration réseau pour NTP, entrez la commande suivante dans le terminal :sudo apt-get install ntpdate Spécifiez l'adresse IP et le nom d'hôtePour configurer l'IP et le nom d'hôte du serveur, éditez le fichier hosts situé à /etc/hosts :sudo nano /etc/hosts Ajoutez les données pertinentes à la troisième ligne depuis le haut (l'adresse ci-dessous est juste un exemple ; remplacez-la par l'IP réelle de votre serveur NTP) :192.168.154.142 ntp-server Appuyez sur Ctrl+X pour quitter et sauvegarder les modifications en appuyant sur Y. Alternativement, si vous avez un serveur DNS, vous pouvez effectuer cette étape là-bas. Vérifiez la synchronisation du client avec le serveurPour vérifier si la synchronisation est active entre le serveur et le client, entrez :sudo ntpdate ntp-server La sortie affichera le décalage horaire. Un écart de quelques millisecondes est normal, vous pouvez donc ignorer les petites valeurs. Désactivez le service timesyncd Ce service synchronise l'heure locale du système, mais nous n'en avons pas besoin, car nos clients se synchroniseront avec le serveur NTP. Désactivez-le avec :sudo timedatectl set-ntp off Installez NTP sur le système client Installez NTP sur le client avec cette commande :sudo apt-get install ntp Définissez votre serveur NTP comme référence principale Pour vous assurer que les clients se synchronisent spécifiquement avec votre serveur, ouvrez le fichier ntp.conf et ajoutez la ligne suivante :server NTP-server-host prefer iburst La directive prefer marque le serveur comme préféré et iburst permet de faire plusieurs demandes au serveur pour une meilleure précision de synchronisation. Sauvegardez les modifications en appuyant sur Ctrl+X et confirmez avec Y. Redémarrez le serveur Redémarrez le serveur NTP avec cette commande simple :sudo service ntp restart       7. Vérifiez la file d'attente de synchronisation Enfin, vérifiez l'état de la synchronisation en entrant :ntpq -ps Cette commande affiche la liste des serveurs dans la file d'attente de synchronisation, y compris votre serveur NTP comme source désignée. Options avancées de synchronisation Maintenant que nous avons configuré le serveur NTP et synchronisé les machines clientes, revenons au fichier ntp.conf (qui se trouve à /etc/ntp.conf). Ce fichier contient des configurations supplémentaires pour garantir une synchronisation robuste avec des sources externes. Serveur préféré Marquez le serveur ou le groupe de serveurs le plus fiable avec la directive prefer que nous avons utilisée précédemment. Par exemple : server 1.north-america.pool.ntp.org prefer La directive server indique un serveur spécifique, tandis que pool peut être utilisée pour spécifier un groupe de serveurs. N'oubliez pas la ligne server 127.127.1.0 à la fin de la liste des pools, qui utilise l'heure du système si la connexion est perdue. Paramètres de sécurité Assurez-vous que les lignes suivantes sont présentes dans ntp.conf : restrict default kod notrap nomodify nopeer noquery La commande default applique ces paramètres comme valeurs par défaut pour toutes les commandes restrict : kod (Kiss-o’-Death) limite le taux des requêtes. notrap bloque l'acceptation des commandes de contrôle. nomodify restreint les commandes qui pourraient modifier l'état du serveur. nopeer interdit la synchronisation avec des hôtes externes. noquery bloque les demandes de requêtes. Pour IPv4, utilisez -4 avant default, et pour IPv6, utilisez -6. Voici un exemple d'utilisation de certaines de ces commandes. La ligne suivante permet la synchronisation des nœuds dans un réseau spécifique tout en restreignant ces nœuds de recevoir des commandes de contrôle ou de modification de l'état : restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap Les lignes suivantes sont nécessaires pour que le serveur puisse communiquer avec lui-même : restrict 127.0.0.1 restrict ::1 N'oubliez pas de redémarrer le serveur après avoir effectué ces modifications. Vérification du bon fonctionnement de NTP Pour vérifier si NTP fonctionne correctement, utilisez la commande ntpq -p. Avec une configuration correcte, la sortie doit afficher un tableau avec des colonnes ressemblant à ceci : Dans la première colonne, vous verrez l'adresse du serveur de synchronisation, suivie de son serveur parent, du niveau de strates (colonne st) et de la colonne de type (t). Les trois colonnes suivantes montrent des détails sur le dernier temps de synchronisation, l'intervalle de synchronisation et la fiabilité (où 377 indique huit tentatives de synchronisation réussies avec ce serveur). Les deux dernières colonnes affichent la différence de temps entre le serveur synchronisé et le serveur de référence, ainsi que le décalage. Faites attention aux symboles dans la première colonne avant l'adresse IP : Un symbole "+" indique un serveur fiable pour la synchronisation. Un "-" signifie le contraire, et Un "*" indique le serveur actuel choisi pour la synchronisation. De temps en temps, un "x" apparaîtra, ce qui signifie que le serveur est hors ligne. Vérification si le serveur fournit l'heure correcte Pour vous assurer que le serveur distribue l'heure correcte, exécutez la commande ntpdate depuis un autre système, en spécifiant l'adresse IP du serveur NTP que vous souhaitez vérifier. La sortie devrait ressembler à ceci : adjust time server (adresse IP ici) offset 0.012319 sec Le nombre représente le décalage horaire. Un décalage d'environ 0,01 secondes (12 millisecondes) est parfaitement acceptable. Maintenant que nous avons terminé la configuration sous Linux, examinons la configuration du protocole NTP sous Windows.
06 November 2025 · 8 min to read
Système Ubuntu

Comment installer VNC sur Ubuntu

Si vous devez interagir avec un serveur distant via une interface graphique, vous pouvez utiliser la technologie VNC. VNC (Virtual Network Computing) permet aux utilisateurs d'établir une connexion distante avec un serveur via un réseau. Il fonctionne sur une architecture client-serveur et utilise le protocole RFB pour transmettre les images à l'écran et les données d'entrée (comme le clavier ou la souris). VNC est compatible avec plusieurs systèmes d'exploitation, y compris Ubuntu, Windows, macOS et d'autres. Un autre avantage de VNC est qu'il permet à plusieurs utilisateurs de se connecter simultanément, ce qui peut être utile pour un travail collaboratif ou des sessions de formation. Dans ce guide, nous expliquons comment installer VNC sur Ubuntu, en utilisant comme exemple un serveur cloud Hostman avec Ubuntu 22.04. Étape 1 : Préparer l'installation de VNC Avant de commencer le processus d'installation sur le serveur et sur la machine locale, quelques prérequis sont à vérifier : Un serveur exécutant Ubuntu 22.04. Dans ce tutoriel, nous utilisons un serveur cloud Hostman avec une configuration minimale. Un utilisateur avec les droits sudo. L'installation doit être effectuée par un utilisateur classique avec des privilèges administratifs. Choisir une interface graphique. Vous devez choisir un environnement de bureau pour interagir avec le serveur. Un ordinateur avec un client VNC installé. Actuellement, la seule manière de communiquer avec un serveur Ubuntu 22.04 loué est via la console. Pour activer la gestion à distance via une interface graphique, vous devez installer un environnement de bureau avec VNC sur le serveur. Voici quelques serveurs VNC et environnements de bureau disponibles pour Ubuntu. Serveurs VNC : TightVNC Server. L'un des serveurs VNC les plus populaires pour Ubuntu. Facile à configurer et avec de bonnes performances. RealVNC Server. RealVNC propose une solution commerciale d'accès à distance pour diverses distributions Linux, y compris Ubuntu, Debian, Fedora, Arch Linux et d'autres. Environnements de bureau : Xfce. Un environnement de bureau léger et rapide, idéal pour les sessions VNC. Il consomme moins de ressources que d'autres environnements, ce qui le rend idéal pour les serveurs et machines virtuelles. GNOME. L'environnement de bureau par défaut d'Ubuntu, avec une interface moderne et conviviale. Compatible avec VNC, mais plus gourmand en ressources que Xfce. KDE Plasma. Un autre environnement populaire avec de nombreuses fonctionnalités et un design attractif. Le choix du serveur VNC et de l'environnement de bureau dépend de vos besoins et des ressources disponibles. TightVNC et Xfce sont d'excellentes options pour des sessions distantes stables sans exigences matérielles élevées. Dans l'étape suivante, nous expliquerons comment les installer sur le serveur. Étape 2 : Installer l'environnement de bureau et le serveur VNC Connectez-vous au serveur et ouvrez une session en tant qu'utilisateur classique avec des droits administratifs. Mettre à jour la liste des paquets Une fois connecté, exécutez la commande suivante pour mettre à jour les paquets depuis les dépôts : sudo apt update Installer l'environnement de bureau Ensuite, installez l'environnement de bureau choisi. Pour installer Xfce, utilisez : sudo apt install xfce4 xfce4-goodies Le premier paquet installe l'environnement de base Xfce, le second ajoute des applications et des plugins facultatifs. Installer le serveur TightVNC Pour installer TightVNC, utilisez : sudo apt install tightvncserver Démarrer le serveur VNC Une fois l'installation terminée, initialisez le serveur VNC avec : vncserver Cette commande crée une session VNC avec un numéro spécifique, par exemple :1 pour la première session, :2 pour la suivante, etc. Le numéro de session correspond à un port d'affichage (par ex. le port 5901 pour :1). Plusieurs sessions VNC peuvent fonctionner simultanément sur la même machine. Lors de la première exécution, vous serez invité à définir un mot de passe, requis pour accéder à l'interface graphique du serveur. Définir un mot de passe en mode visualisation uniquement (optionnel) Après le mot de passe principal, vous pouvez définir un mot de passe pour le mode visualisation uniquement, utile pour les démonstrations ou les accès limités. Pour changer les mots de passe définis, utilisez : vncpasswd Vous avez maintenant une session VNC active.  À l'étape suivante, nous allons configurer VNC pour démarrer l'environnement de bureau installé sur Ubuntu. Étape 3 : Configurer le serveur VNC Le serveur VNC doit savoir quel environnement de bureau il doit lancer. Pour cela, nous allons modifier un fichier de configuration spécifique. Arrêter les instances VNC actives Avant toute modification, arrêtez toute instance active du serveur VNC. Pour arrêter l'instance sur le port d'affichage 5901, entrez : vncserver -kill :1 Ici, :1 est le numéro de session associé au port d'affichage 5901. Créer une sauvegarde du fichier de configuration Avant d’éditer, créez une sauvegarde du fichier original avec : mv ~/.vnc/xstartup ~/.vnc/xstartup.bak Modifier le fichier de configuration Ouvrez ensuite le fichier dans un éditeur de texte : nano ~/.vnc/xstartup Remplacez son contenu par : #!/bin/bashxrdb $HOME/.Xresourcesstartxfce4 & #!/bin/bash : cette ligne appelée "shebang" indique que le script doit être exécuté avec Bash. xrdb $HOME/.Xresources : cette ligne lit les préférences utilisateur (couleurs, polices, etc.). startxfce4 & : lance l’environnement de bureau Xfce sur le serveur. Rendre le fichier exécutable Pour autoriser l'exécution du script, tapez : chmod +x ~/.vnc/xstartup Démarrer le serveur VNC en mode localhost Maintenant que la configuration est faite, démarrez le serveur VNC avec : vncserver -localhost L'option -localhost restreint l'accès au serveur VNC à la machine locale. Vous pourrez toujours y accéder depuis votre ordinateur via un tunnel SSH. Le serveur traitera cette connexion comme locale. La configuration du serveur La configuration du serveur VNC est maintenant terminée. Étape 4 : Installer le client VNC et se connecter au serveur Passons maintenant à l'installation d’un client VNC. Dans cet exemple, nous l’installerons sur un ordinateur Windows 11. Voici quelques options de clients VNC compatibles avec différents systèmes d’exploitation : RealVNC Viewer. Le client officiel de RealVNC, compatible avec Windows, macOS et Linux. TightVNC Viewer. Un client VNC gratuit et simple d’utilisation pour Windows et Linux. UltraVNC. Un autre client gratuit pour Windows, avec des fonctionnalités de gestion à distance avancées. Dans ce guide, nous utiliserons TightVNC Viewer. Télécharger et installer TightVNC Viewer Accédez au site officiel de TightVNC, téléchargez le fichier d’installation, puis exécutez-le. Dans la fenêtre d'installation, cliquez sur Next et acceptez les conditions de licence. Sélectionnez ensuite le mode d’installation personnalisé et désactivez l'installation du serveur VNC. Cliquez deux fois sur Next pour finaliser l'installation du client VNC sur votre machine locale. Configurer un tunnel SSH pour une connexion sécurisée Pour chiffrer l’accès distant au serveur VNC, utilisez SSH pour créer un tunnel sécurisé. Sur votre ordinateur Windows 11, ouvrez PowerShell et saisissez la commande suivante : ssh -L 56789:localhost:5901 -C -N -l utilisateur adresse_IP_du_serveur Assurez-vous qu’OpenSSH est installé sur votre machine locale. Sinon, consultez la documentation Microsoft pour l’installer. Cette commande crée un tunnel SSH qui redirige la connexion de votre ordinateur local vers le serveur distant via une connexion sécurisée. Le serveur VNC interprétera cette connexion comme étant locale. Voici une explication des options utilisées : -L configure le transfert de port SSH, en redirigeant le port de l’ordinateur local vers l’hôte et le port du serveur spécifiés. Ici, nous utilisons le port 56789 car il n’est lié à aucun service. -C active la compression des données avant leur transmission via SSH. -N indique à SSH de ne pas exécuter de commandes après l’établissement de la connexion. -l spécifie le nom d’utilisateur à utiliser pour la connexion au serveur. Se connecter avec TightVNC Viewer Après avoir créé le tunnel SSH, ouvrez TightVNC Viewer et entrez l’adresse suivante dans le champ de connexion : localhost:56789 Vous serez invité à saisir le mot de passe défini lors de la première configuration du serveur VNC. Une fois le mot de passe validé, vous serez connecté au serveur VNC et l’environnement de bureau Xfce s’affichera. Fermer le tunnel SSH Pour fermer le tunnel SSH, retournez dans PowerShell ou dans la ligne de commande et appuyez sur CTRL+C. Conclusion Ce guide vous a présenté étape par étape l’installation de VNC sur Ubuntu 22.04. Nous avons utilisé TightVNC Server comme serveur VNC, TightVNC Viewer comme client, et Xfce comme environnement de bureau. Nous espérons que la technologie VNC vous aidera à simplifier la gestion de vos serveurs. Si vous rencontrez des difficultés pour déployer un serveur Ubuntu, consultez notre guide détaillé sur la création de serveur.
10 July 2025 · 9 min to read

Avez-vous des questions,
des commentaires ou
des préoccupations ?

Nos professionnels sont disponibles pour vous aider à tout moment,
que vous ayez besoin d'aide ou que vous ne sachiez pas par où commencer.
Envoyez-nous un e-mail
Hostman's Support