Виртуализация с помощью kvm: экспорт сервисов от гостя к хосту
Я хотел бы экспортировать некоторые сервисы из гостевой ОС в хост-систему через kvm и таким же образом узнать кое-что о работе в сети. Я пробовал следующие команды:
В хосте (kubuntu 10.4):
$ sudo tunctl -u ascobol
Set 'tap0' persistent and owned by uid 2401
$ sudo ifconfig tap0 192.168.2.1 netmask 255.255.255.0 broadcast 192.168.2.255
Команда ifconfig возвращает:
$ /sbin/ifconfig
tap0 Link encap:Ethernet HWaddr 3e:4e:e3:cc:bc:92
inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::3c4e:e3ff:fecc:bc92/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:17 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0
Затем я запускаю виртуальную машину (Ubuntu Server 10.4):
$ sudo kvm -hda ubuntuserver104.qcow2 -net nic -net tap,name=tap0,script=no
(Я использую sudo, потому что без него не получается следующее сообщение:)
предупреждение: не удалось настроить / dev / net / tun: нет эмуляции виртуальной сети
С sudo загружается виртуальная машина, я просто получаю это сообщение:
pci_add_option_rom: не удалось найти ромфайл "pxe-rtl8139.bin"
В виртуальной машине:
$ ifconfig eth0 192.168.2.2 netmask 255.255.255.0 broadcast 192.168.2.255
Теперь, если я бегу:
$ ssh 192.168.2.2
Я просто получаю
Нет маршрута к хосту
Что не так с этой настройкой? Спасибо!
2 ответа
Проблема при запуске виртуальной машины:
$ sudo kvm -hda ubuntuserver104.qcow2 -net nic -net tap,name=tap0,script=no
Я заменил
name=tap0
от
ifname=tap0
и это сработало
pci_add_option_rom: failed to find romfile "pxe-rtl8139.bin"
означает, что у вас не установлены изображения pxe bootrom. попробуйте установить их или найдите их в /usr/share/qemu или /usr/share/gpxe