настроить 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. Я также установил пакет утилит моста, чтобы настроить сеть моста для моего 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инструкций команды шага 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команды команд шага 5 здесь не
сработают

Я не мог заставить это работать ... каждая статья говорит что-то свое, ни одна не достаточно ясна, чтобы следовать. Linux хост Windows гостевой.
TetraDev

0

Согласно документам KVM, невозможно использовать мост с беспроводной сетевой платой. Я не знаю причину, почему я использовал для моста гостя на 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(возможно, вам придется установить его) для реализации proxy arp bridging, который позволяет соединять гостевой Ethernet с беспроводной сетевой платой хоста.

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 - это сетевая карта вашего гостя)

или постоянно в / etc / network / interfaces с:

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.