如何通过 ssh 从 mac 主机连接 KVM 来宾虚拟机?

时间:2021-04-17 05:43:31

标签: macos networking virtualization qemu kvm

我想在 Macbook 上使用 KVM。所以我为启动 kvm 所做的是:

qemu-system-x86_64 -m 2G ./bastion-rhel7.qcow2 -accel hvf

VM 启动正常。但我不能 ssh root@10.0.2.15 这是默认的 vm 网络接口。 它只包含一个默认的 vm 接口,如下所示:

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 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 group default qlen 1000
    link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic ens3
       valid_lft 86353sec preferred_lft 86353sec
    inet6 fec0::caa4:e2ac:1cf9:230e/64 scope site noprefixroute dynamic
       valid_lft 86354sec preferred_lft 14354sec
    inet6 fe80::393b:a23c:2981:6282/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

阅读this article后,我知道如果我使用 virtualbox 来解决这个问题,我可以连接仅主机网络。

这让我觉得如果我可以从 qemu-system_x86_64 命令行为 KVM 附加主机专用网络,那么我就可以 ssh 到我的 kvm 来宾。但我不知道这对 kvm 来说如何或是否可行。

感谢任何评论和解决方案,我想做的就是通过 ssh 从 mac 主机连接来宾虚拟机。

(我的 macbook 只有 wifi 连接,所以我认为“桥接”模式对我来说不是一种选择。)

1 个答案:

答案 0 :(得分:1)

您正在使用的默认 QEMU 网络类型是“用户模式”网络。来宾 VM 在此设置中看到的 IP 地址在 VM 外部不可见(有点像 VM 位于 NAT 路由器后面)。因此,虽然来宾可以向外连接,但除非您在 QEMU 命令行上配置端口转发,否则您无法连接到来宾。 (QEMU wiki page on networking 包含 SSH 端口的语法示例。)

如果您需要访客拥有一个对世界其他地方(包括主机)公开可见的 IP 地址,您需要使用不同的网络后端,例如“tap”;不过,设置起来要复杂得多。

相关问题