J'utilise Open vSwitch pour créer un réseau commuté entre des machines invitées virtualBox, et je veux que le système d'exploitation hôte (Ubuntu 12.04) rejoigne ce réseau et le configure comme la passerelle de ce réseau virtuel:
Tout d'abord, j'ai créé un vswitch et j'ai ajouté des ports pour exploiter les appareils (que les machines virtuelles les utilisent comme interfaces pontées):
ovs-vsctl add-br sw0
ovs-vsctl add-port sw0 tap0
Après cela, j'ai défini statiquement l'ip de la machine virtuelle Lubuntu 12.04:
ifconfig eth0 192.168.1.3/24 up
route add -net 0.0.0.0/0 gw 192.168.1.1
Du côté du système d'exploitation hôte, j'ai également défini l'adresse IP:
ifconfig sw0 192.168.1.1/24 up
En ce moment, je peux cingler de Lubunut à Ubunutu. Je veux maintenant, sur la machine hôte, utiliser la mascarade IP pour transférer le trafic du réseau 192.168.1.0/24 vers mon interface physique (connectée à Internet):
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE
Donc, depuis Lubuntu (la machine virtuelle), je peux envoyer une requête ping à l'interface Ubuntu eth1, mais je ne peux pas atteindre le vrai réseau (par exemple: la passerelle sur un vrai LAN), j'ai essayé:
nslookup google.com
dig @8.8.8.8 yahoo.com
dig @192.168.30.1 google.com
Topologie du réseau
Internet (real gw) ------ Host OS -------- vswitch -------- VBox Guest 1
192.168.30.1 ip masquerade 192.168.1.0/24
|
------------ VBox Guest 2
la source
Réponses:
La réponse n'est pas vraiment la mienne, mais ... Essayez de suivre Open vSwitch sur VirtualBox
Il y avait aussi un bref fichier texte de certaines personnes de Fedora sur un sujet similaire: libvirt et OpenVSwitch sous forme de fichier texte ... n'a pas pu le localiser.
selon le commentaire, voici un bref résumé:
(1) Créer une interface vnet0 et un pont br0:
(2) spin VM qui utilise l'interface vnet0 (en tant qu'adaptateur ponté)
(3) connectez le pont br0 au réseau réel:
la source
Activez le transfert au redémarrage en décommentant ces lignes dans /etc/sysctl.conf :
la source