The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Настройка сетевого доступа в окружениях QEMU
Заметка о том, как настроить сеть между гостевой и хостовой ОС при
использовании QEMU. В качестве хостовой ОС Ubuntu 10.04.

На стороне хоста устанавливаем uml-utilities:

   sudo apt-get install uml-utilities

Это нужно делать только один раз. Создаем сетевой интерфейс:

   sudo tunctl -t qemu

Вешаем на него адрес и включаем:

   sudo ip address add 192.168.0.1/24 dev qemu
   sudo ip link set up dev qemu


Запускаем qemu (например):

   sudo qemu-system-x86_64 -hda HDD.img -cdrom FreeBSD-9.0-RC1-amd64-dvd1.iso \\
    -net nic -net tap,ifname=qemu,script=no,downscript=no -boot d

Делаем простой NAT на хостовой ОС:

   sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
   sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

На гостевой cистеме прописываем конфигурацию маршрута по-умолчанию и конфигурацию DNS-клиента.

Еще небольшая рекомендация: запускайте qemu на десктопе под управлением утилиты
screen. Это спасет вас, если вы вдруг решите закрыть окно терминала, в котором
запустили qemu.

   screen -S qemu sudo qemu-system-x86_64 ...

Потом делаем detach (^D) и закрываем окно терминала.
 
25.12.2011 , Автор: Аноним
Ключи: qemu, network / Лицензия: CC-BY
Раздел:    Корень / Безопасность / Виртуализация - Xen, OpenVZ, KVM, Qemu

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Andrey Mitrofanov (?), 12:36, 26/12/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Еще небольшая рекомендация: запускайте qemu на десктопе под управлением утилиты screen. Это спасет вас, если вы вдруг

    Нам, мышёвым гуевозилам с libvirt + virt-manager, этого не помять.

    > Потом делаем detach (^D) и закрываем окно терминала.

    Ctrl-A D или Ctrl-A Ctrl-D, вроде как.

     
     
  • 2.3, исшо_адын_аноним (?), 14:43, 26/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Нам, консольным маньякам с десятками виртуалок и libvirt+virsh, не понять скрина и убунту.
    Это не наш путь ;)
     
  • 2.17, Аноним (-), 09:59, 29/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Насчёт virt-manager - через него так и не смог создать сетёвку на tap.
     
     
  • 3.18, Andrey Mitrofanov (?), 12:42, 29/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Насчёт virt-manager - через него так и не смог создать сетёвку на
    > tap.

    v-m из пакета или самосборный? libvirt? qemu-kvm?...

    У меня из пакета (Debian 5.0 и на сервере, и на клиенте, пакеты -- бэкпорты) создаются именно tap интерфейсы, добавляются в мост с физ.интерфейсом, смотрящим в локалку. Типа, "сами". В пакете, насколько я понимаю, в дистрибутивном пакете это "подпёрто" скриптами (kvm-if{up,down}), которых при самосборе может-типа и не быть.

    # dpkg -S qemu-ifup
    qemu: /etc/qemu-ifup
    # dpkg -S kvm/kvm-if
    qemu-kvm: /etc/kvm/kvm-ifdown
    qemu-kvm: /etc/kvm/kvm-ifup
    # dpkg -l libvirt-bin qemu-kvm
    [...]
    ||/ Имя                   Версия             Описание
    +++-========================-========================-================================================================
    ii  libvirt-bin              0.8.3-5+squeeze2~abm0    the programs for the libvirt library
    ii  qemu-kvm                 0.12.5+dfsg-5+squeeze4~b Full virtualization on x86 hardware
    # _

    $ dpkg -l virt-manager
    [...]
    ||/ Имя                   Версия             Описание
    +++-========================-========================-================================================================
    ii  virt-manager             0.8.4-4~bpo50+2          desktop application for managing virtual machines
    $ _

     
     
  • 4.20, Аноним (-), 01:51, 06/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Извините за долгий ответ - с выходными успел забыть, в какой теме писал :)
    Пакет из debian 6. Создавались не tap-интерфейсы. Соответственно, и ширина канала между гостем и сервером-гипервизором была, судя по тесту iperf, около 90 Мбит/с. В Xen поднимал бриджи вручную, там показало около 3 ГБит/с.
     
     
  • 5.21, Аноним (-), 01:53, 06/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    И да, это qemu-kvm и libvirt из стандартных пакетов squeeze.
     

  • 1.2, sceptic (?), 13:45, 26/12/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Еще небольшая рекомендация: запускайте qemu на десктопе под управлением утилиты

    screen.

    А чем -daemonize не устроил?

     
     
  • 2.4, Аноним (-), 18:07, 26/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Еще небольшая рекомендация: запускайте qemu на десктопе под управлением утилиты
    > screen.
    > А чем -daemonize не устроил?

    Тем, что УГМ. Если функциональность screen не нужна, то если даже программа не поддерживает демонизацию, то её всегда можно добровольно-принудительно демонизировать с помощью setsid. Даже tty потеряет. Но во всех мануалах по запуску сервачков (неважно каких, да те же игровые сервера вроде контерстрайка) я вижу screen. Либо там требуется наблюдать за выводом программы, либо кто-то кому-то сказал, что screen - хорошее средство для принудительной демонизации программ. Непонятно.

     
     
  • 3.5, Аноним (-), 13:23, 27/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Подскажите, а как быть в случае необходимости держать редирект последовательного порта в терминал?
     
     
  • 4.7, Аноним (-), 23:12, 27/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Подскажите, а как быть в случае необходимости держать редирект последовательного порта
    > в терминал?

    Тут очевидно и нужен подобный функционал как у screen. Но чаще встречаются руководства, где его пихают по поводу  и без.

     

  • 1.6, Bragin (ok), 17:10, 27/12/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А в чем смысл запускать от root-a?
     
  • 1.8, pavlinux (ok), 00:59, 28/12/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'

    Мама Чолли, вас из дас?!
    Не кашерна как-то, надо

    bash -c sudo bash -c 'bash -c  echo 1 > /proc/sys/net/ipv4/ip_forward'

     
     
  • 2.9, Аноним (-), 06:26, 28/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Кэп намекает что там sudo есть, а у тебя - нет. Так что потроллил "не кашерна" (c).
     
     
  • 3.10, Bragin (ok), 10:21, 28/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Павлин намекает что кроме встроенной в bash echo, есть и еще и /bin/echo.
    Соответственно sudo echo достаточно.
     
     
  • 4.13, Аноним (-), 11:28, 28/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Соответственно sudo echo достаточно.

    Как вы думаете, что будет, если запустить: sudo echo 1 >/proc/sys/net/ipv4/ip_forward.
    ?

     
  • 2.11, Аноним (-), 11:24, 28/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
    > Мама Чолли, вас из дас?!
    > Не кашерна как-то, надо
    > bash -c sudo bash -c 'bash -c  echo 1 > /proc/sys/net/ipv4/ip_forward'

    А кто даст право на запись в /proc/sys/net/ipv4/ip_forward текущему пользователю?
    А вообще уж тогда лучше "echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward"

     
     
  • 3.12, Andrey Mitrofanov (?), 11:27, 28/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> bash -c sudo bash -c 'bash -c
    > А кто даст право

    Ну, если sudo не даст, то "усё пропало, шеф!"~~~

     
     
  • 4.14, Аноним (-), 11:30, 28/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>> bash -c sudo bash -c 'bash -c
    >> А кто даст право
    > Ну, если sudo не даст, то "усё пропало, шеф!"~~~

    Вам тоже такой же вопрос:
    Как вы думаете, если запустить: "sudo echo 1 >/proc/sys/net/ipv4/ip_forward" от пользователя - что будет?
    Или я не так понимаю, о чём тут pavlinux возмущался?

     
     
  • 5.15, pavlinux (ok), 12:34, 28/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>>> bash -c sudo bash -c 'bash -c
    >>> А кто даст право
    >> Ну, если sudo не даст, то "усё пропало, шеф!"~~~
    > Вам тоже такой же вопрос:
    > Как вы думаете, если запустить: "sudo echo 1 >/proc/sys/net/ipv4/ip_forward" от пользователя
    > - что будет?
    > Или я не так понимаю, о чём тут pavlinux возмущался?

    то что для настройки системы, заходят под рутом,
    а не ипуться с sudo, клавиатуру только портить.

    $ sudo bash и вперёд ...
    # echo "Для склерозников" >> ~/.bashrc;
    # echo TMOUT=30 >> ~/.bashrc;
    # . ~/.bashrc;

    // хотя бубнтам не поможет, там по-моему dash какой-то
      

     
     
  • 6.16, Аноним (-), 13:51, 28/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > то что для настройки системы, заходят под рутом,
    > а не ипуться с sudo, клавиатуру только портить.
    > $ sudo bash и вперёд ...
    > # echo "Для склерозников" >> ~/.bashrc;
    > # echo TMOUT=30 >> ~/.bashrc;
    > # . ~/.bashrc;
    > // хотя бубнтам не поможет, там по-моему dash какой-то

    Для настройки системы я и так использую sudo -i или выхожу в один из свободных терминалов по Ctrl-Alt-F? (если локальная машина). Но иногда удобно выполнить и простое sudo sh -c '' / echo 0/1 | sudo tee /..., особенно если на этом настройка и закончится.

     
  • 6.23, Аноним (-), 16:27, 01/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > а не ипуться с sudo, клавиатуру только портить.

    Ага, чтобы 1 команду ввести - логиниться под рутом и потом логофаться опять? Мсье знает толк!

     

  • 1.19, uniman (?), 16:00, 04/01/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Может кому пригодиться
    Набросок, NetBSD во FreeBSD через Qemu, с картинкой
    http://www.homeunix7.org/ru/unix/netbsd-guest


     
     
  • 2.22, ДашенькаАнонимочка (?), 23:41, 09/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    С картинкой не катит, надо видеоролик... это ж не уиндоус какой-нить, а BSD
     
  • 2.24, Аноним (-), 16:29, 01/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Может кому пригодиться
    > Набросок, NetBSD во FreeBSD через Qemu, с картинкой

    В фре KVM нет, поэтому скорость работы qemu просто никакая. Для практического применения это бесполезно.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру