![qemu 用户网络:将非本地主机 IP 转发到主机](https://linux22.com/image/148903/qemu%20%E7%94%A8%E6%88%B7%E7%BD%91%E7%BB%9C%EF%BC%9A%E5%B0%86%E9%9D%9E%E6%9C%AC%E5%9C%B0%E4%B8%BB%E6%9C%BA%20IP%20%E8%BD%AC%E5%8F%91%E5%88%B0%E4%B8%BB%E6%9C%BA.png)
我正在网络模式下运行 qemu 虚拟机user
,并且我希望能够访问主机的转发端口。像下面这样的东西效果很好。
-netdev user,id=t0,hostfwd=tcp::9992-:9992
但我的虚拟机创建了一个内部桥接网络,我希望能够从该网络内访问 IP。根据文档,以下应该可以工作,但肯定缺少一些东西
-netdev user,id=t0,hostfwd=tcp:10.144.0.2:6868-10.144.0.2:6868
virbr0
添加或lo
( )的网络别名后,sudo ifconfig virbr0 add 10.144.0.2
该主机和端口可能会响应该netcat
实用程序,但我在联系另一端的服务时遇到问题。
我正在尝试的可能吗?这是我的完整调用:
/usr/bin/qemu-system-x86_64 \
-smp 1 \
-m 1024 \
-uuid 6780dc39-da5f-4dda-844c-59f81b1a3c4c \
-pidfile cfdev-efi-state/qemu.pid \
-enable-kvm \
-machine q35,accel=kvm:tcg \
-object rng-random,id=rng0,filename=/dev/urandom \
-device virtio-rng-pci,rng=rng0 \
-drive file=cfdev-efi-state/disk.img,format=qcow2,index=0,media=disk \
-boot d \
-cdrom cfdev-efi.iso \
-drive if=pflash,format=raw,file=/usr/share/ovmf/OVMF.fd \
-device virtio-net-pci,netdev=t0,mac=52:7a:c1:64:44:26 \
-netdev user,id=t0,hostfwd=tcp::9992-:9992,hostfwd=tcp::9999-:9999,hostfwd=tcp:10.144.0.2:25555-10.144.0.2:25555,hostfwd=tcp:10.144.0.2:8844-10.144.0.2:8844,hostfwd=tcp:10.144.0.2:8443-10.144.0.2:8443,hostfwd=tcp:10.144.0.2:6868-10.144.0.2:6868 \
-nographic