Réacheminez le trafic entre deux ordinateurs virtuels via un autre ordinateur virtuel

0

J'essaie de configurer une topologie de réseau très simple, comprenant deux hôtes Ubuntu 16.04 en tant qu'hôtes, comme suit:

VM1 <-> VM2

Les deux ordinateurs virtuels se connectent au réseau d'hôte uniquement VirtualBox avec une adresse IP statique (10.0.0.1 et 10.0.0.2). La tâche à effectuer ici est que VM2 envoie à VM1 un paquet avec une adresse IP usurpée (par exemple, 10.0.0.3) et récupère le paquet renvoyé. Envoyer un paquet spoofé est facile, mais je ne sais pas comment récupérer le paquet renvoyé car il sera envoyé à l'adresse spoofée.

Je pense avoir une autre VM qui joue le rôle de routeur au milieu:

VM1 <-> Routeur <-> VM2

mais vous ne savez pas comment rediriger tout le trafic sortant de VM1 vers VM2?

J'apprécierai tout indice, y compris pour le problème initial, car je suis resté bloqué quelques jours et, chose surprenante, il n'y a pas de question connexe.

Muoi Tran
la source
En général, les machines virtuelles n'utiliseront pas de routeur tant que leurs adresses ne sont pas dans le même sous-réseau. Vous pouvez essayer de forcer votre routeur à jouer le rôle de pont (qui connecte 2 segments du même sous-réseau) et à ajouter à chaque machine virtuelle un itinéraire vers une autre machine virtuelle via l'interface du routeur ... mais je ne suis pas sûr que cela fonctionnera avec un serveur virtuel unique. routeur.
Akina

Réponses:

0

Ce que vous faites va à l’encontre des convétions de réseautage, comme vous le savez sûrement. Pour obtenir le comportement souhaité, vous devez faire plus de spoofing. Le problème est probable dans le protocole ARP (Address Resolution Protocol). Vous avez des adresses IP et des adresses MAC, et ARP traduit entre les deux. Plus de détails dans la réponse de defalt ici . Vous devez usurper la réponse ARP en indiquant "qui a 10.0.0.3" pour que 2 pense que le MAC de 1 est le MAC de 3. Ensuite, vous recevrez le paquet à 1. Je n'ai pas vérifié, mais que se passe-t-il si vous configurez 2 adresses IP sur l'interface 1? C'est peut-être le moyen le plus simple.

Andy
la source
Oui, cela semble être la réponse à ce problème.
Muoi Tran