Próbuję zainstalować KVM na maszynie hosta Ubuntu 14.04 .
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
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
Zainstalowałem niezbędne pakiety do wirtualizacji KVM, jak poniżej.
apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder
Zainstalowałem także pakiet utils bridge, aby skonfigurować sieć mostów dla mojego kvm .
apt-get install bridge-utils
Zmodyfikowałem mój,
/etc/network/interfaces
aby 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
Po powyższym kroku jestem w stanie,
ping 192.168.1.40
a 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.Jednak po powyższym kroku, jeśli spróbuję dodać inny system operacyjny za pomocą
ubuntu-vm-builder
polecenia, 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ć.
źródło
sudo sysctl net.ipv4.conf.wlan0.proxy_arp=1
arp
instrukcji 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_arp
iecho 1 > /proc/sys/net/ipv4/conf/virbr1/proxy_arp
(niekoniecznie mówię, żearp
instrukcje polecenia Krok 5 tutaj nie działają; mówię tylko, że ich nieWedł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):
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:
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:
Uruchom gościa za pomocą:
Teraz pingowanie działa między wszystkimi urządzeniami podłączonymi do sieci bezprzewodowej a gośćmi.
źródło