Bonjour,
Je suis actuellement en train de virtualiser une pile tcp/ip grâce à la fonctionnalité tap sur une machine virtuelle. Étant débutant avec cette fonctionnalité, j'aimerais savoir si il est possible de créer une seconde machine virtuelle et de faire communiquer le réseau virtualisé avec la seconde machine virtuelle grâce à un réseau privé?
Merci d'avance pour votre aide
# VPN interne
Posté par Kerro . Évalué à 5.
C'est le principe même des tap : ce sont de vraies interfaces réseau, donc routables, etc.
Vérifie d'abord que tu peux pinguer entre ton tap et l'hôte. Tant que ça ne fonctionne pas, tu as un soucis de configuration.
Puis tu actives le routage sur la machine hôte :
et là tes différents tap peuvent communiquer entre eux, avec l'hôte, et même avec l'extérieur si leur configuration ip est bonne.
[^] # Re: VPN interne
Posté par Sam . Évalué à 1.
Merci pour ta réponse,
J'arrive bien a pinguer entre mon hôte et mon tap mais même en reprenant tes commandes je n'arrive pas à faire communiquer mon autre VM avec mon tap. Sachant que "je pense" que leur configuration ip est bonne. Vois tu une autre raison pour laquelle cela ne fonctionne pas ?
[^] # Re: VPN interne
Posté par Kerro . Évalué à 3.
Chaque VM doit pouvoir pinguer l'hôte.
Si chaque VM est sur le même plan d'adressage que l'hôte (c'est plus simple pour commencer), alors ça devrait fonctionner directement.
exemple :
hôte = 192.168.0.10/24
VM1 = 192.168.0.100/24
VM2 = 192.168.0.101/24
Avec ça tes VM doivent même pouvoir pinguer ton routeur par défaut (par exemple 192.168.0.1). Tu peux alors leur assigner un DNS et un routeur par défaut (comme pour n'importe quel machine sur le réseau en fait) et ça roule, les VM auront alors accès à internet. Ou laisser DHCP faire le job, car TAP est comme un commutateur Ethernet (un switch).
Tu as peut-être des règles de pare-feu qui gênent.
[^] # Re: VPN interne
Posté par Sam . Évalué à 1.
Je pense avoir une erreur sur la configuration réseau car mes VM sont bien sur le même plan d'adressage que l'hôte mais je n'arrive toujours pas à pinguer. Comment puis-je savoir si le problème vient ou pas de ma config ?
[^] # Re: VPN interne
Posté par Kerro . Évalué à 3.
C'est de ma faute, j'ai oublié de préciser un point essentiel : il faut que tes TAP soient dans un même pont (bridge). Et ta carte réseau physique aussi si tu veux pouvoir communiquer avec l'extérieur.
C'est le pont qui fait office de commutateur (switch).
Il faut ensuite ajouter les TAP :
Si tu veux ajouter eth0 il est mieux de d'abord lui supprimer son adresse IP (ou alors celle du pont sera une adresse secondaire).
[^] # Re: VPN interne
Posté par Sam . Évalué à 1. Dernière modification le 19 avril 2018 à 09:41.
Merci encore pour ton aide.
J'ai créé deux interfaces Tap sur une seule machine virtuelle pour tester ta solution dans le but de les faire communiquer à travers le bridge
Si j'ai bien compris le bridge me donne un schéma comme cela:
Bridge 192.168.0.1
|
|
|---------------|---------------|
| |
| |
Tap0 192.168.0.2 Tap1 192.168.0.3
Quand je fais brctl show
Je vois bien mes 2 interfaces connectées Cependant les pings
ping 192.168.0.3 -I vmbr0
ne passent toujours pas
[^] # Re: VPN interne
Posté par Kerro . Évalué à 3.
ping 192.168.0.3 tout court devrait fonctionner aussi.
Ça m'agace un truc aussi basique qui ne fonctionne pas :-)
--> si tu as le temps ce soir, téléphone moi après 21h30 (au 0805 indiqué sur ma page perso). Sinon dimanche soir.
[^] # Re: VPN interne
Posté par Sam . Évalué à 1. Dernière modification le 21 avril 2018 à 18:28.
Merci
pour ta proposition avec plaisir pour demain si ça ne fonctionne toujours pas.
J'ai réussi a faire pinger les taps sur deux différentes VM en utilisant un segment LAN entre les deux VM (je bosse sur vmware).
les ifconfigs donnent des adresses comme:
VM n°_1
ens33 : inet addr: 192.168.57.130 Masque 255.255.255.0
tap0 : inet addr 192.168.57.133 Masque 255.255.255.0
VM n°_2
ens33 : inet addr: 192.168.57.130 Masque 255.255.255.0
tap0 : inet addr 192.168.57.132 Masque 255.255.255.0
l'application que je fais tourner derrière l'interface tap est une pile lwIP à qui j'adresse les adresses
VM n°_1
lwip: inet_addr: 192.168.57.140 Masque 255.255.255.0 gw: tap0 (VM n°_1)
VM n°_2
lwip: inet_addr: 192.168.57.141 Masque 255.255.255.0 gw: tap0 (VM n°_2)
mais cette application (lwip) qui se sert de l'interface tap est injoignable. Si je configure les tap0 sur un réseau différent des ens33 aucune communication n'est possible.
C'est peut être facile mais je dois bien admettre que j'ai vraiment l'impression d'être perdu la ahah.
[^] # Re: VPN interne
Posté par Kerro . Évalué à 2.
?!!
Si tu utilises wmware, ça gère le réseau tout seul. Donc si tu bricoles de ton côté, forcément ça ne fonctionne pas.
[^] # Re: VPN interne
Posté par Sam . Évalué à 1.
Donc j'ai bien réussi a réaliser le montage avec le bridge en travaillant sur des réseaux différents les interfaces tap arrivent correctement à communiquer entre elles.
"Ouf"
Cependant, je n'arrive plus maintenant à communiquer entre mes interfaces tap et leurs applications lwip.
Par exemple un ping de tap0 vers 172.16.0.2 va créer une suite de requête arp :
- ARP, Request who-has 172.16.0.2 tell 172.16.0.1
ARP, Reply 172.16.0.2 is-at da:7b:…..
et ces requêtes ne se terminent jamais.
[^] # Re: VPN interne
Posté par NeoX . Évalué à 3.
tu me semble faire des choses complexes pour rien
si c'est une pile IP elle doit pouvoir travailler sur la carte reseau,
si ce n'est pas le cas, tu travailles via le TAP, mais il te faut alors des IPs differentes sur tes TAPs et sur tes interfaces physiques,
sinon ton ping 172.16.x.y va sortir par defaut avec l'interface physique.
exemple: tes machines en enPS sur le reseau 172.16.0.x/24, les TAPs sur 172.16.1.x/24
tu ping alors 172.16.1.1 depuis la machine 172.16.1.2 et inversement.
# bridge vs tap/tun
Posté par NeoX . Évalué à 3.
pour que cela fonctionne il te faut plusieurs choses
en bridge il faut que toutes les machines soient sur le meme reseau
192.168.1.1 pour to "serveur"
192.168.1.2 pour ta premiere VM
192.168.1.3 pour ta 2e VM
192.168.1.254 pour ta box
en TAP ou en reseau privé
ton serveur doit avoir 2 IP, une sur ton LAN, une sur le TAP
LAN 192.168.1.1, TAP 192.168.2.1
tes VMs sur le TAP devront alors avoir 192.168.2.2 et 192.168.2.3, avec passerelle 192.168.2.1 (le serveur)
il faut aussi que le serveur fasse le forward entre le LAN et le TAP (cf le post precedent)
mais probablement aussi du SNAT/MASQUERADE pour cacher les machines du reseau 192.168.2.x/24 derriere son IP LAN
sinon ta box ne pourra pas repondre à ces machines
[^] # Re: bridge vs tap/tun
Posté par Sam . Évalué à 1.
Bonjour merci pour ta réponse.
Actuellement toutes mes machines sont bien sur le même réseau. La seule machine ne pouvant communiquer avec les autres est la machine faisant tourner lwIP grâce à la fonction TAP. le serveur fait bien le forward entre le LAN et le TAP :
un
cat /etc/sysctl.d/ip_forward.conf
me rend bien
net.ipv4.ip_forward=1
Mais j'avoue que je débute dans l'administration réseau et que :
"ton serveur doit avoir 2 IP, une sur ton LAN, une sur le TAP"
et
"probablement aussi du SNAT/MASQUERADE pour cacher les machines du reseau 192.168.2.x/24 derriere son IP LAN"
Ca me parle pas vraiment
Merci pour ton aide
[^] # Re: bridge vs tap/tun
Posté par NeoX . Évalué à 3.
bienvenu dans ce monde
si toute tes machines se voient et communiquent en reseau et qu'une seule (celle de IwIP) ne fonctionne pas => c'est IwIP qui t'emmerde
verifie que la machine ait une adresse IP,
regarde si tu vois arriver les flux depuis/vers cette machine (l'outil tcpdump doit pouvoir t'aider)
l'ip_forward n'est utile que dans le cas ou tes machines sont sur des reseaux "differents"
si tu veux faire des reseaux séparés pour tes VMs,
tu vas avoir un reseau qui ressemble à ca
VM1
|
reseau10
|
PC Serveur <--> reseau1 box internet <--> internet
|
reseau20
|
VM2
ton PC "serveur" doit donc avoir une IP dans chaque reseau pour pouvoir parler à chaque machine (VM1, VM2, box internet)
il doit ensuite cacher les reseau10 et reseau20 quand les VM veulent aller sur internet, sinon ta Box internet ne saura pas repondre à VM1/VM2
et enfin ton PC devra faire le forward pour que les paquets passent entre reseau1, reseau10 et reseau20
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.