virtualbox 查看主机端口 80 上的访客端口 80

tes*_*ter 4 virtualbox port-forwarding apache-2.2

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

如果我设置如下:(8080/80),我可以查看 localhost:8080 并看到访客 apache 服务器。

80端口

当我将主机设置为 80 并将来宾设置为 80 时,它不起作用。我如何让客人 80 直接与主人 80 联系?

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

Goy*_*uix 7

从您的屏幕截图来看,您似乎在 OS X 上运行 VirtualBox - 对吗?

如果是这样,默认情况下 - 用户帐户无法创建侦听 1024 以下端口的 IP 端点。如果您绝对需要在低端口号上侦听某些内容,则有两种选择:

  • 您可以以 root(或其他特权帐户)身份运行 VirtualBox - 但这不是推荐的解决方案,因为它往往会绕过许多安全限制。
  • 您可以向防火墙添加转发规则,例如从端口 8080 到 80,以静默地为您重定向流量。您的 VirtualBox 仍将配置为转发端口 8080。简而言之:

    • 打开终端,然后输入 sudo vi /etc/ipfilter/ipfw.conf
    • 添加这一行: add 12001 fwd 127.0.0.1,8080 tcp from any to me dst-port 80
    • 保存并关闭文件: :wq

免责声明:我面前没有 Mac,更不用说最近的 OS X 副本了——所以虽然高级思想仍然适用,但配置防火墙转发规则的实际细节可能会略有不同,具体取决于哪个版本您当前正在运行。

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

  • 我在 OSX 10.8 上,只是一个快速更新: sudo ipfw add ... 具有相同的效果,因为 10.8 没有 /etc/ipfilter/ipfw.conf 文件。 (2认同)