installa kvm su un'interfaccia wireless su un computer portatile


14

Sto cercando di installare KVM nella macchina host di Ubuntu 14.04 .

  1. Uso un'interfaccia wireless per accedere a Internet nella mia macchina. Ho configurato l'interfaccia wireless nel mio /etc/networks/interfaces come di seguito.

    auto wlan0
    iface wlan0 inet static
    address 192.168.1.9
    netmask 255.255.255.0
    gateway 192.168.1.1
    wpa-ssid My_SSID
    wpa-psk SSID_Password
    dns-nameservers 8.8.8.8
    dns-search lan
    dns-domain lan
    
  2. Ho verificato se la mia macchina è disponibile per la virtualizzazione e questo comando conferma che il mio hardware supporta la virtualizzazione.

    egrep '(vmx|svm)' /proc/cpuinfo
    
  3. Ho installato i pacchetti necessari per la virtualizzazione di kvm come di seguito.

    apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder
    
  4. Ho anche installato il pacchetto bridge utils per configurare la rete bridge per il mio kvm .

    apt-get install bridge-utils
    
  5. Ho modificato il mio /etc/network/interfacesper consentire la rete a ponte come di seguito.

    auto br0
    iface br0 inet static
    address 192.168.1.40
    network 192.168.1.0
    netmask 255.255.255.0
    broadcast 192.168.1.255
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8
    dns-search lan
    dns-domain lan
    bridge_ports wlan0
    bridge_stp 0ff
    bridge_fd 0
    bridge_maxwait 0
    wpa-ssid my_ssid
    wpa-psk ssid_password
    
  6. Dopo la fase di cui sopra, sono in grado di ping 192.168.1.40ed inoltre ho potuto vedere non v'è br0 e virbr0 elencati nell'output del ifconfig -acomando. Sono anche in grado di accedere a Internet senza problemi con la mia interfaccia wireless.

  7. Tuttavia, dopo il passaggio precedente se provo ad aggiungere un altro SO usando il ubuntu-vm-buildercomando, non riesco ad aggiungere un nuovo SO. Questo è il comando che uso per aggiungere un nuovo sistema operativo.

    sudo ubuntu-vm-builder kvm trusty \
    --domain rameshpc \
    --dest demo1 \
    --hostname demo1 \
    --arch amd64 \
    --mem 1024 \
    --cpus 4 \
    --user ladmin \
    --pass password \
    --bridge br0 \
    --ip 192.168.1.40 \
    --mask 255.255.255.0 \
    --net 192.168.1.0 \
    --bcast 192.168.1.255 \
    --gw 192.168.1.1 \
    --dns 8.8.8.8 \
    --components main,universe \
    --addpkg acpid \
    --addpkg openssh-server \
    --addpkg linux-image-generic \
    --libvirt qemu;///system;  
    

Ho visto che impostare una rete a ponte usando un'interfaccia wireless è piuttosto complicato, come discusso in questa domanda. Tuttavia, come descritto nella risposta, è possibile utilizzare un dispositivo di tunneling. Ho provato l'opzione come suggerito in questo link. Ma non sono riuscito a farlo funzionare.

Risposte:


17

Come qualcuno giustamente ha detto una volta, Niente è impossibile in Linux TM , ho potuto raggiungere il kvm nel mio host con una rete a ponte su un'interfaccia wireless.

Questi sono i passaggi che ho seguito per ottenere lo stesso risultato.

  1. Ho installato il virt-managerpacchetto per gestire l'installazione in modo più efficiente. L'ho installato come di seguito.

    sudo apt-get install virt-manager
    
  2. Ora, crea una nuova sottorete usando la GUI di Virt Manager come evidenziato di seguito. Questa è sostanzialmente una sottorete della nostra rete host esistente.

    inserisci qui la descrizione dell'immagine

  3. Dopo aver impostato questa nuova sottorete , verificare se la rete è disponibile e eseguire il ping di alcuni siti per verificare la connettività di rete.

  4. Inoltre, controllare le informazioni di routing utilizzando routeil comando e assicurarsi wlan0e virbr2non ha la stessa destinazione.

  5. Ora, il passaggio finale per farlo funzionare è emettere il comando seguente. Qui 192.168.1.9 è l'indirizzo della macchina host.

    arp -i wlan0 -Ds 192.168.1.9 wlan0 pub
    
  6. Dopo il passaggio precedente, sono stato in grado di installare con successo un SO guest Fedora usando il virt-manager.

Riferimenti

http://specman1.wordpress.com/2014/01/02/wireless-bridging-virtual-machines-kvm/ /superuser/694929/wireless-bridge-on-kvm-virtual-machine


2
Ho dovuto abilitare il proxy ARP sull'interfaccia:sudo sysctl net.ipv4.conf.wlan0.proxy_arp=1
Leon Van Zyl,

1
Invece delle arpistruzioni del comando Step 5 qui, ho usato le istruzioni in "Il futuro è qui ..." a specman1.wordpress.com/2014/01/02/… con successo. echo 1 > /proc/sys/net/ipv4/conf/wlan0/proxy_arpe echo 1 > /proc/sys/net/ipv4/conf/virbr1/proxy_arp (non sto necessariamente dicendo che le arpistruzioni del comando Step 5 qui non funzioneranno; sto solo dicendo che non le ho usate.)
dbank

Non riuscivo a farlo funzionare ... ogni articolo dice qualcosa di diverso, nessuno è abbastanza chiaro da seguire. Ospite di Windows host Linux.
TetraDev,

0

Secondo i documenti di KVM, non è possibile utilizzare un bridge con una scheda di rete wireless. Non conosco il motivo per cui anche se ho usato il bridge per guest su VirtualBox.

Ho trascorso alcune ore a capire come collegare l'ospite alla rete wireless dell'host e ho scoperto che il modo più semplice per farlo è utilizzare un dispositivo TAP. L'unico svantaggio di questo metodo è che non è possibile utilizzare DHCP sul guest e è necessario assegnargli manualmente un indirizzo IP dalla sottorete della rete wireless (che può causare conflitti IP o inconvenienti in caso di distribuzione di molte macchine virtuali).

Ecco i passaggi per connettere il guest sulla rete wireless dell'host utilizzando un dispositivo TAP:

0 / Abilita il routing IPv4 per il kernel Linux

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

1 / Crea un dispositivo tap chiamato tap0 accessibile dall'utente guest (Sostituisci con il tuo nome utente) senza sudo:

sudo ip tuntap add mode tap tap0 user guest

2 / Assegnare un indirizzo IP al dispositivo tap0 (non deve appartenere alla sottorete della rete wireless):

sudo ip addr add 10.10.10.10/24 dev tap0
sudo ip link set tap0 up

3 / Utilizzare parprouted(potrebbe essere necessario installarlo) per implementare il bridge arp proxy che consente di collegare Ethernet guest dietro la scheda di rete wireless dell'host.

sudo parprouted wlan0 tap0

(Sostituisci wlan0 con l'interfaccia wireless del tuo host)

4 / Aggiunta di alcune voci delle tabelle di routing per consentire ai pacchetti di spostarsi attraverso le estremità del dispositivo di tocco:

sudo iptables -A INPUT -i tap0 -j ACCEPT
sudo iptables -A FORWARD -i tap0 -j ACCEPT
sudo iptables -A FORWARD -o tap0 -j ACCEPT

Sul guest assegnare un indirizzo IP statico dalla sottorete della rete wireless dell'host. Ad esempio, se wlan0 è su 192.168.1.0/24, è possibile configurare il guest con

sudo ip addr add 192.168.1.30/24 dev eth0

(eth0 è la scheda NIC del tuo ospite)

o permanentemente in / etc / network / interfaces con:

auto eth0
iface eth0 inet static
  address 192.168.1.30
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255
  gateway 192.168.1.25

Lancia il tuo ospite con:

kvm -hda guest.img -m 512 -net nic -net tap,ifname=tap0,script=no

Ora il ping funziona tra tutte le macchine connesse alla rete wireless e gli ospiti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.