2008-09-17 3 views
5

J'essaye d'utiliser libvirt avec virsh pour gérer mon vms kvm/qemu. Le problème que j'ai est de le faire fonctionner avec des adresses IP publiques. Le serveur exécute ubuntu 8.04.KVM/QEMU Problèmes TAP avec libvirt

libvirt continue d'essayer de l'exécuter comme:

/usr/bin/kvm -M pc -m 256 -smp 3 -monitor pty -no-acpi \ 
    -drive file=/opt/virtual-machines/calculon/root.qcow2,if=ide,boot=on \ 
    -net nic,vlan=0,model=virtio -net tap,fd=10,vlan=0 -usb -vnc 127.0.0.1:0 

Quelles bottes, mais ne pas l'accès au réseau (pings ne vont nulle part). Le faire fonctionner sans fd = 10 le fait fonctionner correctement, avec kvm créant le dispositif TAP nécessaire pour moi et le fonctionnement en réseau à l'intérieur de l'hôte. Tous les guides d'installation que j'ai vus se concentrent sur la configuration du masquage, alors que je veux juste un pont simple et un accès non filtré au réseau (les invités et l'hôte doivent utiliser des IP publiques).

En cours d'exécution si ifconfig sur l'hôte le permet, le pont est configuré manuellement dans mon fichier/etc/network/interfaces. :

br0 Link encap:Ethernet HWaddr 00:1e:c9:3c:59:b8 
     inet addr:12.34.56.78 Bcast:12.34.56.79 Mask:255.255.255.240 
     inet6 addr: fe80::21e:c9ff:fe3c:59b8/64 Scope:Link 
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
     RX packets:3359 errors:0 dropped:0 overruns:0 frame:0 
     TX packets:3025 errors:0 dropped:0 overruns:0 carrier:0 
     collisions:0 txqueuelen:0 
     RX bytes:180646 (176.4 KB) TX bytes:230908 (225.4 KB) 

eth0 Link encap:Ethernet HWaddr 00:1e:c9:3c:59:b8 
     inet6 addr: fe80::21e:c9ff:fe3c:59b8/64 Scope:Link 
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
     RX packets:6088386 errors:0 dropped:0 overruns:0 frame:0 
     TX packets:3058 errors:0 dropped:0 overruns:0 carrier:0 
     collisions:0 txqueuelen:1000 
     RX bytes:680236624 (648.7 MB) TX bytes:261696 (255.5 KB) 
     Interrupt:33 

Toute aide serait grandement appréciée.

+0

Ceci est un site de programmation, pas de support technique. – UnkwnTech

+5

Je ne suis pas d'accord. Les lignes sont floues. L'administration et la configuration du système sont aussi essentielles à un programme que le code lui-même et présentent des défis similaires. –

Répondre

5

J'ai suivi le guide réseau pontée à https://help.ubuntu.com/community/KVM et ont les éléments suivants dans/etc/network/interfaces:

auto eth0 
iface eth0 inet manual 

auto br0 
iface br0 inet static 
     address 192.168.0.10 
     network 192.168.0.0 
     netmask 255.255.255.0 
     broadcast 192.168.0.255 
     gateway 192.168.0.1 
     bridge_ports eth0 
     bridge_fd 9 
     bridge_hello 2 
     bridge_maxage 12 
     bridge_stp off 

Je n'ai pas modifié les paramètres du réseau libvirt et mes images kvm ont été initialisés comme:

/usr/bin/kvm -M pc -no-kqemu -m 256 -smp 1 -monitor pty -boot c -hda \ 
    /libvirt/apt.img -net nic,macaddr=00:16:3e:77:32:1d,vlan=0 -net \ 
    tap,fd=11,script=,vlan=0 -usb -vnc 127.0.0.1:0 

Ensuite, je spécifie les paramètres réseau statiques dans l'image kvm comme normal. Tout a bien fonctionné depuis que j'ai suivi le guide.

J'ai les paramètres suivants dans mes fichiers xml dans/etc/libvirt/qemu/bien que sous des dispositifs:

<interface type='bridge'> 
    <mac address='00:16:3e:77:32:1d'/> 
    <source bridge='br0'/> 
</interface> 
-2

Je suppose que votre appareil du robinet doit être indiqué dans ifconfig.

run "show brctl"

il affichera le pont et la connexion de l'appareil de tunnel.

vous pouvez avoir à mettre spectacle d'entrée iptable que tous les paquets seront acheminés par pont

iptables -I ENTRÉE -i br0 -j ACCEPT