2008-09-17 13 views
5

Ich versuche libvirt mit virsh zu verwenden, um meine kvm/qemu vms zu verwalten. Das Problem, das ich habe, ist, es mit öffentlichen IPs zu arbeiten. Auf dem Server läuft ubuntu 8.04.KVM/QEMU Netzwerk TAP Probleme mit libvirt

libvirt es so zu laufen versucht weiterhin:

/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 

Welche Stiefel, haben aber keinen Netzzugang (Pings gehen nirgendwo). Wenn Sie es ohne fd = 10 ausführen, funktioniert es richtig, wobei kvm das notwendige TAP-Gerät für mich und das Netzwerk innerhalb des Hosts erstellt. Alle Setup Guides, die ich gesehen habe, konzentrieren sich auf das Einrichten von Masquerading, während ich nur eine einfache Bridge und ungefilterten Zugriff auf das Netz möchte (sowohl die Gäste als auch der Host müssen öffentliche IPs verwenden).

Das Ausführen von ifconfig auf dem Host gibt dies, die Brücke wird manuell in meiner/etc/network/interfaces-Datei eingerichtet. :

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 

Jede Hilfe würde sehr geschätzt werden.

+0

Dies ist eine Programmierung Website, nicht technischen Support. – UnkwnTech

+5

Ich stimme nicht zu. Die Linien sind verschwommen. Systemadministration und -konfiguration sind für ein Programm genauso wichtig wie der Code selbst und stellen ähnliche Herausforderungen dar. –

Antwort

5

Ich folgte der Bridged Networking Guide am https://help.ubuntu.com/community/KVM und haben die folgenden in/etc/network/interfaces: sind

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 

Ich habe nicht verändert keine libvirt Netzwerkeinstellungen und meine kvm Bilder gebootet wie:

/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 

Ich spezifiziere dann die statischen Netzwerkeinstellungen im kvm Bild als normal. Hat alles funktioniert, seit ich dem Führer gefolgt bin.

Ich habe folgende Einstellungen in meinen XML-Dateien in/etc/libvirt/Qemu/obwohl unter Geräten:

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

ich denke, Ihre Absperrvorrichtung in ifconfig angezeigt werden soll.

run "brctl show"

es Brücken- und Tunnelgeräteanschluss zeigen.

Sie müssen iptable Eintrag Show kann, dass alle Pakete

iptables -I INPUT -i br0 durch Brücke geleitet werden -j ACCEPT