我有这个用 QEMU 制作的小型实验实验室系统(只是为了好玩)。
该系统由 Linux 内核 + busybox 组成。现在,系统的大部分功能似乎运行良好,我可以在系统上执行大多数标准 Linux 操作,但有一件事除外... 我无论如何也无法让网络正常工作。
我以前设置过网络,但我不会假装我知道自己在做什么。而且我显然做错了什么。
我的主机正在运行 arch linux。
这是我用来启动该虚拟机的命令:
qemu-system-x86_64 -kernel bzImage -drive file=filesystem.img,format=raw -append "root=/dev/sda" -m 4096 -accel kvm -net nic -net user
如您所见,网络设置基本都是默认设置。从技术上讲,它应该可以正常工作。在机器内部,我完成了所有网络设置,我分配了一个(静态)IP、名称服务器、默认网关,并将 eth0 设备设置为 UP。也许只是我没有注意到一些显而易见的东西,但我真的不知道我做错了什么。如果有人对网络相关的东西有敏锐的洞察力,我将不胜感激。
只需在此处评论或提问,我将尝试编辑我的问题并添加进一步的故障排除步骤/命令。
答案1
-net user
QEMU 命令行上的 表示您正在使用“用户模式网络”。它有一定的限制,最重要的是:它不直接连接(桥接)到您的物理网络。相反,它有自己的子网。根据用户模式网络文档,您必须按如下方式配置虚拟机的网络适配器:
- 默认网关10.0.2.2
- 名称服务器10.0.2.3(或者可能真的有任何)
- IP 地址来自10.0.2.15到10.0.2.254
- 子网掩码/24=255.255.255.0
或者,您也可以使用最小的 DHCP 客户端自动执行此操作。
你将无法平来自虚拟机。使用其他东西来检查连接性,也许是wget
一个应该可以访问的 URL。