Skonfiguruj KVM na interfejsie bezprzewodowym na komputerze przenośnym


14

Próbuję zainstalować KVM na maszynie hosta Ubuntu 14.04 .

  1. Korzystam z interfejsu bezprzewodowego, aby uzyskać dostęp do Internetu na moim komputerze. Mam skonfigurowany interfejs bezprzewodowy /etc/networks/interfaces jak poniżej.

    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. Sprawdziłem, czy mój komputer jest dostępny do wirtualizacji i to polecenie potwierdza, że ​​mój sprzęt obsługuje wirtualizację.

    egrep '(vmx|svm)' /proc/cpuinfo
    
  3. Zainstalowałem niezbędne pakiety do wirtualizacji KVM, jak poniżej.

    apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder
    
  4. Zainstalowałem także pakiet utils bridge, aby skonfigurować sieć mostów dla mojego kvm .

    apt-get install bridge-utils
    
  5. Zmodyfikowałem mój, /etc/network/interfacesaby umożliwić sieci zmostkowanej, jak poniżej.

    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. Po powyższym kroku jestem w stanie, ping 192.168.1.40a także mogłem zobaczyć, że w danych wyjściowych polecenia wymieniono br0 i virbr0ifconfig -a . Jestem również w stanie uzyskać dostęp do Internetu bez żadnego problemu z moim interfejsem bezprzewodowym.

  7. Jednak po powyższym kroku, jeśli spróbuję dodać inny system operacyjny za pomocą ubuntu-vm-builderpolecenia, nie mogę dodać nowego systemu operacyjnego. To polecenie, którego używam, aby dodać nowy system operacyjny.

    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;  
    

Widziałem, że ustawienie sieci pomostowej za pomocą interfejsu bezprzewodowego jest cicho skomplikowane, jak omówiono w tym pytaniu. Jednak, jak opisuje odpowiedź, możliwe jest użycie urządzenia tunelującego. Wypróbowałem opcję sugerowaną w tym łączu. Ale nie mogłem tego uruchomić.

Odpowiedzi:


17

Jak ktoś słusznie powiedział kiedyś: Nic nie jest niemożliwe w Linux TM , mógłbym osiągnąć kvm na moim hoście dzięki sieci zmostkowanej przez interfejs bezprzewodowy.

Są to kroki, które podjąłem, aby osiągnąć to samo.

  1. Zainstalowałem virt-managerpakiet, aby wydajniej zarządzać instalacją. Zainstalowałem to jak poniżej.

    sudo apt-get install virt-manager
    
  2. Teraz utwórz nową podsieć za pomocą GUI Virt Manager, jak zaznaczono poniżej. Jest to w zasadzie podsieć naszej istniejącej sieci hosta.

    wprowadź opis zdjęcia tutaj

  3. Po ustawieniu tej nowej podsieci sprawdź, czy sieć jest dostępna, i pinguj niektóre witryny, aby sprawdzić łączność sieciową.

  4. Należy także sprawdzić informacje o routingu za pomocą routepolecenia i upewnij się, wlan0i virbr2nie mają ten sam cel.

  5. Ostatnim krokiem, aby to zadziałało, jest wydanie poniższego polecenia. Tutaj 192.168.1.9 to adres komputera hosta.

    arp -i wlan0 -Ds 192.168.1.9 wlan0 pub
    
  6. Po powyższym kroku udało mi się pomyślnie zainstalować system gościa Fedory przy użyciu virt-manager.

Bibliografia

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


2
Musiałem włączyć ARP proxy na interfejsie:sudo sysctl net.ipv4.conf.wlan0.proxy_arp=1
Leon Van Zyl

1
Zamiast arpinstrukcji polecenia Step 5 tutaj, z powodzeniem skorzystałem z instrukcji w „Przyszłość jest tutaj…” na specman1.wordpress.com/2014/01/02/… . echo 1 > /proc/sys/net/ipv4/conf/wlan0/proxy_arpi echo 1 > /proc/sys/net/ipv4/conf/virbr1/proxy_arp (niekoniecznie mówię, że arpinstrukcje polecenia Krok 5 tutaj nie działają; mówię tylko, że ich nie
użyłem

Nie mogłem sprawić, żeby zadziałało ... każdy artykuł mówi coś innego, żaden nie jest wystarczająco jasny, aby go śledzić. Gość Windows hosta systemu Linux.
TetraDev

0

Według dokumentów KVM nie jest możliwe użycie mostka z bezprzewodową kartą sieciową. Nie znam powodu, dla którego nawet pomostowałem gościa na VirtualBox.

Spędziłem kilka godzin, aby dowiedzieć się, jak podłączyć gościa do sieci bezprzewodowej hosta i odkryłem, że najłatwiejszym sposobem jest skorzystanie z urządzenia TAP. Jedyną wadą tej metody jest to, że nie można używać DHCP na gościu i trzeba ręcznie podać mu adres IP z podsieci sieci bezprzewodowej (co może powodować konflikty IP lub niedogodności w przypadku wdrażania wielu maszyn wirtualnych).

Oto kroki, aby połączyć gościa w sieci bezprzewodowej hosta za pomocą urządzenia TAP:

0 / Włącz routing IPv4 dla jądra Linux

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

1 / Utwórz urządzenie dotykowe o nazwie tap0 dostępne dla użytkownika guest (Zastąp swoją nazwą użytkownika) bez sudo:

sudo ip tuntap add mode tap tap0 user guest

2 / Przypisz adres IP do urządzenia tap0 (nie musi to być podsieć sieci bezprzewodowej):

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

3 / Użyj parprouted(być może będziesz musiał go zainstalować), aby zaimplementować mostkowanie ARP proxy, które pozwala na mostkowanie gościa Ethernet za bezprzewodową kartą sieciową hosta.

sudo parprouted wlan0 tap0

(Zastąp wlan0 interfejsem bezprzewodowym hosta)

4 / Dodanie niektórych pozycji tabel routingu, aby umożliwić pakietom podróżowanie przez końce urządzenia z kranem:

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

Na gościu przypisz statyczny adres IP z podsieci sieci bezprzewodowej hosta. Na przykład, jeśli twój wlan0 jest na 192.168.1.0/24, to gość może zostać skonfigurowany z

sudo ip addr add 192.168.1.30/24 dev eth0

(eth0 jest kartą sieciową twojego gościa)

lub na stałe w / etc / network / interfaces z:

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

Uruchom gościa za pomocą:

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

Teraz pingowanie działa między wszystkimi urządzeniami podłączonymi do sieci bezprzewodowej a gośćmi.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.