URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 82069
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Настройка сетевого доступа в окруже..."

Отправлено auto_tips , 26-Дек-11 12:36 
Заметка о том, как настроить сеть между гостевой и хостовой ОС при использовании QEMU. В качестве хостовой ОС Ubuntu 10.04.

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

   sudo apt-get install uml-utilities

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

   sudo tunctl -t qemu

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

   sudo ip a a 192.168.0.1/24 dev qemu
   sudo ip l s 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) и закрываем окно терминала.


URL:
Обсуждается: https://www.opennet.ru/tips/info/2652.shtml


Содержание

Сообщения в этом обсуждении
"Настройка сетевого доступа в окружениях QEMU"
Отправлено Andrey Mitrofanov , 26-Дек-11 12:36 
> Еще небольшая рекомендация: запускайте qemu на десктопе под управлением утилиты screen. Это спасет вас, если вы вдруг

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

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

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


"Настройка сетевого доступа в окружениях QEMU"
Отправлено исшо_адын_аноним , 26-Дек-11 14:43 
Нам, консольным маньякам с десятками виртуалок и libvirt+virsh, не понять скрина и убунту.
Это не наш путь ;)

"Настройка сетевого доступа в окружениях QEMU"
Отправлено Аноним , 29-Дек-11 09:59 
Насчёт virt-manager - через него так и не смог создать сетёвку на tap.

"Настройка сетевого доступа в окружениях QEMU"
Отправлено Andrey Mitrofanov , 29-Дек-11 12:42 
> Насчёт 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
$ _


"Настройка сетевого доступа в окружениях QEMU"
Отправлено Аноним , 06-Янв-12 01:51 
Извините за долгий ответ - с выходными успел забыть, в какой теме писал :)
Пакет из debian 6. Создавались не tap-интерфейсы. Соответственно, и ширина канала между гостем и сервером-гипервизором была, судя по тесту iperf, около 90 Мбит/с. В Xen поднимал бриджи вручную, там показало около 3 ГБит/с.

"Настройка сетевого доступа в окружениях QEMU"
Отправлено Аноним , 06-Янв-12 01:53 
И да, это qemu-kvm и libvirt из стандартных пакетов squeeze.

"Настройка сетевого доступа в окружениях QEMU"
Отправлено sceptic , 26-Дек-11 13:45 
> Еще небольшая рекомендация: запускайте qemu на десктопе под управлением утилиты

screen.

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


"Настройка сетевого доступа в окружениях QEMU"
Отправлено Аноним , 26-Дек-11 18:07 
>> Еще небольшая рекомендация: запускайте qemu на десктопе под управлением утилиты
> screen.
> А чем -daemonize не устроил?

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


"Настройка сетевого доступа в окружениях QEMU"
Отправлено Аноним , 27-Дек-11 13:23 
Подскажите, а как быть в случае необходимости держать редирект последовательного порта в терминал?

"Настройка сетевого доступа в окружениях QEMU"
Отправлено Аноним , 27-Дек-11 23:12 
> Подскажите, а как быть в случае необходимости держать редирект последовательного порта
> в терминал?

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


"Настройка сетевого доступа в окружениях QEMU"
Отправлено Bragin , 27-Дек-11 17:10 
А в чем смысл запускать от root-a?

"Настройка сетевого доступа в окружениях QEMU"
Отправлено pavlinux , 28-Дек-11 00:59 
> 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'


"Настройка сетевого доступа в окружениях QEMU"
Отправлено Аноним , 28-Дек-11 06:26 
Кэп намекает что там sudo есть, а у тебя - нет. Так что потроллил "не кашерна" (c).

"Настройка сетевого доступа в окружениях QEMU"
Отправлено Bragin , 28-Дек-11 10:21 
Павлин намекает что кроме встроенной в bash echo, есть и еще и /bin/echo.
Соответственно sudo echo достаточно.

"Настройка сетевого доступа в окружениях QEMU"
Отправлено Аноним , 28-Дек-11 11:28 
> Соответственно sudo echo достаточно.

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


"Настройка сетевого доступа в окружениях QEMU"
Отправлено Аноним , 28-Дек-11 11:24 
>> 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"


"Настройка сетевого доступа в окружениях QEMU"
Отправлено Andrey Mitrofanov , 28-Дек-11 11:27 
>> bash -c sudo bash -c 'bash -c
> А кто даст право

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


"Настройка сетевого доступа в окружениях QEMU"
Отправлено Аноним , 28-Дек-11 11:30 
>>> bash -c sudo bash -c 'bash -c
>> А кто даст право
> Ну, если sudo не даст, то "усё пропало, шеф!"~~~

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


"Настройка сетевого доступа в окружениях QEMU"
Отправлено pavlinux , 28-Дек-11 12:34 
>>>> 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 какой-то
  


"Настройка сетевого доступа в окружениях QEMU"
Отправлено Аноним , 28-Дек-11 13:51 
> то что для настройки системы, заходят под рутом,
> а не ипуться с sudo, клавиатуру только портить.
> $ sudo bash и вперёд ...
> # echo "Для склерозников" >> ~/.bashrc;
> # echo TMOUT=30 >> ~/.bashrc;
> # . ~/.bashrc;
> // хотя бубнтам не поможет, там по-моему dash какой-то

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


"Настройка сетевого доступа в окружениях QEMU"
Отправлено Аноним , 01-Фев-12 16:27 
> а не ипуться с sudo, клавиатуру только портить.

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


"Настройка сетевого доступа в окружениях QEMU"
Отправлено uniman , 04-Янв-12 16:00 
Может кому пригодиться
Набросок, NetBSD во FreeBSD через Qemu, с картинкой
http://www.homeunix7.org/ru/unix/netbsd-guest



"Настройка сетевого доступа в окружениях QEMU"
Отправлено ДашенькаАнонимочка , 09-Янв-12 23:41 
С картинкой не катит, надо видеоролик... это ж не уиндоус какой-нить, а BSD

"Настройка сетевого доступа в окружениях QEMU"
Отправлено Аноним , 01-Фев-12 16:29 
> Может кому пригодиться
> Набросок, NetBSD во FreeBSD через Qemu, с картинкой

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