Estoy tratando de configurar KVM en ubuntu 14.04 host machine.
Utilizo una interfaz inalámbrica para acceder a Internet en mi máquina. He configurado la interfaz inalámbrica en mi
/etc/networks/interfaces
como a continuación.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
Verifiqué si mi máquina está disponible para la virtualización y este comando confirma que mi hardware es compatible con la virtualización.
egrep '(vmx|svm)' /proc/cpuinfo
Instalé los paquetes necesarios para la virtualización de kvm como se muestra a continuación.
apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder
También instalé el paquete de utilidades de puente para configurar la red de puente para mi kvm .
apt-get install bridge-utils
Modifiqué mi
/etc/network/interfaces
para permitir la red puenteada de la siguiente manera.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
Después del paso anterior, puedo
ping 192.168.1.40
y también pude ver que hay br0 y virbr0 en la salida delifconfig -a
comando. También puedo acceder a Internet sin ningún problema con mi interfaz inalámbrica.Sin embargo, después del paso anterior, si intento agregar otro sistema operativo usando el
ubuntu-vm-builder
comando, no puedo agregar un nuevo sistema operativo. Este es el comando que uso para agregar un nuevo 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;
He visto que configurar una red en puente usando una interfaz inalámbrica es bastante complicado como se discutió en esta pregunta. Sin embargo, como lo describe la respuesta, es posible usar un dispositivo de túnel. He probado la opción como se sugiere en este enlace. Pero no pude hacerlo funcionar.
fuente
sudo sysctl net.ipv4.conf.wlan0.proxy_arp=1
arp
instrucciones del comando del Paso 5 aquí, utilicé las instrucciones bajo "El futuro está aquí ..." en specman1.wordpress.com/2014/01/02/… con éxito.echo 1 > /proc/sys/net/ipv4/conf/wlan0/proxy_arp
yecho 1 > /proc/sys/net/ipv4/conf/virbr1/proxy_arp
(no estoy diciendo necesariamente que lasarp
instrucciones del comando del Paso 5 aquí no funcionarán; solo digo que no lasSegún los documentos de KVM, no es posible usar un puente con una NIC inalámbrica. No sé la razón por la que, aunque solía conectar al invitado en VirtualBox.
He pasado algunas horas para descubrir cómo conectar al invitado a la red inalámbrica del host y descubrí que la forma más fácil de hacerlo es utilizando un dispositivo TAP. La única desventaja de este método es que no puede usar DHCP en el invitado y debe proporcionarle manualmente una dirección IP desde la subred de la red inalámbrica (lo que puede causar conflictos o inconvenientes de IP en caso de implementar muchas máquinas virtuales).
Estos son los pasos para conectar al invitado en la red inalámbrica del host utilizando un dispositivo TAP:
0 / Habilitar el enrutamiento IPv4 para el kernel de Linux
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
1 / Cree un dispositivo tap llamado tap0 accesible desde el usuario invitado (Reemplace con su nombre de usuario) sin sudo:
sudo ip tuntap add mode tap tap0 user guest
2 / Asigne una dirección IP al dispositivo tap0 (no tiene que ser desde la subred de la red inalámbrica):
3 / Use
parprouted
(puede que tenga que instalarlo) para implementar el puente de arp proxy que permite conectar el Ethernet invitado detrás de la NIC inalámbrica del host.sudo parprouted wlan0 tap0
(Reemplace wlan0 con la interfaz inalámbrica de su host)
4 / Agregar algunas entradas de tablas de enrutamiento para permitir que los paquetes viajen a través de los extremos del dispositivo táctil:
En el invitado, asigne una dirección IP estática desde la subred de la red inalámbrica del host. Por ejemplo, si su wlan0 está en 192.168.1.0/24, el invitado se puede configurar con
sudo ip addr add 192.168.1.30/24 dev eth0
(eth0 es la NIC de su invitado)
o permanentemente en / etc / network / interfaces con:
Lanza a tu invitado con:
Ahora el ping funciona entre todas las máquinas conectadas en su red inalámbrica y los invitados.
fuente