configurer kvm sur une interface sans fil sur un ordinateur portable

14

J'essaie de configurer KVM sur la machine hôte Ubuntu 14.04 .

  1. J'utilise une interface sans fil pour accéder à Internet dans ma machine. J'ai configuré l'interface sans fil dans mon /etc/networks/interfaces comme ci-dessous.

    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. J'ai vérifié si ma machine est disponible pour la virtualisation et cette commande confirme que mon matériel prend en charge la virtualisation.

    egrep '(vmx|svm)' /proc/cpuinfo
    
  3. J'ai installé les packages nécessaires pour la virtualisation kvm comme ci-dessous.

    apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder
    
  4. J'ai également installé le paquetage bridge utils pour configurer le réseau bridge pour mon kvm .

    apt-get install bridge-utils
    
  5. J'ai modifié mon /etc/network/interfacespour autoriser le réseau ponté comme ci-dessous.

    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. Après l'étape ci-dessus, je suis capable ping 192.168.1.40et j'ai également pu voir qu'il y a br0 et virbr0 répertoriés dans la sortie de la ifconfig -acommande. Je peux également accéder à Internet sans aucun problème avec mon interface sans fil.

  7. Cependant, après l'étape ci-dessus, si j'essaie d'ajouter un autre système d'exploitation à l'aide de la ubuntu-vm-buildercommande, je ne suis pas en mesure d'ajouter un nouveau système d'exploitation. Il s'agit de la commande que j'utilise pour ajouter un nouveau système d'exploitation.

    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;  
    

J'ai vu que la configuration d'un réseau ponté à l'aide d'une interface sans fil est assez compliquée, comme indiqué dans cette question. Cependant, comme la réponse le décrit, il est possible d'utiliser un tunnelier. J'ai essayé l'option comme suggéré dans ce lien. Mais je ne pouvais pas le faire fonctionner.

Ramesh
la source

Réponses:

17

Comme quelqu'un l'a dit à juste titre une fois, rien n'est impossible sous Linux TM , je pourrais atteindre le kvm dans mon hôte avec un réseau ponté sur une interface sans fil.

Ce sont les étapes que j'ai suivies pour accomplir la même chose.

  1. J'ai installé le virt-managerpackage pour gérer l'installation plus efficacement. Je l'ai installé comme ci-dessous.

    sudo apt-get install virt-manager
    
  2. Maintenant, créez un nouveau sous-réseau en utilisant l'interface graphique de Virt Manager comme indiqué ci-dessous. Il s'agit essentiellement d'un sous-réseau de notre réseau hôte existant.

    entrez la description de l'image ici

  3. Après avoir défini ce nouveau sous-réseau , vérifiez si le réseau est disponible et envoyez une requête ping à certains sites pour vérifier la connectivité réseau.

  4. En outre, vérifiez les informations de routage à l' aide de routecommande et assurez - vous wlan0et virbr2ne pas la même destination.

  5. Maintenant, la dernière étape pour le faire fonctionner est d'émettre la commande ci-dessous. Ici, 192.168.1.9 est l'adresse de la machine hôte.

    arp -i wlan0 -Ds 192.168.1.9 wlan0 pub
    
  6. Après l'étape ci-dessus, j'ai réussi à installer un système d'exploitation invité Fedora à l'aide de virt-manager.

Les références

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

Ramesh
la source
2
J'ai dû activer le proxy ARP sur l'interface:sudo sysctl net.ipv4.conf.wlan0.proxy_arp=1
Leon Van Zyl
1
Au lieu des arpinstructions de commande de l'étape 5 ici, j'ai utilisé avec succès les instructions sous «L'avenir est ici…» sur specman1.wordpress.com/2014/01/02/… . echo 1 > /proc/sys/net/ipv4/conf/wlan0/proxy_arpet echo 1 > /proc/sys/net/ipv4/conf/virbr1/proxy_arp (je ne dis pas nécessairement que les arpinstructions de commande de l'étape 5 ici ne fonctionneront pas; je dis simplement que je ne les ai pas utilisées.)
dbank
Je ne pouvais pas le faire fonctionner ... chaque article dit quelque chose de différent, aucun n'est assez clair pour suivre. Invité windows hôte Linux.
TetraDev
0

Selon les documents de KVM, il n'est pas possible d'utiliser un pont avec une carte réseau sans fil. Je ne connais pas la raison pour laquelle même si j'avais l'habitude de ponter l'invité sur VirtualBox.

J'ai passé quelques heures à comprendre comment connecter l'invité au réseau sans fil de l'hôte et j'ai découvert que la façon la plus simple de le faire était d'utiliser un appareil TAP. Le seul inconvénient de cette méthode est que vous ne pouvez pas utiliser DHCP sur l'invité et que vous devez lui donner manuellement une adresse IP à partir du sous-réseau du réseau sans fil (ce qui peut provoquer des conflits IP ou des inconvénients en cas de déploiement de nombreuses machines virtuelles).

Voici les étapes pour connecter l'invité sur le réseau sans fil de l'hôte à l'aide d'un appareil TAP:

0 / Activer le routage IPv4 pour le noyau Linux

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

1 / Créez un appareil tap nommé tap0 accessible depuis l'invité utilisateur (remplacez par votre nom d'utilisateur) sans sudo:

sudo ip tuntap add mode tap tap0 user guest

2 / Attribuez une adresse IP à l'appareil tap0 (elle ne doit pas nécessairement provenir du sous-réseau du réseau sans fil):

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

3 / Utilisez parprouted(vous devrez peut-être l'installer) pour implémenter le pontage d'arp proxy qui permet de ponter l'Ethernet invité derrière la carte réseau sans fil de l'hôte.

sudo parprouted wlan0 tap0

(Remplacez wlan0 par l'interface sans fil de votre hôte)

4 / Ajout de quelques entrées de tables de routage pour permettre aux paquets de voyager à travers les extrémités de l'appareil de prise:

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

Sur l'invité, attribuez une adresse IP statique à partir du sous-réseau du réseau sans fil de l'hôte. Par exemple, si votre wlan0 est sur 192.168.1.0/24, l'invité peut être configuré avec

sudo ip addr add 192.168.1.30/24 dev eth0

(eth0 est le NIC de votre invité)

ou en permanence dans / etc / network / interfaces avec:

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

Lancez votre invité avec:

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

Le ping fonctionne désormais entre toutes les machines connectées à votre réseau sans fil et les invités.

Karim Manaouil
la source