LINUX.ORG.RU

Нет интернета на виртуальной машине Gentoo/QEMU

 , ,


0

1

Всем привет,

я снова выхожу на связь. На компьютере установлена

~ $ uname -ro
4.2.3-gentoo GNU/Linux
Я хочу создать виртуальную машину с Gentoo Linux, делаю это впервые. Для этого на host'е собран пакет QEMU в соответствии с руководством на Gentoo Wiki. Запускаю виртуальную машину следующим скриптом:

#!/bin/sh
# install on boot args: -boot d -drive file=$BOOTIMG,media=cdrom
#BOOTIMG=~/Documents/vms/install-amd64-minimal-20150924.iso
#IMG=~/Documents/vms/gentoovm.qcow2

if [ "$#" -lt 1 ]; then
        echo "No image file passed."
        exit 1
else
        IMG=$1
fi

if [ ! -f $IMG ]; then
        echo "VM image file not found."
        exit 1
fi

exec qemu-system-x86_64 -enable-kvm \
        -cpu host \
        -smp 2 \
        -drive file=$IMG,if=virtio \
        -bios bios.bin \
        -netdev user,id=vmnic,hostname=gentoovm -device virtio-net,netdev=vmnic \
        -m 4G \
        -monitor stdio \
        -name "gentoo_vm" \
        "${@:2}"

Виртуальная машина запускается без ошибок или предупреждений в консоли qemu, установка Gentoo была проведена в соответствии с Gentoo Handbook. В процессе установки соединение с интернетом было стабильным, stage3-файл скачался успешно, поэтому значения сетевым настройкам я не придал, решив, что network pass through, заданный параметрами

-netdev user,id=vmnic,hostname=gentoovm -device virtio-net,netdev=vmnic
достаточен для соединения с интернетом.

Однако, запуская виртуальную машину с установленной системой, интернет-соединения нет. Я не могу ни обновить систему, ни скачать файл с помощью wget, ни открыть страницу с links. Буду очень благодарен вам за советы или помощь.

Ответ на: комментарий от Black_Shadow

Хендбук читал?

Да, но уже с самого начала возникают сложности и я не могу продвинуться дальше. Дело в том, что в /etc/init.d у меня нет ни одного контроллера кроме lo:

# find /etc/init.d | grep "net\."
/etc/init.d/net.lo
И я не знаю, что делать дальше. Когда я запускаю машину с boot-параметром, ifconfig показывает два устройства, eth0 и lo, а когда запускаю без него, то ifconfig выдает только lo. Поиск устройств показывает:
# lspci | grep net
00:03.0 Ethernet controller: Red Hat, Inc Virtio network device

DELETE_FROM ()
Ответ на: комментарий от DELETE_FROM

Дело в том, что в /etc/init.d у меня нет ни одного контроллера кроме lo

Ты балбес, симлинки ты сам создаешь, а так наличие интерфейсов ifconfig -a

murmur ()
Ответ на: комментарий от DELETE_FROM

Дело в том, что в /etc/init.d у меня нет ни одного контроллера кроме lo

Ты невнимательно читал Handbook.
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/System#Automatically...

Automatically start networking at boot

To have the network interfaces activated at boot, they need to be added to the default runlevel.

root #cd /etc/init.d
root #ln -s net.lo net.eth0
root #rc-update add net.eth0 default

If the system has several network interfaces, then the appropriate net.* files need to be created just like we did with net.eth0.

If after booting the system we find out that the assumption about the network interface name (which is currently documented as eth0) was wrong, then execute the following steps to rectify this:

  1. Update the /etc/conf.d/net file with the correct interface name (like enp3s0 instead of eth0).
  2. Create new symbolic link (like /etc/init.d/net.enp3s0).
  3. Remove the old symbolic link (rm /etc/init.d/net.eth0).
  4. Add the new one to the default runlevel.
  5. Remove the old one using rc-update del net.eth0 default.
Black_Shadow ★★★★★ ()
Ответ на: комментарий от int13h

Осталось понять, при чём здесь бридж. Мне - не сложно. У ТС проблема, связанная с тем, что у него в гостевой системе сеть не настроена. Перечитай первый пост.

Black_Shadow ★★★★★ ()
Ответ на: комментарий от Black_Shadow

Ну, если все ок с хостом, то теги

qemu, qemu-kvm

лишние.

int13h ★★★★★ ()
Ответ на: комментарий от Black_Shadow

Ты невнимательно читал Handbook.

Да, действительно, пропустил по невнимательности, что линки нужно создавать самому. Все заработало, большое спасибо за помощь!

DELETE_FROM ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.