налаштування kvm на бездротовому інтерфейсі на портативній машині


14

Я намагаюся налаштувати KVM в хост-машині ubuntu 14.04 .

  1. Я використовую бездротовий інтерфейс для доступу до Інтернету на своїй машині. Я налаштував бездротовий інтерфейс у своєму, /etc/networks/interfaces як показано нижче.

    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. Я перевірив, чи моя машина доступна для віртуалізації, і ця команда підтверджує, що моє обладнання підтримує віртуалізацію.

    egrep '(vmx|svm)' /proc/cpuinfo
    
  3. Я встановив необхідні пакети для віртуалізації kvm, як показано нижче.

    apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder
    
  4. Я також встановив пакет утиліт bridge для налаштування мостової мережі для мого kvm .

    apt-get install bridge-utils
    
  5. Я змінив свою, /etc/network/interfacesщоб дозволити мостову мережу, як показано нижче.

    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. Після вищевказаного кроку я можу, ping 192.168.1.40а також я міг побачити, що у вихідних командах вказані br0 та virbr0ifconfig -a . Я також можу без проблем перейти до Інтернету з моїм бездротовим інтерфейсом.

  7. Однак після вищезазначеного кроку, якщо я спробую додати іншу ОС за допомогою ubuntu-vm-builderкоманди, я не в змозі додати нову ОС. Це команда, яку я використовую для додання нової ОС.

    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;  
    

Я бачив, що налаштування мостової мережі за допомогою бездротового інтерфейсу є тихою складністю, як обговорювалося в цьому питанні. Однак, як описано у відповіді, можливо за допомогою тунельного пристрою. Я спробував варіант, як пропонується в цьому посиланні. Але я не міг змусити його працювати.

Відповіді:


17

Як один раз правильно сказав, що в Linux TM нічого неможливого , я міг досягти kvm у своєму хості за допомогою мостової мережі через бездротовий інтерфейс.

Це кроки, які я дотримувався, щоб виконати те саме.

  1. Я встановив virt-managerпакет, щоб ефективніше керувати установкою. Я встановив його як нижче.

    sudo apt-get install virt-manager
    
  2. Тепер створіть нову підмережу, використовуючи графічний інтерфейс Virt Manager, як зазначено нижче. Це в основному підмережа нашої існуючої хост-мережі.

    введіть тут опис зображення

  3. Встановивши цю нову підмережу , перевірте, чи є мережа доступною, і перевірте деякі сайти, щоб перевірити підключення до мережі.

  4. Крім того , перевірте інформацію про маршрутизації з допомогою routeкоманди і переконайтеся , що wlan0і virbr2НЕ один і той же пункт призначення.

  5. Тепер останнім кроком, щоб змусити його працювати, є видавання команди нижче. Тут 192.168.1.9 - адреса хост-машини.

    arp -i wlan0 -Ds 192.168.1.9 wlan0 pub
    
  6. Після вищевказаного кроку я зміг успішно встановити гостьову ОС Fedora за допомогою virt-manager.

Список літератури

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


2
Мені довелося ввімкнути пропуск ARP в інтерфейсі:sudo sysctl net.ipv4.conf.wlan0.proxy_arp=1
Леон Ван Зіль,

1
Замість arpінструкцій команди Step 5 тут я успішно використовував інструкції в розділі "Майбутнє тут ..." на сайті specman1.wordpress.com/2014/01/02/… . echo 1 > /proc/sys/net/ipv4/conf/wlan0/proxy_arpі echo 1 > /proc/sys/net/ipv4/conf/virbr1/proxy_arp (я не обов'язково кажу, що arpінструкції команди Step 5 тут не працюватимуть; я просто кажу, що я не використовував їх.)
dbank

Я не міг змусити його працювати ... у кожній статті сказано щось інше, жодна не є достатньо зрозумілою для виконання. Гість Linux хост Windows.
TetraDev

0

Згідно з документами KVM, використовувати міст з бездротовим NIC неможливо. Я не знаю причини, чому, хоч я і мостив гостя на VirtualBox.

Я витратив кілька годин, щоб зрозуміти, як підключити гостя до бездротової мережі хоста, і я з’ясував найпростіший спосіб зробити це за допомогою пристрою TAP. Єдиним недоліком цього методу є те, що ви не можете використовувати DHCP для гостя, і вам доведеться вручну вказати йому IP-адресу від підмережі бездротової мережі (Що може спричинити конфлікти IP або незручності в разі розгортання безлічі віртуальних машин).

Ось етапи підключення гостя до бездротової мережі хоста за допомогою пристрою TAP:

0 / Увімкнути маршрутизацію IPv4 для ядра Linux

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

1 / Створіть пристрій з краном на ім'я tap0, доступний відвідувачеві користувача (Замініть своє ім’я користувача) без sudo:

sudo ip tuntap add mode tap tap0 user guest

2 / Призначте IP-адресу пристрою tap0 (це не повинно бути з підмережі бездротової мережі):

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

3 / Використовуйте parprouted(можливо, вам доведеться встановити його) для реалізації проксі-сервісного з'єднання, яке дозволяє з'єднати гостьовий Ethernet за бездротовим NIC хоста.

sudo parprouted wlan0 tap0

(Замініть wlan0 на бездротовому інтерфейсі вашого хоста)

4 / Додавання записів деяких таблиць маршрутизації, щоб пакети могли проходити по кінцях пристрою крана:

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

На гостях призначте статичну IP-адресу від підмережі бездротової мережі хоста. Наприклад, якщо ваш wlan0 увімкнено 192.168.1.0/24, гостя може бути налаштовано

sudo ip addr add 192.168.1.30/24 dev eth0

(eth0 - це NIC вашого гостя)

або постійно в / etc / network / інтерфейси з:

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

Запустіть свого гостя за допомогою:

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

Зараз пінггінг працює між усіма машинами, підключеними до вашої бездротової мережі, та гостями.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.