Qemu/KVM сеть для Windows

Автор Utility, 19 октября 2014, 18:30:46

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Utility

Задача: через интерфейс aqemu указать настройки для построения виртальной локальной сети на br0, tap0.
Кому интересно пишите, на данный момент каша в голове, а результат такой что вижу до гостя по traceroute и сетевой карты на госте не обнаружено (при том некая сеть поднята, как пишет клиент, в "обратку" не могу диагностировать соединение).
Да, на скорую руку пробовал nmap`ить гостя.
Спасибо за ответы.
Стационар = MB: ASRock N68-gs4 FX R2.0 ; CPU: Athlon II x3 460 => Phenom B60; RAM: 2x Kingston KVR1333D3N9/4G; VGA: zotac gt630 4G
Ноутбук = ASUS x55a = MB: chipset HM70; CPU: Celeron B820; RAM: 2G: VGA: intel3000; audio VT1802

Utility

Ответ нашёл вчера.
Времени написать и разобрать не хватает.
Используется vde_switch, slmgr, tunctl, brctl (по памяти)
Стационар = MB: ASRock N68-gs4 FX R2.0 ; CPU: Athlon II x3 460 => Phenom B60; RAM: 2x Kingston KVR1333D3N9/4G; VGA: zotac gt630 4G
Ноутбук = ASUS x55a = MB: chipset HM70; CPU: Celeron B820; RAM: 2G: VGA: intel3000; audio VT1802

Utility

Явки и пароли:
1. Добавить пользователя в uml-net vde2-net kvm
2. Проконтролировать /etc/libvirtd/qemu.conf

# The user for QEMU processes run by the system instance. It can be
# specified as a user name or as a user id. The qemu driver will try to
# parse this value first as a name and then, if the name doesn't exist,
# as a user id.
#
# Since a sequence of digits is a valid user name, a leading plus sign
# can be used to ensure that a user id will not be interpreted as a user
# name.
#
# Some examples of valid values are:
#
#       user = "qemu"   # A user named "qemu"
#       user = "+0"     # Super user (uid=0)
#       user = "100"    # A user named "100" or a user with uid=100
#
user = "user"

# The group for QEMU processes run by the system instance. It can be
# specified in a similar way to user.
group = "libvirt"

# If clear_emulator_capabilities is enabled, libvirt will drop all
# privileged capabilities of the QEmu/KVM emulator. This is enabled by
# default.
#
# Warning: Disabling this option means that a compromised guest can
# exploit the privileges and possibly do damage to the host.
#
clear_emulator_capabilities = 0


user@host:~$ su root
Пароль:
user@host:/home/user# tunctl -b -u user -g user
tap0
user@host:/home/user# echo 1 > /proc/sys/net/ipv4/ip_forward
root@host:/home/user# iptables -t nat -A POSTROUTING -s 10.0.2.0/24 -j MASQUERADE
root@host:/home/user# brctl addbr br0
root@host:/home/user# brctl addif br0 eth0 tap0
root@host:/home/user# ifconfig br0 10.0.2.19
root@host:/home/user# ifconfig tap0 up
root@host:/home/user# vde_switch -x -n 5 -g user -tap0

Проблемы:
1. При запуске ругается на а-ля not init tap, см /etc/group и наличие в kvm, vde2-net.
2. Всё запустилось, но как только "вкл" vde, нет пингов, хотя всё ок: См как в п.1. только про uml-net.
3. Все получилось, но не нет выхода в интернет с клиента: Пропиши DNS 8.8.8.8
Примечание.
Использовал сеть 10.0.2.ХХХ с маской 255.0.0.0; где 10.0.2.19 адрес для клиента будет default route
Буду рад обсуждению
Стационар = MB: ASRock N68-gs4 FX R2.0 ; CPU: Athlon II x3 460 => Phenom B60; RAM: 2x Kingston KVR1333D3N9/4G; VGA: zotac gt630 4G
Ноутбук = ASUS x55a = MB: chipset HM70; CPU: Celeron B820; RAM: 2G: VGA: intel3000; audio VT1802

Utility

#3
$ apt-get -s --no-recommends-install qemu-kvm bridge-utils uml-utils libvirt-bin # Флаг -s, как симуляция (см. док-ю apt-get) qemu-kvm (i386), bridge-utils (brctl), uml-utils (tunctl), libvirt-bin (Не работает сеть. Везде упоминается как api, но в чём именно солб не выцедил).
# Правильно  apt-get -s --no-install-recommends install qemu-kvm bridge-utils uml-utilities libvirt-bin vde2 # vde для виртуальной коммутации. как-нибудь распишу
$ adduser <user> libvirt
$ tunctl -b -g <user> -u <user>
tap0
$ brctl addbr br0
$ brctl addif br0 tap0 eth0 # забыл указать мост br0
$ ifconfig eth0 up
$ ifconfig tap0 up
$ ifconfig br0 10.0.2.20 # ip-адрес, как пример; не работает меняем на 10.0.2.19
$ echo 1 > /proc/sys/net/ipv4/ip_forward
$ iptables -t nat -A POSTROUTING -s 10.0.2.0/24 -j MASQUERADE
# kvm /путь/к/образу -net nic -net tap,ifname=tap0 # минимум
гостевая # ifconfig eth0 10.0.2.20 up #   ip-адрес, как пример
гостевая # echo nameserver 8.8.8.8 > /etc/resolv.conf # не проходили пакеты это и сл. действие "волшебно" помогло
гостевая # dhclient eth0
Данные действия применялись к linux-гостевой машине debian jessie xfce (только на него менял флажок) обычная установка
Приглошаю к обсуждению, Спасибо!
Стационар = MB: ASRock N68-gs4 FX R2.0 ; CPU: Athlon II x3 460 => Phenom B60; RAM: 2x Kingston KVR1333D3N9/4G; VGA: zotac gt630 4G
Ноутбук = ASUS x55a = MB: chipset HM70; CPU: Celeron B820; RAM: 2G: VGA: intel3000; audio VT1802

sputnik75

Привет всем скажите если я поставлю windows 7 в qemu то можно будеть прошивать разные устройства в виртуально винде или лучше установить две системы?

Malaheenee

Цитата: sputnik75 от 22 октября 2016, 09:19:34будеть прошивать разные устройства
Зависит от цены устройства и от легкости его окирпичивания  ;D  ИМХО, лучше из реального Windows шить.
Все мы где-то, когда-то и в чем-то были новичками.