Je tente de mettre en réseau ma machine, une vm qui tourne sous qemu qui a une carte réseau connectée à une interface tap, elle même connecté à un bridge qui la relie à mon wifi. Pour plus de clarté voici un petit schéma :
+-----------+
| | +-------+ +--------+ +-------+ +--------+
| +---| | TAP | | Bridge | | Wifi | | |
| QEMU |NIC+------| Device|------| |------| Device|------| Router |
| +---| | (tap0)| | (br0) | |(wlan0)| | |
| | +-------+ +--------+ +-------+ +--------+
+-----------+
Mon FAI me fournit en IPv6 et le projet que je veux faire tourner sur ma vm nécessite une adresse IPv6 de scope global (que j'obtiens sur ma vm par ailleurs). La seul chose qui reste hors de ma portée c'est de pinger l'extérieur depuis ma vm. J'arrive à entièrement pinger le réseau depuis ma machine, mais depuis la vm je bloque à wlan0.
Voici la table de routage de mon hôte :
root:~# ip r
192.168.0.0/24 dev br0 proto kernel scope link src 192.168.0.78
default via 192.168.0.254 dev br0
root:~# ip -6 r
2a01:e34:ec03:8610::/64 dev br0 proto kernel metric 256 expires 86399sec mtu 1480 advmss 1420 hoplimit 0
fe80::/64 dev br0 proto kernel metric 256 mtu 1480 advmss 1420 hoplimit 0
default via fe80::207:cbff:fe9c:6b9 dev br0 proto kernel metric 1024 expires 1794sec mtu 1480 advmss 1420 hoplimit 64
Voici celle de ma machine guest :
linux-qkjp:~ # ip r
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.80
default via 192.168.0.78 dev eth0
linux-qkjp:~ # ip -6 r
2a01:e34:ec03:8610::/64 dev eth0 proto kernel metric 256 expires 86233sec mtu 1480 advmss 1420 hoplimit 0
fe80::/64 dev eth0 proto kernel metric 256 mtu 1480 advmss 1420 hoplimit 0
default via fe80::207:cbff:fe9c:6b9 dev eth0 proto kernel metric 1024 expires 1628sec mtu 1480 advmss 1420 hoplimit 64
Dans les deux tables ci dessus :
192.168.0.78 est l'adresse IPv4 de mon bridge br0.
192.168.0.254 est l'adresse IPv4 du routeur.
fe80::207:cbff:fe9c:6b9 est l'adresse IPv6 du routeur.
Les tables iptables et ip6tables sont toutes vides et je ne sais plus du tout quoi modifier pour réussir à pinger l'extérieur depuis ma vm.
Je suis preneur de toute solution :)
Merci d'avance.
# probleme sur le routeur ?
Posté par NeoX . Évalué à 2.
sinon ca me semble un poil compliqué de mettre un TAP sur WLANX-hote
por ensuite mettre un BRidge sur ce TAP, pour ensuite faire un dev dans l'invité.
il me semblait qu'on pouvait faire un BR directement sur l'interface (ETH ou WLAN) ?
[^] # Re: probleme sur le routeur ?
Posté par François (site web personnel) . Évalué à 1.
Le fait de relié la NIC de la machine guest à une tap sur la machine hôte semble être la solution la plus approprié pour ce que je veux faire. Je la tire de là : http://people.gnome.org/~markmc/qemu-networking.html
Le bridge en lui même relie la tap à la wlan, Je trouve aussi la tap superflue dans cette configuration mais je ne vois pas trop comment faire sans.
[^] # Re: probleme sur le routeur ?
Posté par NeoX . Évalué à 2.
guest (192.168.0.80) -> BR -> TAP ->WLAN
host (192.168.0.78) -> BR -> WLAN
WLAN -> (192.168.0.254) routeur -> internet
question, pourquoi tu met la machine 78 comme passerelle de la machine 80
alors que tu fonctionnes en mode "bridge" ?
c'est à dire que ta machine guest est "directement" exposé sur ton reseau comme si c'etait une machine physique.
si tu veux une architecture deplacable (pour montrer en clientele par exemple)
il faut pas te mettre en bridge mais en NAT (je ne me souviens plus le nom dans QEMU)
à ce moment là, la machine guest sera sur un reseau "interne" à qemu avec une translation d'adresse vers ta carte LAN/WLAN.
[^] # Re: probleme sur le routeur ?
Posté par François (site web personnel) . Évalué à 1.
> question, pourquoi tu met la machine 78 comme passerelle de la machine 80
> alors que tu fonctionnes en mode "bridge" ?
Je ne vois pas d'autre solution pour router mes paquets hors de ma machine hôte. Mais l'admin réseau n'étant pas mon point fort si tu as une autre solution à m'expliquer, je suis preneur.
Je ne peux pas faire de NAT, car sur la vm devra tourner un script qui a besoin d'une adresse IPv6 globale pour fonctionner. Il faut donc absolument que la vm soit sur le réseau "comme si" elle était juste derrière le routeur.
La solution -net user (le mode user) de qemu marchait cependant très bien si je voulais avoir du réseau naté sur ma machine virtuelle.
[^] # Re: probleme sur le routeur ?
Posté par NeoX . Évalué à 2.
ta VM est en "bridge" donc directement exposé sur ton reseau.
elle doit donc avoir une configuration reseau similaire à ta machine physique
meme plan d'adressage (192.168.0.0/24, meme DNS, meme passerelle 192.168.0.254)
pour IPv6 je ne pratique pas suffisamment, mais il doit falloir que le routeur fournisse un adressage ipv6
[^] # Re: probleme sur le routeur ?
Posté par François (site web personnel) . Évalué à 1.
Ensuite j'ai beau essayer avec ce genre de table de routage sur ma machine guest :
linux-qkjp:~ # ip r
192.168.0.0/24 dev eth0 scope link
default via 192.168.0.254 dev eth0
Il m'est toujours impossible de pinger ni la passerelle (254) ni l'extérieure. Peut être ai-je mal appliqué ce que tu m'as conseillé.
[^] # Re: probleme sur le routeur ?
Posté par NeoX . Évalué à 2.
[^] # Re: probleme sur le routeur ?
Posté par François (site web personnel) . Évalué à 1.
qemu -m 1024 -hda SlapOS_32bit.i686-0.0.1.raw -net nic -net tap,ifname=tap0,script=no
Je me commence à me demander si mon problème vient réellement du routage et pas simplement de mon bridge sur wlan0 qui serait foireux à un moment.
[^] # Re: probleme sur le routeur ?
Posté par NeoX . Évalué à 2.
si tu fais -net nic -net tap...
tu relies ta carte interne de ton guest (NIC) à la carte TAP de ton hote
seulement tu a cree un bridge (br0) sur ton hote
si case trouve c'est lui qui "boque" le TAP
si rien d'autre n'utilise le br0, tu peux le desactiver
pour avoir le TAP en direct
[^] # Re: probleme sur le routeur ?
Posté par François (site web personnel) . Évalué à 1.
Il semblerait aussi qu'il me soit impossible de bridger correctement une carte wifi.
Après un examen en détail de plein de tcpdump partout sur mon réseau, je me suis aperçu que ma wlan tansmettait le ping mais pas la réponse. Aussi les interface distante répondait mais je n'en savais rien. Après avoir acheter un rj45 de 15 mètres et avoir configurer le bridge directement tout fonctionnait sans problème (et ne nécessitait par ailleurs aucune route).
Je vais continuer avec cette solution. Merci encore de ton aide.
[^] # Re: probleme sur le routeur ?
Posté par NeoX . Évalué à 2.
et ca marche sans changer quoique ce soit d'autres dans la VM ?
[^] # Re: probleme sur le routeur ?
Posté par François (site web personnel) . Évalué à 1.
[^] # Re: probleme sur le routeur ?
Posté par benoar . Évalué à 3.
[^] # Re: probleme sur le routeur ?
Posté par François (site web personnel) . Évalué à 2.
Mais merci beaucoup de cette information, après une rapide recherche sur le net ça a vraiment l'air de coller avec mon problème de base. Je vais creuser ça, ça pourra m'être très utile pour la suite.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.