从客户机到主机转发端口

从客户机到主机转发端口

如何将端口从客户机(虚拟机上的操作系统)转发到主机(我的实际机器)?

Guest - Windows 7
Host  - Ubuntu 12.10

在我的主机上,我在端口上运行一个 Web 服务器3000

我希望能够通过 URL 从访客身份打开浏览器

http://127.0.0.1:3000

并查看我在主机上运行的 Web 应用程序。(原因是我需要 IE 浏览器来测试一些东西)。

在 Virtual Box 设置中,我选择了 NAT,并在端口转发中写入

Host IP: 127.0.0.1     Port: 3000 
Guest IP: 192.168.0.3  Port: 3000

192.168.0.3我从 ipconfig 获取的客户机 IP 在哪里。

我认为这应该可行,但是现在,一旦我尝试运行 Web 服务器并且 Guest 正在运行,我就会收到该端口已被使用的错误。

实际误差

/home/username/.rbenv/versions/2.0.0-rc2/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:526:in `start_tcp_server': 没有接受器(端口正在使用或需要 root 权限)(RuntimeError)

Web 服务器是 Webrick(开发模式下的默认 Rails 和 Ruby Web 服务器)。

我尝试了不同的主机/客户机 IP 和端口组合,但似乎都不起作用。

答案1

对我来说最简单的方法似乎是使用主机的 IP 地址而不是 127.0.0.1。您可以通过查看默认网关从 ipconfig 获取此信息。

如果你真的想做端口转发,我建议你看看https://stackoverflow.com/a/11535395/2313067。我甚至不确定这是否在环回接口上起作用。

相关内容