Problèmes TAP de réseau KVM / QEMU avec libvirt
Question
J'essaie d'utiliser libvirt avec virsh pour gérer mes kvm / qemu vms. Le problème que j'ai, c'est de le faire fonctionner avec des adresses IP publiques. Le serveur exécute Ubuntu 8.04.
libvirt continue d'essayer de l'exécuter en tant que:
/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
Qui démarre mais n’a aucun accès au réseau (les pings ne vont nulle part). Si vous le faites sans fd = 10, cela fonctionne correctement, avec kvm créant le périphérique TAP nécessaire et un réseau fonctionnant à l'intérieur de l'hôte. Tous les guides d'installation que j'ai vus se concentrent sur la configuration du masquerading, alors que je veux juste un simple pont et un accès non filtré au réseau (les invités et l'hôte doivent utiliser des adresses IP publiques).
Si ifconfig est exécuté sur l'hôte, 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.
La solution
J'ai suivi le guide de réseautage ponté à l'adresse https://help.ubuntu.com/community/KVM et avez 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 modifié aucun paramètre réseau libvirt et mes images kvm sont démarrées comme suit:
/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
Je spécifie ensuite les paramètres réseau statiques dans l'image kvm comme d'habitude. Tous ont bien fonctionné depuis que j'ai suivi le guide.
J'ai les paramètres suivants dans mes fichiers xml dans / etc / libvirt / qemu / quoique sous devices:
<interface type='bridge'>
<mac address='00:16:3e:77:32:1d'/>
<source bridge='br0'/>
</interface>
Autres conseils
Je suppose que votre périphérique tactile doit apparaître dans ifconfig.
exécuter "brctl show"
il montrera les connexions de pont et de tunnel
vous devrez peut-être mettre une entrée iptable pour montrer que tous les paquets seront routés via un pont
iptables -I INPUT -i br0 -j ACCEPTER