VirtualBox 和 Windows 10:无法连接到 VirtualBox 上托管的服务器

use*_*675 6 nginx virtual-machines virtualbox

不是重复的 - 我搜索了很多并尝试使用许多文章中的建议,包括对这个问题的答案:VirtualBox:如何设置网络,以便主机和访客都可以访问互联网并互相交谈这篇文章。但最后我得到“ERR_CONNECTION_TIMED_OUT”。

我有 Windows 10,最新的 VirtualBox 和 CentOS 7。我安装了 nginx 并配置了服务器以侦听端口 8080,服务器名称localhost。我想从主机(windows)连接到 nginx 服务器。

我尝试了 NAT、桥接网络、仅主机等相同的结果。尝试在 CentOS 上设置静态 IP。试图允许来自/到 IP 的所有输入/输出网络请求:192.168.56.1(根据 VirtualBox,这是主机本地 IP)和 Windows 防火墙中的 192.168.56.110。

我可以使用 curl ping/检查我的 nginx 服务器是否工作正常。所以情况并非如此。

Xca*_*cat 6

假设您尝试从 Win10 访问虚拟机。

  1. 配置网络 右键单击​​要从主机访问的 Oracle VM VirtualBox Manager 窗口中的 VM 图标,然后单击菜单上的设置。转到网络选项卡并将虚拟机网络设置为 NAT 网络。 在此输入图像描述

  2. 配置转发 在 Oracle VM VirtualBox Manager 窗口中单击 File->Preferences,然后单击 Network 选项卡。您将看到列出的网络(如果没有,只需单击添加图标添加一个),单击网络名称,然后单击编辑图标。 在此输入图像描述

在 NAT 网络详细信息窗口中,单击端口转发。 在此输入图像描述

单击添加图标添加端口转发规则,例如 在此输入图像描述

然后单击“确定”“确定”保存规则。 请注意,访客 IP 是您的 CentOS 虚拟机 IP。

  1. 设置虚拟机。现在回到您的 CentOS VM,将 ipv4.method 设置为 auto(因为您之前更改了默认 IP 配置),然后重新启动网络服务。 在此输入图像描述
  2. 添加防火墙规则。您应该通过以下方式添加端口 8080 的规则

    防火墙cmd --add-port=8080/tcp --permanent

然后您可以从 Win 10 主机访问 VM 上的端口 8080。 在此输入图像描述


use*_*675 0

结果,我需要在 CentOS 上刷新 iptables(全新安装)。为什么?

sudo iptables -F
Run Code Online (Sandbox Code Playgroud)