Estou tentando configurar o KVM na máquina host do ubuntu 14.04 .
Eu uso uma interface sem fio para acessar a Internet na minha máquina. Eu configurei a interface sem fio no meu
/etc/networks/interfaces
como abaixo.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
Eu verifiquei se minha máquina está disponível para virtualização e este comando confirma que meu hardware suporta virtualização.
egrep '(vmx|svm)' /proc/cpuinfo
Eu instalei os pacotes necessários para a virtualização kvm como abaixo.
apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder
Também instalei o pacote bridge utils para configurar a rede de bridge para o meu kvm .
apt-get install bridge-utils
Modifiquei o meu
/etc/network/interfaces
para permitir a rede em ponte como abaixo.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
Após a etapa acima, eu posso
ping 192.168.1.40
e também pude ver que br0 e virbr0 estão listados na saída doifconfig -a
comando. Também consigo acessar a Internet sem problemas com minha interface sem fio.No entanto, após a etapa acima, se eu tentar adicionar outro sistema operacional usando o
ubuntu-vm-builder
comando, não consigo adicionar um novo sistema operacional. Este é o comando que eu uso para adicionar um novo sistema operacional.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;
Vi que a configuração de uma rede em ponte usando uma interface sem fio é bastante complicada, conforme discutido nesta pergunta. No entanto, como a resposta descreve, é possível usar um dispositivo de encapsulamento. Eu tentei a opção conforme sugerido neste link. Mas não consegui fazê-lo funcionar.
fonte
sudo sysctl net.ipv4.conf.wlan0.proxy_arp=1
arp
instruções de comando da Etapa 5 aqui, usei as instruções em "O futuro está aqui ..." em specman1.wordpress.com/2014/01/02/… com sucesso.echo 1 > /proc/sys/net/ipv4/conf/wlan0/proxy_arp
eecho 1 > /proc/sys/net/ipv4/conf/virbr1/proxy_arp
(não estou dizendo necessariamente os Passo 5arp
instruções de comando aqui não vai funcionar;. Eu só estou dizendo que eu não usá-los)De acordo com os documentos da KVM, não é possível usar uma ponte com uma NIC sem fio. Não sei o motivo pelo qual, embora eu costumava conectar o convidado no VirtualBox.
Passei algumas horas para descobrir como conectar o convidado à rede sem fio do host e descobri que a maneira mais fácil de fazer isso é usando um dispositivo TAP. A única desvantagem desse método é que você não pode usar o DHCP no convidado e precisa fornecer manualmente um endereço IP a partir da sub-rede da rede sem fio (o que pode causar conflitos ou inconvenientes de IP no caso de implantar muitas VMs).
Aqui estão as etapas para conectar o convidado na rede sem fio do host usando um dispositivo TAP:
0 / Ativar roteamento IPv4 para o kernel do Linux
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
1 / Crie um dispositivo de toque chamado tap0 acessível a partir do usuário convidado (Substitua pelo seu nome de usuário) sem o sudo:
sudo ip tuntap add mode tap tap0 user guest
2 / Atribua um endereço IP ao dispositivo tap0 (não precisa ser da sub-rede da rede sem fio):
3 / Use
parprouted
(pode ser necessário instalá-lo) para implementar a ponte arp do proxy, que permite fazer a ponte da Ethernet do convidado atrás da NIC sem fio do host.sudo parprouted wlan0 tap0
(Substitua wlan0 pela interface sem fio do seu host)
4 / Adicionando algumas entradas de tabelas de roteamento para permitir que os pacotes viajem pelas extremidades do dispositivo de toque:
No convidado, atribua um endereço IP estático da sub-rede de rede sem fio do host. Por exemplo, se sua wlan0 estiver em 192.168.1.0/24, o convidado poderá ser configurado com
sudo ip addr add 192.168.1.30/24 dev eth0
(eth0 é a placa de rede do seu convidado)
ou permanentemente em / etc / network / interfaces com:
Inicie seu convidado com:
Agora, o ping funciona entre todas as máquinas conectadas na sua rede sem fio e os convidados.
fonte