J'essaie de configurer KVM sur la machine hôte Ubuntu 14.04 .
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
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
J'ai installé les packages nécessaires pour la virtualisation kvm comme ci-dessous.
apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder
J'ai également installé le paquetage bridge utils pour configurer le réseau bridge pour mon kvm .
apt-get install bridge-utils
J'ai modifié mon
/etc/network/interfaces
pour 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
Après l'étape ci-dessus, je suis capable
ping 192.168.1.40
et j'ai également pu voir qu'il y a br0 et virbr0 répertoriés dans la sortie de laifconfig -a
commande. Je peux également accéder à Internet sans aucun problème avec mon interface sans fil.Cependant, après l'étape ci-dessus, si j'essaie d'ajouter un autre système d'exploitation à l'aide de la
ubuntu-vm-builder
commande, 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.
la source
sudo sysctl net.ipv4.conf.wlan0.proxy_arp=1
arp
instructions 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_arp
etecho 1 > /proc/sys/net/ipv4/conf/virbr1/proxy_arp
(je ne dis pas nécessairement que lesarp
instructions de commande de l'étape 5 ici ne fonctionneront pas; je dis simplement que je ne les ai pas utilisées.)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):
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:
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:
Lancez votre invité avec:
Le ping fonctionne désormais entre toutes les machines connectées à votre réseau sans fil et les invités.
la source