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

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

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

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

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

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

答案1

假设您正尝试从 Win10 访问 VM。

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

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

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

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

然后单击“确定”保存规则。 请注意,Guest IP 是您的 CentOS VM IP。

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

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

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

答案2

我遇到过和你一样的情况。我认为结论是:“你的 80 端口没有打开。”

那么,通常有两种方法可以打开此端口;

  1. firewall-cmd,更简单的方法。
  2. iptables,配置和理解起来比较困难;

希望你能顺利地解决;

最后,iptables -F简单地说,虚拟机接受所有网络流量

答案3

事实证明,我需要在 CentOS(全新安装)上刷新 iptables。为什么?

sudo iptables -F

相关内容