无法使用用户模式设置 qemu 网络

Cannot setup qemu networking with user mode

我只是想从我的 centos-7 客户机访问互联网。主持人:Ubuntu 18.04

我阅读了一些基本指南和 运行 qemu:

sudo qemu-system-x86_64 -enable-kvm -drive file=centos7-disk.qcow2,index=0,media=disk -drive file=centos7-disk.raw,index=1,media=disk,format=raw -m 1024 -cpu host -netdev user,id=n1 -device virtio-net,netdev=n1 -serial stdio

在来宾中,我得到一个 eth0 接口,IP 为 172.20.189.16/16。 但是当我尝试像

curl www.google.com

我卡住了然后:

curl: (6) Could not resolve host: www.google.com; Unknown error

我也尝试过 运行 使用 -device e1000,netdev=n1 而不是 -device virtio-net,netdev= n1。 在这种情况下,我什至没有获得 eth0 接口并且 curl 立即失败并出现相同的错误。

*客户机 运行 在 3.10.0-1160.el7 内核上,配置没有变化。

我找到了答案 here

关键是我有 centos-7 minimal,需要手动设置一些网络设置。 对于解决方法,我只需要手动 运行 dhclient:

dhclient ens3

ens3 - 以我为例的虚拟 NIC。

为了使更改永久生效,我做了:

nmcli con mod ens3 connection.autoconnect yes