从外部访问在 VirtualBox 上运行的 CentOS 7 服务器

从外部访问在 VirtualBox 上运行的 CentOS 7 服务器

是否可以在主机上的 Google Chrome 浏览器上从 VirtualBox 外部访问我的 Apache 服务器?它在 VirtualBox 上运行 CentOS 7。我尝试连接到 CentOS 虚拟机的 IP 地址,但没有成功。它在 VM 设置中使用“桥接适配器”网络,我使用“ip addr”命令检查了 IP 地址。谢谢。

答案1

我遇到了同样的问题。我将其修复如下:

  1. 在虚拟机网络设置中,使用“桥接适配器”。
  2. 开启CenOS7的端口:在终端使用以下命令(例如端口8080): $ firewall-cmd --permanent --add-port=8080/tcp $ firewall-cmd --reload

我的环境:
主机:Win7 64位
客户机:CenOS 7

答案2

您可以使用单个 NAT(无需第二个适配器):

将适配器 No1 设置为 NAT,然后单击“端口转发”,在主机端口中输入(例如)8080,在来宾端口中输入 80(无需 IP 地址)。您可能还(可选)希望将 SSH 映射到不同的端口。

然后在 CentOS 7 VM 中,一旦您的 Apache 或 NGINX 服务器安装并运行(例如:yum install nginx、systemctl start nginx、systemctl enable nginx),请按照 niaomingjian 的建议配置防火墙,但也许更合适:

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload

然后在主机上导航至http://127.0.0.1:8080并检查是否可以看到欢迎页面。如果此操作无法立即生效,请尝试停止并启动防火墙服务,或重新启动虚拟机。

答案3

您可以将问题划分为较小的部分,这将有助于排除故障:

  • 使用从主机到客户机的“ping”来确定是否可以访问它。
  • 检查客户机上是否运行了防火墙来阻止 ping 和/或 www 端口(例如“iptables -L”)。
  • 使用客户端的浏览器打开网页,检查它是否真的在运行并且可以访问。

相关内容