사용자 모드 네트워크 설정으로 가상 머신을 가져오려고 하는데 네트워크가 작동하지 않는 것 같습니다. localhost 또는 wget localhost를 ping할 수도 없습니다. ifconfig를 실행하면 루프백 "lo" 및 이더넷 "eth0" 장치가 있지만 둘 다 IP 주소가 없습니다.
맥락에 따라 다음 가이드를 따릅니다.https://mergeboard.com/blog/2-qemu-microvm-docker/
다음은 가상 머신을 시작하는 데 사용하는 명령입니다.
qemu-system-x86_64 \
-M microvm,x-option-roms=off,isa-serial=off,rtc=off \
-no-acpi \
-enable-kvm \
-cpu host \
-nodefaults \
-no-user-config \
-nographic \
-no-reboot \
-device virtio-serial-device \
-chardev stdio,id=virtiocon0 \
-device virtconsole,chardev=virtiocon0 \
-drive id=root,file=alpine.qcow2,format=qcow2,if=none \
-device virtio-blk-device,drive=root \
-kernel kernel/bzImage \
-append "console=hvc0 root=/dev/vda rw acpi=off reboot=t panic=-1" -m 512 \
-smp 2 \
-device virtio-rng-device \
-netdev user,id=mynet0 \
-device virtio-net-device,netdev=mynet0
이것은 ifconfig의 출력입니다.
/ # ifconfig -a
eth0 Link encap:Ethernet HWaddr 52:54:00:12:34:56
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
LOOPBACK MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
지금까지 저는 Alpine과 Ubuntu를 게스트 운영 체제로 실행해 보았습니다. 내 문제가 호스트 OS 또는 Qemu 설치의 잘못된 구성으로 인해 발생한 것인지 확인하기 위해 VirtualBox VM에서 처음부터 동일한 설정을 실행해 보았습니다. 두 시도 모두 정확히 동일한 결과, 즉 IP 주소가 없는 두 개의 네트워크 카드가 있는 가상 머신을 제공했습니다. 그리고 머신은 로컬호스트나 인터넷에 접근할 수 없습니다.