使用 virt-manager 和 qemu 时如何连接到主机 Web 服务器?

使用 virt-manager 和 qemu 时如何连接到主机 Web 服务器?

我有一archlinux台机器Windows 7使用qemu.Network Source: NAT/ Device Model:virtio是 ing 的网络配置NAT。我能够很好地连接到互联网。

但是,如何host使用 IP 连接到机器本身呢?实际上,我想通过多个端口访问在主机中运行的网络服务器!

我尝试打开ipconfig's gateway192.168.122.1但它没有连接到nginx我正在运行的host.例如,http://192.168.122.1不会启动nginx我在另一个端口运行的另一个网络服务器。tracert对我也没有多大帮助。

确实192.168.122.1vibr0我的主机中的,这是gatewayvirtual machine

答案1

virt-manager需要在主机中启动并运行firewalld.service。默认情况下,这将禁用所有端口的外部访问。所以我们需要显式地启用宿主机中需要访问的端口。假设您要启用该端口8000,以下是您需要在主机中执行的命令:

sudo firewall-cmd --permanent --add-port=8000/tcp
sudo firewall-cmd --reload

这里是这个答案的来源。

答案2

我使用 的firewall-configGUI firewalld,它可以处理编辑规则并使它们永久化,所以我不必担心它。我强烈推荐它。

我只需要做一件事:

  • 进入libvirtFirewalld GUI 中指定的区域。
  • 转到“端口”选项卡。
  • 添加端口,例如tcp 5000.

现在我的虚拟机可以通过端口 5000 连接到主机的 IP。:)

此技术可确保端口仅在虚拟机的网络上打开,而不是在所有网络上打开!

顺便说一下,当从访客连接到主机时,您可以使用主机的普通以太网 IP。

相关内容