web-dev-qa-db-fra.com

Comment fonctionne la mise en réseau pontée dans Virtualbox?

Comment fonctionne le réseau ponté?

J'ai parcouru les manuels de VirtualBox mais rien d'extrêmement technique n'a été abordé (c'était simplement un gloss générique du sujet).

  • Comment attribue-t-il une adresse IP différente à la machine virtuelle tout en utilisant la même carte réseau?
  • Pourquoi cette adresse IP différente (que j'ai trouvée en utilisant ip addr sous Linux) n'apparaît-elle pas dans la section "périphériques connectés" de mon routeur, mais puis-je transférer le port sur celle-ci?
  • Comment se fait-il que si je me connecte à un réseau WiFi protégé par mot de passe, je ne suis pas obligé de saisir mon mot de passe?
  • Est-ce le multihébergement?
27
agz

Extrait du manuel de VirtualBox, chapitre 6 de la section Réseaux virtuels, section Réseaux pontés :

Avec la mise en réseau pontée, VirtualBox utilise un pilote de périphérique sur votre système hôte qui filtre les données de votre adaptateur réseau physique. Ce pilote est donc appelé pilote "filtre réseau". Cela permet à VirtualBox d'intercepter les données du réseau physique et d'y injecter des données, créant ainsi efficacement une nouvelle interface réseau dans le logiciel. Lorsqu'un invité utilise une telle interface logicielle, il considère le système hôte comme s'il était physiquement connecté à l'interface à l'aide d'un câble réseau: l'hôte peut envoyer des données à l'invité via cette interface et en recevoir des données. Cela signifie que vous pouvez configurer le routage ou le pontage entre l'invité et le reste de votre réseau.

Sur Wikipedia Pontage (mise en réseau) :

Un pont réseau est un périphérique réseau qui connecte plusieurs segments de réseau. Dans le modèle OSI, le pontage agit dans les deux premières couches , en dessous de la couche réseau.

Je n'ai aucune connaissance personnelle à ce niveau de travail, mais il me semble que VirtualBox et d'autres gestionnaires virtuels utilisent des pilotes système pour injecter des packages dans le réseau et se faire passer pour un adaptateur physique.

Comme tous les packages sont envoyés à tout le réseau, chaque périphérique lisant uniquement les packages marqués de son adresse (à moins que reniflant ), le pilote virtuel injecte les packages avec leur propre adresse MAC virtuelle et répondent aux packages qui sont destinés à cette adresse MAC, même si, physiquement, aucun adaptateur de ce type n'existe.

Ceci est effectué à un niveau suffisamment bas du modèle de réseau, de sorte que l'hôte ne réagisse pas à ces messages aux niveaux supérieurs, car ils sont marqués avec une adresse MAC différente de celle de l'hôte.

C'est exactement la même technique que celle utilisée par les pirates pour attaques par usurpation d'identité en utilisant usurpation d'adresse IP .

L'adresse MAC virtuelle est inventée par le gestionnaire de la machine virtuelle ou peut être spécifiée ou modifiée à tout moment. Il peut s'agir de n'importe quelle adresse MAC légale qui ne duplique pas celle d'un autre périphérique sur le réseau local.

L'adresse IP est allouée à cet adaptateur virtuel par le serveur DHCP, qui est généralement le routeur, comme pour tout autre périphérique physique.

La raison pour laquelle vous pouvez vous connecter à un réseau WiFi protégé par mot de passe sans entrer le mot de passe est plus déconcertante, mais je suppose que le pilote VirtualBox a trouvé et utilisé le jeton qui a été renvoyé à l'hôte lorsqu'il s'est connecté au réseau. Cela expliquera également pourquoi il n'apparaît pas dans la section "Périphériques connectés" de votre routeur, car il ne s'est jamais officiellement connecté au réseau. Le transfert fonctionne toujours car le routeur ne fait que renvoyer le paquet à l'adresse transférée et le pilote VirtualBox répond.

Enfin, il ne s’agit pas du multihébergement , c’est-à-dire d’un ordinateur exécutant un système d’exploitation possédant plusieurs adresses IP via plusieurs adaptateurs, qui sont tous connus de ce SE .

Pour plus d'informations, voir l'article Wikipedia sur le modèle OSI , et en particulier sur les couches OSI.

12
harrymc

La mise en réseau pontée fonctionne selon le concept selon lequel le logiciel que vous utilisez pour virtualiser votre machine crée une interface que cette machine virtuelle peut utiliser. Dans ce cas, il partage votre adaptateur réseau d'ordinateur hôte et le logiciel sert d'interface entre le matériel et votre adaptateur réseau virtuel.

Maintenant que nous comprenons que les deux utilisent la même carte réseau, nous pouvons supposer qu’ils se comporteront de la même manière. Si votre ordinateur hôte utilise DHCP pour récupérer une adresse IP, votre VM est capable de faire la même chose. S'il est défini de manière statique, ainsi de suite.

Si vous consultez votre table de bail DHCP dans votre routeur, les deux périphériques seront affichés. De votre point de vue des routeurs, ce sont deux appareils différents. À ma connaissance, si vous utilisez ARP sur votre réseau local, les deux périphériques doivent être considérés comme uniques. Les paquets destinés à votre machine VM ne doivent même jamais atteindre la pile IP de la machine hôte.

2
Will.Beninger