LINUX.ORG.RU

no network in qemu (gentoo)

 ,


0

1

Хост - генту. Собрал qemu с флагами

USE="aio alsa bzip2 caps curl doc fdt filecaps gnutls gtk iscsi jpeg ncurses nls numa opengl oss pin-upstream-blobs png pulseaudio python sasl seccomp slirp spice ssh static-user udev usb usbredir vhost-net virgl vnc xattr zstd -accessibility -bpf -capstone -debug -fuse -glusterfs -infiniband -io-uring* -jack -jemalloc -lzo -multipath -nfs -pam -plugins -rbd -sdl -sdl-image (-selinux) -smartcard -snappy -static -systemtap -test -vde -vhost-user-fs -virtfs -vte -xen -xfs" PYTHON_TARGETS="python3_8 -python3_9 -python3_10" QEMU_SOFTMMU_TARGETS="aarch64 i386 x86_64 -alpha -arm -avr -cris -hppa -m68k -microblaze -microblazeel -mips -mips64 -mips64el -mipsel -nios2 -or1k -ppc -ppc64 -riscv32 -riscv64 -rx -s390x -sh4 -sh4eb -sparc -sparc64 -tricore -xtensa -xtensaeb" QEMU_USER_TARGETS="aarch64 i386 x86_64 -aarch64_be -alpha -arm -armeb -cris -hexagon -hppa -m68k -microblaze -microblazeel -mips -mips64 -mips64el -mipsel -mipsn32 -mipsn32el -nios2 -or1k -ppc -ppc64 -ppc64abi32 -ppc64le -riscv32 -riscv64 -s390x -sh4 -sh4eb -sparc -sparc32plus -sparc64 -xtensa -xtensaeb" 0 KiB

Запускаю без особых параметров, переопределяющих поведение сети (qemu-system-x86-64 -smp 4 -m 2G -enable-kvm -hda /mnt/uwu/debian.qcow) и получаю в этом самом дебиане ens3, который ничего не резолвит (ping ya.ru говорит temporary failure in name resolution, ping 8.8.8.8 говорит destination host unreachable) хотя сеть в qemu как раз должна работать сама по себе, не так ли?

согласно вики, отсутствие параметров аналогично -net nic -net user, что в свою очередь аналогично -netdev user,id=network0 -device e1000,netdev=network0,mac=52:54:00:12:34:56

ну и похоже что так и есть, если эти параметры передать вручную, ничего не меняется.

чяднт? куда копать?



Последнее исправление: fadi1s (всего исправлений: 3)

чяднт? куда копать?

Из гостевой машины нужен выхлоп команд:

ip addr show
ip route
cat /etc/resolv.conf

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

ip addr show

1: lo: <LOOPBACK,UP,LOWER UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul
t qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo
valid lft forever preferred lft forever
inet6 ::1/128 scope host
valid lft forever preferred lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER UP> mtu 1500 qdisc pfifo_fast state UP gr oup default qlen 1000
link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff inet 192.168.1.22/24 brd 192.168.1.255 scope global noprefixroute ens3
valid lft forever preferred lft forever
inet6 fec0::7928:9270:afef:fd75/64 scope site temporary dynamic
valid_lft 86174sec preferred_lft 14174sec
inet6 fec0::5054:ff:fe12:3456/64 scope site dynamic mngtmpaddr noprefixroute
valid_lft 86174sec preferred lft 14174sec
inet6 fe80::5054:ff:fe12:3456/64 scope link noprefixroute
valid lft forever preferred lft forever

ip route

default via 192.168.1.1 dev ens3 proto static metric 100

192.168.1.0/24 dev ens3 proto kernel scope link src 192.168.1.22 metric 100

cat /etc/resolv.conf

nameserver 192.168.1.1

это всё в гостевой

у хоста

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 98:fa:9b:f5:3d:8f brd ff:ff:ff:ff:ff:ff
3: wlp0s20f3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 50:eb:71:b1:ae:9f brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.102/24 brd 192.168.0.255 scope global dynamic noprefixroute wlp0s20f3
       valid_lft 68415sec preferred_lft 68415sec
    inet6 fe80::2674:cd7d:7630:e570/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

default via 192.168.0.1 dev wlp0s20f3 proto dhcp metric 600

192.168.0.0/24 dev wlp0s20f3 proto kernel scope link src 192.168.0.102 metric 600

nameserver 192.168.0.1

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

Эмммм.... Так если ты используешь user networking, то разве подсеть не должна быть 10.0.2.0/24, адреса из которой ты получаешь по DHCP?

Это если ты не указал конечно опций для -netdev user для переопределения диапазана выдаваемых адресов, но я в стартовом посте таких опций не вижу

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от fadi1s

Эммм... 10.0.2.0/24 - это по умолчанию должно быть при запуске без парамеров.

Как настроена сеть в гостевой машине? Должна быть по DHCP. Что за клиент используется? dhcpcd? dhclient?

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

гостевая система - только что установленный ванильный дебиан 10 xfce. зашел в настройки сети (графические, в трее на панели), там почему-то для ipv4 стоял метод manual с пустыми полями адресов.

поставил в automatic dhcp и получил таки адрес 10.0.2.15 (в resolv.conf теперь nameserver 10.0.2.3), начали резолвиться имена, ping ya.ru уже превращается в 87.250.250.242, но лучше от этого не становится. пакеты всё равно никуда не идут, loss 100%.

fadi1s
() автор топика
Ответ на: комментарий от Pinkbyte

и теперь самое интересное. загрузил с флешки убунту, поставил на неё qemu и запустил этот же самый диск с теми же самыми параметрами. всё работает :|

fadi1s
() автор топика
Ответ на: комментарий от kostik87

ЕМНИП NAT на хостовой системе для -netdev user настраивать не надо, об этом и в документации сказано:

User Networking is implemented using "slirp", which provides a full TCP/IP stack within QEMU and uses that stack to implement a virtual NAT'd network.

By default, QEMU uses the 10.0.2.X/24 network and runs a gateway at 10.0.2.2. All traffic intended for the host network has to travel through this gateway, which will filter out packets based on the QEMU command line parameters. This gateway also functions as a DHCP server for all GOS, allowing them to be automatically assigned with an IP address starting from 10.0.2.15.

Натом заведует сам slirp. В этом и смысл - в возможности сделать сеть запуская qemu из под непривилигерованного пользователя, у которого нет доступа к изменению sysctl и/или файрвола на хостовой системе.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от fadi1s

Надо еще убедиться что шлюз по умолчанию у тебя был на 10.0.2.2, как сказано в документации по ссылке что я тебе дал

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

NAT в virt-manager используется ядерный(в отличие от slirp) - оно будет как минимум быстрее работать.

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