2008-09-17 8 views
5

Sto provando ad usare libvirt con virsh per gestire il mio kvm/qemu vms. Il problema che ho è farlo funzionare con IP pubblici. Il server sta eseguendo Ubuntu 8.04.Rete KVM/QEMU Problemi di TAP con libvirt

libvirt continua a cercare di farlo funzionare come:

/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 

Quali stivali, ma non ha alcun accesso alla rete (ping va da nessuna parte). L'esecuzione senza fd = 10 funziona correttamente, con kvm che crea per me il dispositivo TAP necessario e il funzionamento in rete all'interno dell'host. Tutte le guide di installazione che ho visto si concentrano sull'impostazione del masquerading, mentre voglio solo un semplice bridge e un accesso non filtrato alla rete (sia gli ospiti che l'host devono utilizzare IP pubblici).

In esecuzione su ifconfig sull'host, il bridge viene configurato manualmente nel file/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 

Qualsiasi aiuto sarebbe molto apprezzato.

+0

Questo è un sito di programmazione, senza supporto tecnico. – UnkwnTech

+5

Non sono d'accordo. Le linee sono sfocate. L'amministrazione e la configurazione del sistema sono essenziali per un programma come il codice stesso e presentano sfide simili. –

risposta

5

Ho seguito la guida di rete ponte a https://help.ubuntu.com/community/KVM e hanno il seguente in/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 

non ho cambiato le impostazioni di rete libvirt e le mie immagini KVM sono avviati come:

/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 

Quindi specificare le impostazioni di rete statiche nell'immagine kvm come di consueto. Ha funzionato tutto bene da quando ho seguito la guida.

io ho le seguenti impostazioni nei miei file XML in/etc/libvirt/qemu/se sotto i dispositivi:

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

Credo che il dispositivo di rubinetto devono essere riprese in ifconfig.

run "brctl mostra"

mostrerà ponte e collegamento dispositivo tunnel.

potrebbe essere necessario mettere spettacolo ingresso iptable che tutti i pacchetti saranno instradati attraverso il ponte

iptables INPUT -I -i br0 -j ACCEPT