主机端口80上的虚拟机视图访客端口80

所以我试图转发客户端口80到我的主机端口80,以便我可以查看我的主机的浏览器上运行在我的客人的Apache。

如果我设置了以下内容(8080/80),则可以查看localhost:8080并查看guest apache服务器。

港口80

当我将主机设置为80,将guest设置为80时,它不起作用。 我将如何让客人80直接到主机80?

假设在NAT模式下运行是强制性的。

从你的屏幕截图看来,你正在OS X上运行VirtualBox – 是否正确?

如果是这样,默认情况下 – 用户帐户不能创build侦听1024以下端口的IP端点。如果您确实需要侦听端口号较低的端口,则剩下两个选项:

  • 你可以以root身份(或其他特权帐户)运行VirtualBox – 但这不是一个推荐的解决scheme,因为它往往绕过了很多的安全限制。
  • 您可以将防火墙的转发规则添加到端口8080到80,从而为您自动redirectstream量。 您的VirtualBox仍然会被configuration为转发端口8080.简而言之:

    • 打开terminal,inputsudo vi /etc/ipfilter/ipfw.conf
    • 添加此行: add 12001 fwd 127.0.0.1,8080 tcp from any to me dst-port 80
    • 保存并closures文件:wq

免责声明:我没有在我面前的Mac,更不用说最近的OS X的副本 – 所以虽然高层次的想法仍然适用,configuration防火墙转发规则的实际细节可能略有不同,这取决于哪个版本你正在运行。

还有更好的方法来处理这个问题。 例如,如果为客人configuration第二个虚拟适配器并将其configuration为“仅主机”,则可以从主机访问客户端上的任何端口,而无需转发任何端口。 如果您需要通过networking共享guest虚拟机,这可能没有意义 – 在这种情况下,“Bridged”虚拟适配器可能会更有意义。 我build议您阅读VirtualBox手册第6章中的不同networking模式: https : //www.virtualbox.org/manual/ch06.html

有可能你的ISP阻止了80端口,但对VirtualBox工作正常,你如何检查? 提供更多细节。