Les matériels d'interconnexion
Il est toujours intéressant de comprendre comment fonctionnent les choses, je vais essayer d'expliquer de manière la plus claire possible le principe de l'acheminement de trames et l'adaptation de ces trames par les différents matériels d'interconnexion, à savoir les hubs, Switch, routeur etc...
Avant de parler des matériels d'interconnexion, il est nécessaire de définir quelques termes.
Domaine de collision: un domaine de collision est le nombre de communication simultanée à travers un matériel. Par exemple, si un matériel qui a un seul domaine de collision reçoit deux trames Ethernet, il ne va pas pouvoir les traiter en même temps, il y aura une file d'attente. Plus le nombre de trames devient important, plus il y a d'attente avant qu'une trame ne soit traitée, ce que l'on appelle autrement un goulot d'étranglement.
Domaine de diffusion: un domaine de diffusion est plus connu sous le nom de broadcast en anglais, il permet d'émettre d'un PC une même trame sur tout le réseau auquel il appartient. Un broadcast ne passe pas les routeurs, en effet les trames seront bloquées si elles rencontrent un routeur lors de leur acheminement.
Adresse MAC (Media Access Control): Une adresse MAC (@ MAC) est une adresse physique propre à chaque carte réseau. Bien qu’elle soit modifiable, une @ MAC est unique, le fait de la changer est en fait un changement logique, si vous débranchez votre carte et que vous la rebranchez par la suite, elle aura toujours sa première adresse. Une adresse MAC est composée de 48 bits soit 6 octets et est codée en hexadécimal.
Exemple d’adresse MAC : 00:F2:56:A2:AF:15
Adresse IP (Internet Protocol): Une adresse IP est à l’inverse d’une @ MAC, une adresse logique qui est configurable via le panneau de configuration puis connexion réseau. Une @ IP permet d’identifier une machine dans un réseau. Il y a plusieurs types d’@ IP, de différentes classes, j’expliquerais tout ça dans un autre article. Une adresse IP est composé de 32 bits et est codée en binaire.
Exemple d’adresse IP (binaire) : 1100 0000.1010 1000.0000 0000.0000 0001 è 192.168.0.1
On ne peut pas parler de l'acheminement des trames sans parler du modèle OSI (Open System Interconnexion). C'est une normalisation du découpage d'information en 7 couches qui est utilisée par chaque architecture réseau. Il a été crée car tout le monde (IBM, DEC etc...) commençait à créer son système de découpage et bien sûr il n'était pas utilisable entre eux.
Les avantages du modèle OSI sont :
Maintenant que nous avons vu le modèle OSI, nous allons pouvoir parler des matériels d’interconnexions des différents niveaux.
Niveau 1 : Relation avec la couche physique.
Les matériels de niveau 1 sont de moins en moins en utilisé car il existe des matériels plus performants qui reprennent les mêmes principes. La couche de niveau 1 ne travaille pas avec les adresses MAC (niveau 2), ni les adresses IP (niveau 3).
Répéteur : Il a pour rôle de régénérer les signaux électriques en les nettoyant et les amplifiant. Il permet également de changer le support utilisé, pour passer de la paire torsadée (câble réseau) à la fibre optique. On ne peut implanter que 4 répéteurs par réseau.
Perso, j’ai jamais utilisé de répéteurs et je pense que j’en utiliserai jamais car plus personne n’en utilise aujourd’hui, un simple hub reprend le principe de régénération des signaux.
Hub (ou concentrateur) : Il joue le rôle de répéteur. Un Hub peut être empilé ou cascadé (à éviter car on arrive vite à des goulots d’étranglements). Il définit un domaine de collision (voir définition au dessus) et un domaine de diffusion, partage ses débits entre ses ports, par exemple, si l’on est sur un réseau à 100mbits/s et que l’on utilise un hub à 10 ports tous occupé, le débit pour chaque utilisateur ne sera que de 10mbits/s. Lors de l’acheminement d’une trame, le Hub ignore l’adresse MAC et IP en se contentant de faire du broadcast jusqu’à trouver le destinataire.
Niveau 2 : Relation avec la couche liaison
Les matériels de niveau 2 travaillent avec les adresses MAC, ce qui permet d’améliorer l’adressage des paquets.
Pont (ou bridge) : Un pont assure la connexion entre deux réseaux, c’est l’équivalent d’une passerelle mais au niveau 2, car une passerelle fonctionne au niveau 3. Il dispose d’un domaine de diffusion et de n domaine de collision (avec n = nombre de ports du pont), travaille avec les @ MAC mais ignore les @ IP (c’est pourquoi on préférera utiliser une passerelle). Un pont contrôle les données pour savoir s’il doit les filtrer ou non. Un pont utilise le protocole Spanning Tree pour éviter les saturations de la bande passante.
Switch (ou commutateur) : Un Switch peut être de niveau 2 s’il joue le rôle de pont ou bien de niveau 3 s’il joue le rôle de routeur. Un Switch définit un domaine de diffusion et n domaine de collision (avec n = nombre de ports), il ne partage pas ses débits entre ses ports et filtre les trames grâce a à une table de commutation qui est constitué de 3 colonnes : numéro ligne, numéro port et @ MAC.
Un Switch a 2 méthodes de commutation :
On peut considérer un Switch comme une amélioration du Hub, et la différence de prix est minuscule (environ 10€ sur certains modèles).
Les nouveaux Switch permettent également de créer des VLAN (que je détaillerais dans un autre article) par port, par @ MAC, par @ IP ou encore par protocole.
Niveau 3 : Relation avec la couche réseau
Les matériels de niveau 3 travaille encore avec les @ MAC, mais aussi avec les @ IP.
Switch : Si le Switch possède la fonction de routage, alors il est considéré comme un matériel de niveau 3. (Voir caractéristiques au dessus).
Routeur : Un routeur permet de relier un réseau local à Internet (relier un LAN au WAN). Il a au minimum deux interfaces, une sur le LAN et un sur Internet. Par exemple, si vous utilisez une FreeBox (ou autre) avec le mode routeur activé, votre adresse IP sera par défaut une @ du genre 192.168.0.1 (si vous faites un ipconfig dans Démarrer è Exécuter). Or cette adresse est une adresse de classe C qui n’existe pas sur Internet, car c’est une adresse privé qui n’est pas routable. L’interface publique du routeur va vous donner une adresse de classe A (souvent un adresse fixe), 89.65.196.23 par exemple. Voilà une illustration de tout cela.
(Voir aussi NAT/PAT dans un autre article sur le site)
L’acheminement des paquets se fait de deux façons différentes :
La configuration d’un routeur contient deux tables :
Niveau 4 à 7 : Relation avec les couches transport, session, présentation et application.
Passerelle : Une passerelle permet de relier un LAN à un autre LAN. Une passerelle est en fait un ordinateur avec deux cartes réseaux et possède un logiciel de routage d’accès distant. Par abus de langage, on confond souvent une passerelle avec un routeur.
Voilà, c'est fini!
Généralement, un ordinateur fonctionne avec Windows, Macintosh ou Linux. Ce système d'exploitationgère le matériel physique et vous permet de travailler, copier ou imprimer des documents.
La virtualisation permet d'avoir sur un même poste plusieurs systèmes d'exploitation indépendants pouvant communiquer entre eux.
En gros, c'est comme si vous installiez Linux dans Windows, ou Windows dans Linux, sans avoir à racheter un nouvel ordinateur. On se retrouve alors avec le système hôte (physiquement installé et puissant) et le système invité (simulé comme vrai par un logiciel).
Le système invité peut être identifié sur un réseau comme un poste bien physique. Ce document présente une méthode pour le connecter.
Détail qui tue : Si le disque dûr de l'hôte est formatté en FAT32, l'image VDI de l'invité ne pourra pas dépasser 4 Go d'espace disque et restera figée comme du marbre si vous dépassez !
Pour installer Linux, vous aurez besoin d'Internet. Un point de théorie est donc nécessaire avant de se lancer dans l'installation d'une machine virtuelle quelle qu'elle soit.
On considèrera que votre adresse IP publique Internet est "12.34.56.78" et que vos IP privées sont "192.168.10.x".
Dans ce mode, vous branchez votre PC directement sur le modem grâce à un câble réseau RJ45. Votre carte réseau PC reçoit immédiatement les identifiants publics de connexion. Vous n'êtes plus sur le réseau "de la maison".
Le modem est transparent : toute attaque provenant d'Internet peut corrompre votre ordinateur hôte s'il n'est pas mis à jour.
Si vous placez un switch entre le modem et deux ordinateurs, ils recevront les mêmes identifiants, ce qui est impossible sur un réseau : c'est le conflit d'adresse IP.
Pour résoudre le problème, il faut un routeur.
Remarque : on parle de switch pour brancher plusieurs ordinateurs, mais on peut aussi utiliser un hub. La différence est que le hub transmet les données sur toutes les prises réseaux, les ordinateurs étant en charge de ne lire que les données les concernant. Ce matériel ne se vend plus.
Ce mode est évolué puisqu'il permet à plusieurs personnes d'avoir Internet en même temps. On appelle ça lepartage de connexion.
Connectez-vous sur le site de votre fournisseur d'accès pour activer le mode routeur. Votre modem sera mis à jour, car il embarque un logiciel. Il faudra faire particulièrement à DHCP : c'est le mécanisme d'attribution automatique d'adresses IP qui permettra ensuite au routeur de faire le pont entre l'intérieur et l'extérieur.
L'IP interne du modem sera la passerelle des ordinateurs privés. Le modem se chargera de faire le pont entre Internet (prise téléphonique) et vos ordinateurs (prise Ethernet).
Le modem agit alors en véritable pare-feu. Son principe est : tant que ça ne sort pas, rien ne rentre, sauf en cas de NAT.
Lorsqu'il n'est pas possible de passer le modem en mode routeur, il suffit de le laisser transparent en ajoutant un routeur en arrière. Cette solution n'est pas économique parce qu'elle est complètement redondante et que la sécurité devient votre responsabilité (erreurs, blocages, ARP poisoning...).
Le boîtier ressemble à un switch, sauf que c'est un routeur. Il contient donc un système embarqué Linux, un logiciel de routage (type iptables), un serveur DHCP (type dhcpd) et un serveur HTTP (type lighttpd) pour tout configurer. Le routeur dispose d'une adresse IP publique et privée.
Ce peut être aussi un ordinateur doté de deux cartes réseaux à configurer avec FirewallBuilder :
Maintenant que l'on sait comment un réseau se structure, il suffit de considérer qu'une machine virtuelle peut se comporter comme un ordinateur normal, à la différence qu'elle entretient des liens spéciaux avec l'hôte dont elle partage les ressources.
En décochant "Activer la carte réseau", vous coupez l'accès. L'invité ne détecte alors aucune carte réseau virtuelle.
La machine est hermétique, sauf si vous utilisez une clé USB pour transférer des données.
Cette option simule une "connectivité limitée ou inexistante". Une carte réseau virtuelle est détectée.
C'est le mode pour connecter la machine virtuelle au réseau comme si c'était un vrai ordinateur physique. L'usage courant est de disposer d'un second "ordinateur" ou de faire tourner des applications serveur.
Les paramètres de réseau doivent être configurés dans le système invité comme vous le souhaitez.
Physiquement, les données de l'invité vont transiter par la carte réseau de l'hôte tout en gardant l'origine de propriété. De ce fait, l'hôte ne voit normalement pas ce qui circule pour l'invité.
Le switch ou le routeur doit être allumé pour que les paquets puissent transiter d'une machine à l'autre. Il comprendra aisément que 2 adresses IP se cachent derrière la même prise.
Sur le schéma, la flèche mène soit :
Il s'agit d'un réseau logiciel virtuel entre l'hôte et l'invité dont personne n'a accès. Plusieurs machines virtuelles sur le même hôte peuvent être connectées à ce réseau.
Le réseau de l'hôte est configuré au niveau du "VirtualBox Host-Only Network Adapter". L'invité doit être mis en cohérence depuis la machine virtuelle même.
L'hôte se connecte à l'invité via l'adaptateur virtuel, mais peux toujours se connecter physiquement au réseau "de la maison" via la vraie carte réseau. Cette carte peut être le lien vers Internet, l'invité ne pouvant y accéder que si l'hôte gère le routage logiciel.
Il s'agit de réseaux virtuels accessibles uniquement par les machines virtuelles. Les machines ayant le même nom de réseau interne peuvent se reconnaître si leurs paramètres TCP/IP sont en cohérence.
Ce sigle signifie "network address translation".
Aucun exemple n'est prévu pour illustrer ce paragraphe, le mode d'accès étant plus facile par pont.
Reprenons la situation de connexion par pont :
En supprimant la passerelle des paramètres TCP/IP de l'hôte, on coupe son accès à Internet. Selon la configuration, le piratage de l'invité via Internet n'exclue pas l'attaque de l'hôte.
La solution à moindre frais consiste à partitionner le réseau logiciellement en jouant sur la combinaison du masque de réseau avec les adresses IP :
Si C ne communique pas avec B, c'est bien parce qu'il n'est pas configuré pour. Un pirate peut tout à fait gérer l'accès à deux réseaux sur la même carte réseau (virtuelle ou pas). Encore faut-il qu'il puisse le faire, qu'il veuille le faire et qu'il sache le faire !
Quand plusieurs machines virtuelles fonctionnent en parallèle, il faut qu'elles aient des adresses MACdistinctes (Media Access Control address).
C'est un numéro de série unique inhérent aux cartes réseaux pour permettre leur identification unique sur un même câblage au-delà du partionnement logique des réseaux à l'aide des adresses IP et des masques de sous-réseau.
N'essayez pas de créer volontairement un conflit, VirtualBox n'effectue pas de vérification et le plantage est... persistant ! Vous êtes prévenus.
Une fois une machine préparée, il suffit de mettre le fichier VDI de côté.
Malheureusement, vous ne pouvez pas monter un fichier cloné sans effectuer une petite modification. Elle consiste à générer un identifiant unique matériel pour votre disque virtuel (dit UUID). Cette unicité est analogue aux adresses MAC pour éviter les conflits entre matériels.
cd "C:\Program Files\Sun\VirtualBox\bin" VBoxManage.exe internalcommands setvdiuuid "C:\chemin\complet\du\fichier.vdi"