I am trying to start up my macOS kvm and when I receive the following message which prevents the vm from starting up: «Unable to create bridge virbr0: Package not installed». I have a working internet connection via Ethernet. When I try to remove the network and re-add it(through virtmanager) it asks me if I would like to start the network and then it shows the same error message. The full log provided by virtmanager:
«Could not start virtual network ‘default’: Unable to create bridge virbr0: Package not installed
Traceback (most recent call last):
File «/usr/share/virt-manager/virtManager/device/netlist.py», line 203, in _check_network_is_running
netobj.start()
File «/usr/share/virt-manager/virtManager/object/libvirtobject.py», line 57, in newfn
ret = fn(self, *args, **kwargs)
File «/usr/share/virt-manager/virtManager/object/network.py», line 69, in start
self._backend.create()
File «/usr/lib/python3.9/site-packages/libvirt.py», line 3436, in create
raise libvirtError(‘virNetworkCreate() failed’)
libvirt.libvirtError: Unable to create bridge virbr0: Package not installed»
Any idea on why this is happening and what I can do to fix it?
Last edited by SpacetimeBull (2021-04-14 20:20:01)
I am trying to test a custom kernel configuration using qemu/kvm
when I do $ virsh --connect qemu:///system net-start default
this is the output i get.
error: Failed to start network default
error: Unable to create bridge virbr0: Package not installed
I am unable to find a resource for this particular issue online, It would be really helpfull if someone can help me solve this issue.
I am using Debian 10 (Buster) with 5.8.4-rc4-next-20200710
. Thank you in advanve
UPDATE:
apt search libvirt
gives the following output
$ apt search libvirt
Sorting... Done
Full Text Search... Done
archipel-agent-hypervisor-network/stable 0.6.0-1 all
Virtual Machine Orchestration (Agent Hypervisor Network)
bit-babbler/stable 0.8 amd64
BitBabbler hardware TRNG and kernel entropy source support
gir1.2-libvirt-glib-1.0/stable,now 1.0.0-1 amd64 [installed,automatic]
GObject introspection files for the libvirt-glib library
gir1.2-libvirt-sandbox-1.0/stable,now 0.5.1+git20160404-1 amd64 [installed,automatic]
GObject introspection files for the libvirt-sandbox library
libnss-libvirt/stable 5.0.0-4+deb10u1 amd64
nss plugin providing IP address resolution for virtual machines
libsanlock-client1/stable,now 3.6.0-3 amd64 [installed,automatic]
Shared storage lock manager (client library)
libsys-virt-perl/stable,now 5.0.0-1 amd64 [installed,automatic]
Perl module providing an extension for the libvirt library
libvirt-clients/stable,now 5.0.0-4+deb10u1 amd64 [installed]
Programs for the libvirt library
libvirt-daemon/stable,now 5.0.0-4+deb10u1 amd64 [installed]
Virtualization daemon
libvirt-daemon-driver-storage-gluster/stable,now 5.0.0-4+deb10u1 amd64 [installed]
Virtualization daemon glusterfs storage driver
libvirt-daemon-driver-storage-rbd/stable,now 5.0.0-4+deb10u1 amd64 [installed]
Virtualization daemon RBD storage driver
libvirt-daemon-driver-storage-zfs/stable,now 5.0.0-4+deb10u1 amd64 [installed]
Virtualization daemon ZFS storage driver
libvirt-daemon-system/stable,now 5.0.0-4+deb10u1 amd64 [installed]
Libvirt daemon configuration files
libvirt-dbus/stable,now 1.3.0-1 amd64 [installed]
libvirt D-Bus API bindings
libvirt-dev/stable,now 5.0.0-4+deb10u1 amd64 [installed]
development files for the libvirt library
libvirt-doc/stable,now 5.0.0-4+deb10u1 all [installed]
documentation for the libvirt library
libvirt-glib-1.0-0/stable,now 1.0.0-1 amd64 [installed]
libvirt GLib and GObject mapping library
libvirt-glib-1.0-dev/stable,now 1.0.0-1 amd64 [installed]
Development files for the libvirt-glib library
libvirt-ocaml/stable,now 0.6.1.4-2+b1 amd64 [installed]
OCaml bindings for libvirt (runtime)
libvirt-ocaml-dev/stable,now 0.6.1.4-2+b1 amd64 [installed]
OCaml bindings for libvirt (development files)
libvirt-sandbox-1.0-5/stable,now 0.5.1+git20160404-1 amd64 [installed]
Application sandbox toolkit shared library
libvirt-sandbox-1.0-dev/stable,now 0.5.1+git20160404-1 amd64 [installed]
Development files for libvirt-sandbox library
libvirt-sanlock/stable,now 5.0.0-4+deb10u1 amd64 [installed]
Sanlock plugin for virtlockd
libvirt-wireshark/stable,now 5.0.0-4+deb10u1 amd64 [installed]
Wireshark dissector for the libvirt protocol
libvirt0/stable,now 5.0.0-4+deb10u1 amd64 [installed,automatic]
library for interfacing with different virtualization systems
libvirtodbc0/stable 6.1.6+dfsg2-4+b2 amd64
high-performance database - ODBC libraries
libvirtualpg-dev/stable 2.0.0~rc0-1 amd64
VirtualPG development files
libvirtualpg0/stable 2.0.0~rc0-1 amd64
VirtualPG shared library
libvirtuoso5.5-cil/stable 6.1.6+dfsg2-4+b2 amd64
high-performance database - Mono assemblies
mom/stable 0.5.12-1 all
Dynamically manage system resources on virtualization hosts
munin-libvirt-plugins/stable 0.0.6-1 all
Munin plugins using libvirt
nagios-plugins-contrib/stable 24.20190301 amd64
Plugins for nagios compatible monitoring systems
nbdkit-plugin-libvirt/stable 1.10.3-1 amd64
libvirt plugin for nbdkit
php-libvirt-php/stable 0.5.4-3 amd64
libvirt bindings for PHP
python-libvirt/stable 5.0.0-1 amd64
libvirt Python bindings
python3-libvirt/stable,now 5.0.0-1 amd64 [installed,automatic]
libvirt Python 3 bindings
resource-agents/stable 1:4.2.0-2+deb10u1 amd64
Cluster Resource Agents
ruby-fog-libvirt/stable 0.6.0-1 all
Module for the 'fog' gem to support libvirt
ruby-libvirt/stable 0.7.1-1 amd64
Ruby bindings for libvirt
vagrant-libvirt/stable 0.0.45-2 all
Vagrant plugin that adds an Libvirt provider to Vagrant
vagrant-mutate/stable 1.2.0-4 all
convert vagrant boxes to work with different providers
vagrant-sshfs/stable 1.3.1-1 all
vagrant plugin that adds synced folder support with sshfs
virt-goodies/stable 0.4-2.1 all
A collection of helpful virtualisation related tools
virt-sandbox/stable 0.5.1+git20160404-1 amd64
Application sandbox toolkit
virt-top/stable 1.0.8-2 amd64
show stats of virtualized domains
virtinst/stable,now 1:2.0.0-3 all [installed]
Programs to create and clone virtual machines
I am trying to test a custom kernel configuration using qemu/kvm
when I do $ virsh --connect qemu:///system net-start default
this is the output i get.
error: Failed to start network default
error: Unable to create bridge virbr0: Package not installed
I am unable to find a resource for this particular issue online, It would be really helpfull if someone can help me solve this issue.
I am using Debian 10 (Buster) with 5.8.4-rc4-next-20200710
. Thank you in advanve
UPDATE:
apt search libvirt
gives the following output
$ apt search libvirt
Sorting... Done
Full Text Search... Done
archipel-agent-hypervisor-network/stable 0.6.0-1 all
Virtual Machine Orchestration (Agent Hypervisor Network)
bit-babbler/stable 0.8 amd64
BitBabbler hardware TRNG and kernel entropy source support
gir1.2-libvirt-glib-1.0/stable,now 1.0.0-1 amd64 [installed,automatic]
GObject introspection files for the libvirt-glib library
gir1.2-libvirt-sandbox-1.0/stable,now 0.5.1+git20160404-1 amd64 [installed,automatic]
GObject introspection files for the libvirt-sandbox library
libnss-libvirt/stable 5.0.0-4+deb10u1 amd64
nss plugin providing IP address resolution for virtual machines
libsanlock-client1/stable,now 3.6.0-3 amd64 [installed,automatic]
Shared storage lock manager (client library)
libsys-virt-perl/stable,now 5.0.0-1 amd64 [installed,automatic]
Perl module providing an extension for the libvirt library
libvirt-clients/stable,now 5.0.0-4+deb10u1 amd64 [installed]
Programs for the libvirt library
libvirt-daemon/stable,now 5.0.0-4+deb10u1 amd64 [installed]
Virtualization daemon
libvirt-daemon-driver-storage-gluster/stable,now 5.0.0-4+deb10u1 amd64 [installed]
Virtualization daemon glusterfs storage driver
libvirt-daemon-driver-storage-rbd/stable,now 5.0.0-4+deb10u1 amd64 [installed]
Virtualization daemon RBD storage driver
libvirt-daemon-driver-storage-zfs/stable,now 5.0.0-4+deb10u1 amd64 [installed]
Virtualization daemon ZFS storage driver
libvirt-daemon-system/stable,now 5.0.0-4+deb10u1 amd64 [installed]
Libvirt daemon configuration files
libvirt-dbus/stable,now 1.3.0-1 amd64 [installed]
libvirt D-Bus API bindings
libvirt-dev/stable,now 5.0.0-4+deb10u1 amd64 [installed]
development files for the libvirt library
libvirt-doc/stable,now 5.0.0-4+deb10u1 all [installed]
documentation for the libvirt library
libvirt-glib-1.0-0/stable,now 1.0.0-1 amd64 [installed]
libvirt GLib and GObject mapping library
libvirt-glib-1.0-dev/stable,now 1.0.0-1 amd64 [installed]
Development files for the libvirt-glib library
libvirt-ocaml/stable,now 0.6.1.4-2+b1 amd64 [installed]
OCaml bindings for libvirt (runtime)
libvirt-ocaml-dev/stable,now 0.6.1.4-2+b1 amd64 [installed]
OCaml bindings for libvirt (development files)
libvirt-sandbox-1.0-5/stable,now 0.5.1+git20160404-1 amd64 [installed]
Application sandbox toolkit shared library
libvirt-sandbox-1.0-dev/stable,now 0.5.1+git20160404-1 amd64 [installed]
Development files for libvirt-sandbox library
libvirt-sanlock/stable,now 5.0.0-4+deb10u1 amd64 [installed]
Sanlock plugin for virtlockd
libvirt-wireshark/stable,now 5.0.0-4+deb10u1 amd64 [installed]
Wireshark dissector for the libvirt protocol
libvirt0/stable,now 5.0.0-4+deb10u1 amd64 [installed,automatic]
library for interfacing with different virtualization systems
libvirtodbc0/stable 6.1.6+dfsg2-4+b2 amd64
high-performance database - ODBC libraries
libvirtualpg-dev/stable 2.0.0~rc0-1 amd64
VirtualPG development files
libvirtualpg0/stable 2.0.0~rc0-1 amd64
VirtualPG shared library
libvirtuoso5.5-cil/stable 6.1.6+dfsg2-4+b2 amd64
high-performance database - Mono assemblies
mom/stable 0.5.12-1 all
Dynamically manage system resources on virtualization hosts
munin-libvirt-plugins/stable 0.0.6-1 all
Munin plugins using libvirt
nagios-plugins-contrib/stable 24.20190301 amd64
Plugins for nagios compatible monitoring systems
nbdkit-plugin-libvirt/stable 1.10.3-1 amd64
libvirt plugin for nbdkit
php-libvirt-php/stable 0.5.4-3 amd64
libvirt bindings for PHP
python-libvirt/stable 5.0.0-1 amd64
libvirt Python bindings
python3-libvirt/stable,now 5.0.0-1 amd64 [installed,automatic]
libvirt Python 3 bindings
resource-agents/stable 1:4.2.0-2+deb10u1 amd64
Cluster Resource Agents
ruby-fog-libvirt/stable 0.6.0-1 all
Module for the 'fog' gem to support libvirt
ruby-libvirt/stable 0.7.1-1 amd64
Ruby bindings for libvirt
vagrant-libvirt/stable 0.0.45-2 all
Vagrant plugin that adds an Libvirt provider to Vagrant
vagrant-mutate/stable 1.2.0-4 all
convert vagrant boxes to work with different providers
vagrant-sshfs/stable 1.3.1-1 all
vagrant plugin that adds synced folder support with sshfs
virt-goodies/stable 0.4-2.1 all
A collection of helpful virtualisation related tools
virt-sandbox/stable 0.5.1+git20160404-1 amd64
Application sandbox toolkit
virt-top/stable 1.0.8-2 amd64
show stats of virtualized domains
virtinst/stable,now 1:2.0.0-3 all [installed]
Programs to create and clone virtual machines
Sergo Zar
@Sergomen
Просто делай добро и оно вернётся
Я вчера устанавливал на виртуальную машину Windows 10, а сегодня не могу запустить её потому что какая-то сеть default не активная. Как её активировать?
-
Вопрос заданболее двух лет назад
-
1581 просмотр
Уже нашёл как(нашёл рандомно тыкая на кнопки в разных менюшках). Извиняюсь за тупой вопрос.
Пригласить эксперта
-
Показать ещё
Загружается…
30 янв. 2023, в 10:27
5000 руб./за проект
30 янв. 2023, в 10:10
400 руб./в час
30 янв. 2023, в 10:03
5000 руб./за проект
Минуточку внимания
Поставила новую систему, обновила, сделал все что можно.
Ну никак мне с этим каменным цветком.
virt-install --connect=qemu:///system --name sisyphus-console --ram 1000 --disk path=/mnt/sdd1/vm/sisyphus-console.img,size=50 --vnc --cdrom=/mnt/sdb1/iso/AltLinux/Sisyphus/altlinux-sisyphus-20091104-console-i586-install-cd.iso --os-type=linux --accelerate --nonetworks
Все работает прекрасно (—nonetworks).
Через virt-manager отключаю машину, добавляю сетевой интерфейс default выдает
libvirtError: Failed to add tap interface to bridge 'virbr0': No such file or directory
хотя если
ifconfig
.............
.............
virbr0 Link encap:Ethernet HWaddr BA:58:2D:B8:90:4E
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:11660 (11.3 KiB)
[root@server2 xinit]# /etc/init.d/network check
Checking interfaces in /etc/net/ifaces:
eth0: DISABLED
lo: lo/virtual DONE
lo/ipv4address: seems OK
lo/options: IS OK
lo/resolv.conf: ???
/etc/net/options.d/00-default: WARNING: unrecognised line(s)
/etc/net/options.d/50-ALTLinux-desktop: IS OK
[root@server2 xinit]# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 yes
В этих бриджах вообще ничего не понимаю. По логике, должен быть прописан interfaces — eth0. Потому как именно он прописан, когда смотрю настройки через virt-managet.
Как быть?
Смотрела тему «VirtualBox & хост-интерфейс». Но как обычно на форумах пиплы вообще не удосуживаются сделать вывод. Решили проблему и плевать на остальных. А пока пролистываю 5 экранов сообщений вообще все путается.
« Последнее редактирование: 30.01.2010 15:53:18 от kroxa90 »
Записан
Не пользую google по религиозным причинам.
Не ставлю man из экономии места. Пришла сюда за ответами. А свои RTFM кушайте сами. Или помалкивайте.
А он вообще работоспособен (virt-manager ) ? Или только у мантейнера работает? Я-бы в рассылке спросил.
Записан
Может быть дело в том, что мне не дано прав на создание tap?
Читала это
Но ничерта не поняла. Может конечно совсем тупая, но там написано, что просто создания недостаточно, а как открыть себе доступ не написано.
Блин!
Записан
Не пользую google по религиозным причинам.
Не ставлю man из экономии места. Пришла сюда за ответами. А свои RTFM кушайте сами. Или помалкивайте.
Все заработало. Правдо с крутыми тормозами, но это уже проблемы настройки виртуализации.
Моя ошибка: не установлен пакет tunctl
Итак мои действия по установке:
#Ставлю symply Linux
#прописываю репозитарии
#обновляюсь
apt-get update
apt-get install update-kernel
echo y|update-kernel -t std-def
echo y|apt-get dist-upgrade
#узнаете потом зачем
echo y|apt-get install tightvnc
#ставлю всякую виртулятину (здесь много лишнего, но для пробы нормально)
echo y|apt-get install kvm libvirt python-module-virtinst bridge-utils tunctl
echo y|apt-get install kqemu-common kernel-modules-kqemu-std-def qemu qemu-system qemu-user
#подстраиваю libvirt
echo 'unix_sock_group = "Здеся имя группы пользователей, которые будут рулить виртуалкой"' >> /etc/libvirt/libvirtd.conf
echo 'unix_sock_ro_perms = "0777"' >> /etc/libvirt/libvirtd.conf
echo 'unix_sock_rw_perms = "0770"' >> /etc/libvirt/libvirtd.conf
echo 'LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf' >> /etc/sysconfig/libvirtd
#включаем kvm - надо проверить имя демона. уже позабыла толи kvm, а может kvmd
chkconfig kvm on
chkconfig kvmd on
#здесь лучше перезагрузиться
Дальше от своего пользователя:
#Проверяем, как установилась KVM, командой:
virsh -c qemu:///system list --all
#выдаст какую-то инфу
#если не выдаст, то роем сокеты libvirt там надо себя в админы прописать
#Ставим новую машину sisyphus-console
virt-install --connect=qemu:///system --name sisyphus-console --ram 1000 --disk path=/mnt/sdd1/vm/sisyphus-console.img,size=50 --vnc --cdrom=/mnt/sdb1/iso/AltLinux/Sisyphus/altlinux-sisyphus-20091104-console-i586-install-cd.iso --os-type=linux --accelerate --vcpus=1 --arch=i686 --hvm
#только это тупо: надо больше настроек про проц, память, устройства. Иначе не встанет
#ну а потом можно порулить машинкой или из
virt-manager #прям под своим пользователем
#или уже повзрослому
vncview 127.0.0.1
Ну вот вроде как все. более развернуто у меня не получится…
PS:Думаю, что на форуме хоть кто-то начнет делать посты с развернутым выводом из всего выше сказанного по текущей теме.
Тогда, возможно, такие как я начнут пользоваться поиском
Записан
Не пользую google по религиозным причинам.
Не ставлю man из экономии места. Пришла сюда за ответами. А свои RTFM кушайте сами. Или помалкивайте.
дело может быть не обязательно в отсутсвии tunctl. следует обратиться к man virt-install там написано примерно следующее…
«…если не указывать параметр —network, порядок настройки сети в виртуальном окружении будет следующий, сначала будет попытка сделать bridge-соединение с физической сетью (т.е с eth0) если попытка будет неудачна, будет попытка выполнить сделать bridge с виртуальной сетью (тот самый virbr0)…»
В чем фокус? в первом случае мы получим гостя с полноценной сетью, он сможет не только создавать соединения, но и сможет принимать входящие. Во втором случае все его запросы во внешний мир будут транслироваться во внешний адрес хост-системы, и извне никто к нему не сможет прицепиться.
Так что если нужен поноценный доступ в сеть для гостя, нужно делать из eth0 бриджевый интерфейс. в общем случае если абстрагироваться от различий в дистрибутивах нужен brctl из bridge-utils
#brctl addbr br0
#brctl addiff br0 eth0
#ifconfig br0 192.168.10.10/24
получится бридж с одним физ.интерфейсом, к которому в последствии будут подключаться вирт.интерфейсы гостевых систем.
Как сделать бридж постоянным чтобы он был активен после перезагрузки это уже зависит от дистра.
В этих бриджах вообще ничего не понимаю.
всё просто, несколько интерфейсов объединяются в один. было много стал один:)
PS:Думаю, что на форуме хоть кто-то начнет делать посты с развернутым выводом
такой сойдет ответ?))))
Записан
нарушитель
I am trying to start up my macOS kvm and when I receive the following message which prevents the vm from starting up: «Unable to create bridge virbr0: Package not installed». I have a working internet connection via Ethernet. When I try to remove the network and re-add it(through virtmanager) it asks me if I would like to start the network and then it shows the same error message. The full log provided by virtmanager:
«Could not start virtual network ‘default’: Unable to create bridge virbr0: Package not installed
Traceback (most recent call last):
File «/usr/share/virt-manager/virtManager/device/netlist.py», line 203, in _check_network_is_running
netobj.start()
File «/usr/share/virt-manager/virtManager/object/libvirtobject.py», line 57, in newfn
ret = fn(self, *args, **kwargs)
File «/usr/share/virt-manager/virtManager/object/network.py», line 69, in start
self._backend.create()
File «/usr/lib/python3.9/site-packages/libvirt.py», line 3436, in create
raise libvirtError(‘virNetworkCreate() failed’)
libvirt.libvirtError: Unable to create bridge virbr0: Package not installed»
Any idea on why this is happening and what I can do to fix it?
Last edited by SpacetimeBull (2021-04-14 20:20:01)
Suddently my docker daemon stop and never turned on again. I’m running docker on a Linux raspberrypi 4.1.13-v7+. It worked before until last week when my docker service suddenly stop working and I don’t have a clue why.
My docker version is:
raspberrypi:~ $ docker version
Client:
Version: 1.10.3
API version: 1.22
Go version: go1.4.3
Git commit: 20f81dd
Built: Thu Mar 10 22:23:48 2016
OS/Arch: linux/arm
An error occurred trying to connect: Get http:///var/run/docker.sock/v1.22/version: read unix /var/run/docker.sock: connection reset by peer
Socket is ok:
● docker.socket - Docker Socket for the API
Loaded: loaded (/lib/systemd/system/docker.socket; disabled)
Active: active (listening) since Sat 2018-03-17 00:42:46 UTC; 6s ago
Listen: /var/run/docker.sock (Stream)
Looking to my service status you can see the following log:
docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled)
Active: failed (Result: start-limit) since Sat 2018-03-17 00:05:52 UTC; 4min 55s ago
Docs: https://docs.docker.com
Process: 2891 ExecStart=/usr/bin/docker daemon -H fd:// $DOCKER_OPTS (code=exited, status=1/FAILURE)
Main PID: 2891 (code=exited, status=1/FAILURE)
Mar 17 00:05:52 raspberrypi docker[2891]: time="2018-03-17T00:05:52.743474604Z" level=debug msg="ReleaseAddress(LocalDefault/172.17.0.0/16, 172.17.0.1)"
Mar 17 00:05:52 raspberrypi docker[2891]: time="2018-03-17T00:05:52.758090386Z" level=debug msg="ReleasePool(LocalDefault/172.17.0.0/16)"
Mar 17 00:05:52 raspberrypi docker[2891]: time="2018-03-17T00:05:52.772819345Z" level=debug msg="Cleaning up old shm/mqueue mounts: start."
Mar 17 00:05:52 raspberrypi docker[2891]: time="2018-03-17T00:05:52.773269239Z" level=fatal msg="Error starting daemon: Error initializing network controller: Error creating default "bridge" network: package not installed"
Mar 17 00:05:52 raspberrypi systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Mar 17 00:05:52 raspberrypi systemd[1]: Failed to start Docker Application Container Engine.
I already tried this solution but for me it didn’t work.
How can I make my docker service start again? It seems that a package is not installed but I tried to:
raspberrypi:~ $ modprobe bridge
modprobe: FATAL: Module bridge not found.
>а ты изначально сеть с натом из XML подгрузил?
Да, конечно.
На другом резделе брошенная Fedora 14, загрузил ее, обновил, установил, что нужно для qimu-kvm, подтянулось еще десятка 2 пакетов, и все работает, ничего руками не делал.
Спасибо всем! Голову морочу. То-ли Fedora 15 не все подтягивает, то-ли навернулись с новым именованием интерфейсов, хотя везде я из вижу постарому, eth0, ra0 (ралинковская wi-fi). Время будет, по пристаю в федоровцем.
Еще раз, СПАСИБО ВСЕМ!!!
lvi ★★★★
(18.09.11 23:22:35 MSK)
- Ссылка
прелиминарии
Это следующее работает для меня для Ubuntu 12.04. Вы должны отключить брандмауэр вашего компьютера во время тестирования, чтобы он не мешал.
Файл /etc/default/qemu-kvm должен быть таким же, как изначально установлен.
Вам нужно будет использовать утилиты-бриджи QEMU-квм и libvirt-bin установлены. Любые пользователи, использующие виртуальные машины, должны быть добавлены в группу libvirtd.
Кажется, больше нет необходимости добавлять возможность CAP_NET_ADMIN.
Настройка сети
Сетевым режимом по умолчанию является режим пользователя, также называемый SLIRP. Он использует предопределенный мост virbr0, который NAT направляется на гостевой компьютер. NAT-маршрутизация использует функцию ядра ip_forwarding и iptables. В режиме моста в гостевой системе используется виртуальный мост, к которому подключается (ненумерованный) интерфейс Ethernet и на котором и у хоста, и у гостя есть свои сетевые интерфейсы.
Следующие диаграммы могут прояснить различия:
Вы можете увидеть, как сеть пользователя по умолчанию определяется с помощью:
virsh net-dumpxml default
Я могу настроить мостовой режим с помощью следующих подходов:
В /etc/network/interfaces (из той части поста, которую вы упоминаете в своем вопросе):
авто ло iface lo inet loopback #auto eth0 #iface eth0 inet dhcp авто eth0 iface eth0 inet инструкция авто br0 iface br0 inet dhcp bridge_ports eth0 Bridge_stp выключен bridge_fd 0 bridge_maxwait 0
Перезагружать; и убедитесь, что беспроводная сеть не активна. Проверьте IP-маршрут по умолчанию с ip route
, Это должен быть интерфейс br0.
Примечание: если ваш Ethernet не подключен, когда это изменение будет сделано, вам нужно подключить кабель Ethernet и получить носитель, или загрузка будет зависать в течение двух минут, и у вас не будет возможности сети. Это связано с тем, что интерфейс eth0 Находясь в этом файле, должен подойти, прежде чем загрузка может продолжаться нормально.
NB. Как правило, вы не можете использовать беспроводную сеть вместо eth0 из-за невозможности использования нескольких MAC-адресов (я полагаю, что им нужен второй для моста).
В качестве альтернативы вы можете отключить использование Ethernet и убедиться, что у него нет IP-адреса и что не существует маршрута по умолчанию, настроенного с помощью ip route
, Затем:
sudo ifconfig eth0 0.0.0.0 up
sudo brctl addbr br0
sudo brctl addif br0 eth0
sudo ifconfig br0 up
sudo dhclient br0 &
Вы также можете указать здесь статический IP-адрес, а также указать маршрут по умолчанию и адрес DNS. Для этого примера dhclient
Является ли это.
Вот моя таблица маршрутов:
$ ip route list по умолчанию через 192.168.1.1 dev br0 metric 100 169.254.0.0/16 dev br0 Метрика ссылки области видимости 1000 192.168.1.0/24 dev br0 Протока ядра, ссылка на источник src 192.168.1.45 192.168.122.0/24 dev virbr0 ссылка на ядро протока src 192.168.122.1
Использование KVM
Затем я могу загрузить машину с мостовым подключением с помощью:
$ sudo kvm -name Quantal -m 1024 -hda foo.qcow2 --soundhw ac97 -device virtio-net,netdev=tunnel -netdev tap,id=tunnel,ifname=vnet0
-netdev tap
параметр делает sudo требованием. При запуске виртуальной машины qemu-kvm выполняет следующие команды:
ifconfig vnet0 0.0.0.0 up brctl addif brctl addif br0 vnet0
Это делается с помощью /etc/qemu-ifup
Интерфейс виртуальной машины vnet0 добавлен к мосту br0, потому что маршрут по умолчанию, используемый выше, использует этот интерфейс моста. Если бы этого не было, вместо этого интерфейс крана был бы добавлен к интерфейсу virbr0. Поскольку он не подключен к Интернету, в моих экспериментах NAT использовался для подключения гостя к хосту и Интернету. Вы можете направить vnet0 на конкретный мост в /etc/default/qemu-kvm. Используя virt-manager ниже, вы можете явно указать, к какому мосту подключаться.
Из-за вышеупомянутых команд, выданных qemu-kvm, и -netdev tap,id=tunnel,ifname=vnet0
В этом случае виртуальная машина vm подключена к туннелю vnet0, а туннель — к мосту br0.
Теперь я могу напрямую подключиться к этой гостевой виртуальной машине с другого компьютера в моей сети.
Мой хозяин ifconfig
(обратите внимание на интерфейс vnet0, который появляется в моей сети, когда виртуальная машина работает):
$ Ifconfig br0 Link encap:Ethernet HWaddr 00:1e:33:88:07:e5 адрес в сети Интернет:192.168.1.45 Bcast:255.255.255.255 Маска:255.255.255.0 inet6 адрес: fe80::21e:33ff:fe88:7e5/64 Область применения: ссылка UP BROADCAST RUNNING MULTICAST MTU:1500 Метрика: 1 Пакеты RX:6526 ошибок: 0 отброшено: 0 переполнений: 0 кадр: 0 Пакеты TX:7543 ошибок: 0 отброшено: 0 переполнений: 0 несущая: 0 столкновений:0 txqueuelen:0 RX байт:2712940 (2,7 МБ) TX байт:1071835 (1,0 МБ) eth0 Link encap: Ethernet HWaddr 00: 1e: 33: 88: 07: e5 UP BROADCAST RUNNING MULTICAST MTU:1500 Метрика: 1 Пакеты RX:7181 ошибок: 0 отброшено: 0 переполнений: 0 кадр: 0 Пакеты TX:7740 ошибок: 0 отброшено: 0 переполнений: 0 несущая: 0 столкновения:0 txqueuelen:1000 RX байт:2974585 (2,9 МБ) TX байт:1096580 (1,0 МБ) Прерывание:43 Базовый адрес: 0x6000 lo Link encap: Local Loopback адрес в сети:127.0.0.1 маска:255.0.0.0 inet6 адрес:::1/128 Область применения:Host UP LOOPBACK RUNNING MTU:16436 Метрика: 1 Пакеты RX: 10 ошибок: 0 отброшено: 0 переполнений: 0 кадр: 0 Пакеты TX: 10 ошибок: 0 отброшено: 0 переполнений: 0 несущая: 0 столкновений: 0 txqueuelen: 0 Байты RX:664 (664,0 B) байты TX:664 (664,0 B) vnet0 Link encap: Ethernet HWaddr ca: 0c: 73: c3: bc: 45 inet6 адрес: fe80::c80c:73ff:fec3:bc45/64 Область действия: ссылка UP BROADCAST RUNNING MULTICAST MTU:1500 Метрика: 1 Пакеты RX:226 ошибок: 0 отброшено: 0 переполнений: 0 кадр: 0 Пакеты TX:429 ошибок: 0 отброшено: 0 переполнений: 0 несущая: 0 столкновений:0 txqueuelen:500 RX-байты:26919 (26,9 КБ). TX-байты:58929 (58,9 КБ). virbr0 Link encap:Ethernet HWaddr d6:18:22: дБ:ff:93 адрес в сети Интернет:192.168.122.1 Bcast:192.168.122.255 Маска:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Метрика: 1 Пакеты RX: 0 ошибок: 0 отброшено: 0 переполнений: 0 кадр: 0 Пакеты TX: 0 ошибок: 0 отброшено: 0 переполнений: 0 несущая: 0 столкновений:0 txqueuelen:0 RX байтов:0 (0,0 B) TX байтов:0 (0,0 B)
Моя конфигурация моста во время работы виртуальной машины:
$ brctl show имя моста идентификатор моста с поддержкой STP br0 8000.001e338807e5 нет eth0 vnet0 virbr0 8000.000000000000 да
Обратите внимание, что как интерфейс виртуальной машины vnet0, так и интерфейс eth0 подключены к мосту br0.
И MAC на интерфейсе br0:
$ brctl showmacs br0 порт нет mac addr является локальным? таймер старения 1 00:05:5д: ср:64:61 нет 2,54 1 00:19:d2:42:5d:3f нет 36,76 1 00:19:df:da:af:7c нет 2.86 1 00:1e:33:88:07:e5 да 0,00 1 00:60:0f:e4:17:d6 нет 0,79 2 52:54:00:12:34:56 нет 0,80 1 58:6d:8f:17:5b:c0 нет 5,91 1 с8: аа:21: бе: 8д: 16 нет 167,69 2 ca:0c:73:c3:bc:45 да 0,00
Обратите внимание, что интерфейс br0 соединяет мой хост-компьютер с тем же мостом, который используется гостем.
Вы можете проверить, что вы соединены мостом, а не NAT направлен в вашу собственную сеть, используя traceroute 8.8.8.8
, Если первый узел является маршрутизатором вашей сети, а не IP-адресом гостя, ваша сеть должна работать правильно.
Смотрите эту документацию.
вирт-менеджер
Убедитесь, что вы установили virt-manager
а также hal
, hal
пакет является предполагаемой зависимостью для virt-manager
и используется для определения конфигурации сети вашей системы при создании или редактировании гостей.
Определив мост br0, как описано выше, я создал виртуальную машину с помощью virt-manager:
Я был в состоянии пойти непосредственно к остальной части моей домашней сети и к Интернету от этого гостя. Я также смог подключиться к нему с другого (не хостового, не гостевого) компьютера Ubuntu в моей домашней сети.
Вот очень долго kvm
команда, запускаемая virt-manager (для сравнения с EApubs или кем-то еще, имеющим проблемы с этим):
/ usr / bin / kvm -S -M pc-1.0 -enable-kvm -m 1024 -smp 1, сокеты =1, ядра =1, потоки =1 -точное имя -uuid f057a729-eda6-4b85-84dc-f100c9ae3789 -nodefconfig -nodefaults -chardev сокет,id=charmonitor, путь =/var/lib/libvirt/qemu/ точный.monitor, сервер,nowait -mon chardev=charmonitor,id= монитор, режим = контроль -rtc base=utc -no-shutdown -drive file=/media/natty/home/gruber/ubuntu-kvm/tmpW8gSGB.qcow2, если = нет,id=drive-ide0-0-0,format=qcow2 -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -netdev tap,fd=18,id=hostnet0 -устройство rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:0e:da:9b, шина =pci.0,addr=0x3 -chardev pty,id=charserial0 -устройство isa-serial,chardev=charserial0,id=serial0 -usb -vnc 127.0.0.1:0 -vga cirrus -устройство intel-hda,id=sound0,bus=pci.0,addr=0x4 -устройство hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -девайс virtio-balloon- PCI, ID =balloon0, автобус = pci.0, адр =0x5
Вот сетевая часть описания виртуальной машины в /etc/libvirt/qemu/quantal.xml
<interface type='bridge'>
<mac address='52:54:00:b0:8e:aa'/>
<source bridge='br0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
Согласно этой ссылке, для производительности и надежности, может быть лучше установить модель сетевого устройства на virtio
, вы можете сделать это в virt-viewer, нажав кнопку i, перейдя к настройке NIC и установив «Модель устройства» на virtio
, Вы также можете добавить это в XML выше, добавив строку:
<model type='virtio'/>
В итоге
Все это заняло 12.04 было:
- Установка virt-manager, bridge-utils, qemu-kvm и связанных пакетов
- Убедитесь, что каждый пользователь, желающий использовать kvm, входит в группу libvirtd.
- Определение / etc / network / interfaces, как указано выше (которые соответствуют цитируемой статье)
- Перезагрузитесь, убедившись, что Ethernet подключен и беспроводная связь (если есть) отключена.
- Либо запустите kvm против изображения напрямую, например,
-device e1000,netdev=tunnel -netdev tap,id=tunnel,ifname=vnet0
или создайте виртуальную машину с помощью virt-manager, указав сетевой мост br0 на шаге 4-> панель «Дополнительные параметры».
Никаких дальнейших изменений в сети, возможностях, шаблонах или конфигурациях не потребовалось.
Чтобы выставить услугу вашего нового гостя в Интернете, вам необходимо:
- Подготовьте и настройте любую службу брандмауэра, которая вам понадобится.
- Либо назначьте статический адрес в вашей гостевой конфигурации или в вашей службе DHCP.
- Если вы используете NAT-маршрутизатор, откройте порт для внедряемой вами службы, направив его на IP-адрес гостя.
Не забудьте протестировать и снова включить службу брандмауэра для вашего главного компьютера. Может потребоваться любая запись для пересылки трафика гостю.
См. https://help.ubuntu.com/community/KVM/Installation, https://help.ubuntu.com/community/KVM/Networking и https://help.ubuntu.com/12.04/serverguide/libvirt.html.