# TP Services Réseau ### :brain: Travail préparatoire Recherche d’informations, de documentations sur les protocoles. ### :bookmark_tabs: Compte rendu * 1 Compte rendu en ligne au format MarkDown sous HackMD par exemple(simple réponses aux questions). * Le lien vers le CR doit être donné via Ecole Direct * Mise en commun du travail dans le cloud du ½ groupe. * Ajouter des images des liens et explications pertinentes. ## :memo: Procédure 1. Identifier et lister vos ressources supports pour la mise en oeuvre de vos services. 2. Rappeler le principe de fonctionnement du service à mettre en place. 3. identifier les commandes d'installation et de test de votre service. 4. Identifier une procédure de test de mise en service. # Partage de fichier ## SAMBA vs NFS vs FTP ## :rocket: [But recherché] :::info Mettre en place des services de partage fichier dans votre entreprise, et comparer ses différents service ::: ## :boom: Expérimentation Valider la mise en service de vos service SAMBA, NFS, FTP à l'aide de 2 machines branchées sur le réseau. ``` +-------------+ +-------------+ +-------------+ | Ordinateur 1| <-------> | Switch | <-------> | Ordinateur 2| +-------------+ +-------------+ +-------------+ \ / \_________________ Réseau ___________________/ ``` --- ### A. Samba #### **Introduction** Samba est une suite de programmes open source permettant l’interopérabilité entre les systèmes Linux/Unix et les systèmes Windows en utilisant le protocole SMB/CIFS. Il est notamment utilisé pour le partage de fichiers et d’imprimantes sur un réseau local. L'installation et la configuration de Samba permettent donc aux machines Linux de communiquer avec des ordinateurs Windows comme s'ils faisaient partie du même environnement réseau. --- #### **1. Présentation de Samba** Samba permet de : - Partager des fichiers et des dossiers entre des systèmes Windows et Linux. - Intégrer un serveur Linux dans un domaine Windows ou Active Directory. - Gérer les permissions d’accès aux fichiers en fonction des utilisateurs et des groupes. Le protocole utilisé, SMB (Server Message Block), est également à la base du partage de fichiers dans les systèmes Windows. --- #### **2. Prérequis** Avant l'installation de Samba, il est nécessaire de disposer de : - Un système Linux fonctionnel (ex : Ubuntu, Debian, CentOS, etc.). - Un accès root ou sudo. - Une connexion réseau fonctionnelle. --- #### **3. Installation de Samba** ```bash sudo apt update sudo apt install samba ``` Une fois installé, le service Samba peut être activé et lancé avec : ```bash sudo systemctl enable smb sudo systemctl start smb ``` --- #### **4. Configuration de Samba** Le fichier principal de configuration est : `/etc/samba/smb.conf`. Exemple de configuration minimale pour partager un dossier public : ```ini [partage] path = /srv/samba/partage browsable = yes read only = no guest ok = yes ``` - `path` : chemin vers le dossier partagé. - `guest ok = yes` : permet un accès sans authentification. - `read only = no` : permet l'écriture. Après modification, redémarrer le service : ```bash sudo systemctl restart smbd ``` Créer le dossier partagé et lui attribuer les bons droits : ```bash sudo mkdir -p /srv/samba/partage sudo chmod 777 /srv/samba/partage ``` --- #### **5. Gestion des utilisateurs Samba** Pour créer un utilisateur Samba : ```bash sudo smbpasswd -a nom_utilisateur ``` L'utilisateur doit également exister sur le système. --- #### **6. Accès au partage depuis Windows** Depuis un poste Windows : - Ouvrir l’explorateur de fichiers. - Taper `\\adresse_ip_du_serveur\partage` dans la barre d’adresse. --- ## 📋 Point à vérifier | Tâche | Vérification | |----------------------------------|--------| | Installation et configuration du serveur serveur Samba | | | Connexion réussie depuis un navigateur de fichier client sur le répertoire de partage | | | Connexion réussie depuis un second client | | | Documentation ou capture d’écran | | --- ### B. NFS ### Installation et Configuration de NFS sous Linux #### **Introduction** NFS (Network File System) est un protocole de partage de fichiers développé initialement par Sun Microsystems. Il permet à plusieurs machines d'accéder à des fichiers distants comme s’ils étaient stockés localement. NFS est particulièrement utilisé dans les environnements Linux/Unix pour faciliter le travail collaboratif, le partage de ressources, ou le montage de répertoires distants. --- #### **1. Présentation de NFS** Le protocole NFS permet : - Le montage de systèmes de fichiers distants. - Le partage de répertoires entre plusieurs machines. - Un accès aux fichiers avec transparence pour l’utilisateur final. NFS fonctionne selon une architecture client/serveur : - **Serveur NFS** : machine qui partage un ou plusieurs répertoires. - **Client NFS** : machine qui monte ces répertoires pour y accéder localement. --- #### **2. Prérequis** - Deux machines Linux (une pour le serveur, une pour le client). - Une connectivité réseau stable. - Accès root ou sudo sur les deux machines. --- #### **3. Installation de NFS** ##### **Sur le serveur (Debian/Ubuntu) :** ```bash sudo apt update sudo apt install nfs-kernel-server ``` ##### **Sur le client :** ```bash sudo apt install nfs-common ``` --- #### **4. Configuration du serveur NFS** 1. **Création du dossier à partager :** ```bash sudo mkdir -p /srv/nfs/partage sudo chown nobody:nogroup /srv/nfs/partage ``` 2. **Déclaration du dossier partagé dans `/etc/exports` :** ```bash /srv/nfs/partage 192.168.1.0/24(rw,sync,no_subtree_check) ``` - `rw` : lecture et écriture. - `sync` : les modifications sont écrites immédiatement. - `no_subtree_check` : améliore les performances dans certains cas. - `192.168.1.0/24` : réseau autorisé à monter le partage. 3. **Application de la configuration :** ```bash sudo exportfs -a sudo systemctl restart nfs-kernel-server ``` --- #### **5. Configuration du client NFS** 1. **Création du point de montage local :** ```bash sudo mkdir -p /mnt/nfs/partage ``` 2. **Montage du répertoire distant :** ```bash sudo mount 192.168.1.10:/srv/nfs/partage /mnt/nfs/partage ``` (Remplacez `192.168.1.10` par l'adresse IP de votre serveur NFS.) 3. **Montage automatique au démarrage (dans `/etc/fstab`) :** ```bash 192.168.1.10:/srv/nfs/partage /mnt/nfs/partage nfs defaults 0 0 ``` --- #### **6. Tests et vérifications** - Utiliser `df -h` pour vérifier le montage. - Lire/écrire des fichiers dans `/mnt/nfs/partage` depuis le client. - Contrôler les droits d'accès si plusieurs utilisateurs accèdent au même partage --- ## 📋 Point à vérifier | Tâche | Vérification | |----------------------------------|--------| | Installation et configuration du serveur serveur Samba | | | Connexion réussie depuis un navigateur de fichier client sur le répertoire de partage | | | Connexion réussie depuis un second client | | | Documentation ou capture d’écran | | --- ### C. FTP #### **Introduction** Le protocole FTP (File Transfer Protocol) est l’un des plus anciens moyens de transfert de fichiers sur un réseau. Il permet à des clients d’accéder à des fichiers distants sur un serveur, d’en télécharger ou d’en téléverser. Même si des alternatives plus sécurisées comme SFTP existent aujourd’hui, FTP reste largement utilisé pour des transferts rapides dans des environnements contrôlés. Ubuntu, comme la plupart des distributions Linux, permet de mettre en place un serveur FTP facilement grâce à des logiciels comme **vsftpd**. --- #### **1. Présentation de FTP** FTP fonctionne selon un modèle client/serveur : - **Le serveur FTP** héberge les fichiers et gère les connexions. - **Le client FTP** (comme FileZilla, ou la commande `ftp`) se connecte au serveur pour transférer des fichiers. Par défaut, FTP utilise : - Le port **21** pour le contrôle. - Des ports dynamiques pour le transfert de données (mode passif ou actif). FTP est un protocole en **texte clair**, ce qui le rend peu sécurisé s’il est utilisé sur Internet sans chiffrement. --- #### **2. Prérequis** - Une machine Ubuntu (version serveur ou desktop). - Un accès root ou `sudo`. - Une connexion réseau active. --- #### **3. Installation de vsftpd (Very Secure FTP Daemon)** 1. Mettre à jour le système : ```bash sudo apt update ``` 2. Installer le serveur FTP : ```bash sudo apt install vsftpd ``` 3. Vérifier que le service est actif : ```bash sudo systemctl status vsftpd ``` --- #### **4. Configuration de vsftpd** Le fichier de configuration se trouve ici : `/etc/vsftpd.conf`. Voici quelques paramètres importants à modifier pour un usage de base : ```bash sudo nano /etc/vsftpd.conf ``` - Autoriser les connexions anonymes : ```ini anonymous_enable=NO ``` - Autoriser les utilisateurs locaux à se connecter : ```ini local_enable=YES ``` - Permettre l’upload (écriture) : ```ini write_enable=YES ``` - Activer le chroot (enfermer l’utilisateur dans son répertoire) : ```ini chroot_local_user=YES ``` Après modification, redémarrer le service : ```bash sudo systemctl restart vsftpd ``` --- #### **5. Création d’un utilisateur FTP** 1. Créer un utilisateur dédié : ```bash sudo adduser ftpuser ``` 2. Créer un répertoire personnel : ```bash sudo mkdir /home/ftpuser/ftp sudo chown nobody:nogroup /home/ftpuser/ftp sudo chmod a-w /home/ftpuser/ftp ``` 3. Créer un dossier pour les fichiers à envoyer : ```bash sudo mkdir /home/ftpuser/ftp/upload sudo chown ftpuser:ftpuser /home/ftpuser/ftp/upload ``` --- #### **6. Connexion au serveur FTP** Depuis un autre ordinateur : - Utiliser un client FTP comme **FileZilla**. - Ou se connecter en ligne de commande : ```bash ftp adresse_ip_du_serveur ``` Saisir ensuite le nom d’utilisateur et le mot de passe. --- #### **7. Sécurisation et alternatives** - Utiliser **SFTP** (via SSH) pour des transferts chiffrés. - Restreindre les accès FTP via le pare-feu (`ufw`). - Désactiver l’accès root via FTP. --- | Tâche | Vérification | |----------------------------------|--------| | Connexion sur FTP publique | | | Installation et configuration du serveur serveur FTP | | | Connexion sur votre serveur FTP depuis l'invite de commande | | | Connexion depuis un client FTP (filezilla...) | | | Sécurisation du serveur FTP (avec tunnel SSH) | | | Documentation ou capture d’écran | |