使用VirtualBox从访客访问主机上的站点?主机和来宾是linux

时间:2014-12-05 21:22:08

标签: ruby-on-rails linux virtualbox nat

我在ubuntu(主机)上运行VirtualBox,我正在使用的VM是fedora(guest)。 VirtualBox设置为使用NAT网络适配器,我可以上网。 我使用Port Forwarding访问ssh和rails web服务器

端口转发规则

  <NAT>
    <DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
    <Alias logging="false" proxy-only="false" use-same-ports="false"/>
    <Forwarding name="Rule 1" proto="1" hostport="5679" guestport="22"/>
    <Forwarding name="Rule 2" proto="1" hostport="3080" guestport="3000"/>
  </NAT>

现在我可以在来宾机上访问互联网,我可以通过ssh登录 但我无法访问端口3080上的Rails Web服务器

i tried : 
localhost:3080
10.0.2.15:3080 #the guest IP

我能做什么我需要的是SSH和互联网连接,并打开我在主机上的浏览器主机上的主机网站

谢谢

2 个答案:

答案 0 :(得分:0)

在VB中,您必须仅为主机设置网络。它位于首选项 - >网络中。 然后,您可以通过ubuntu的192.168.56.101访问您的虚拟机。此网卡上设置了端口转发。用ifconfig列出它。我建议使用iptables进行端口重定向。

答案 1 :(得分:0)

这里只是暗中刺伤,但这可能是您的问题...

在VirtualBox中配置新的Linux虚拟机时,该VM的“网络”设置将设置为“ NAT”。这样会为您的新VM分配一个10.x.x.x地址。

将此设置更改为“桥接”模式,它将为您的虚拟机分配一个与主机位于同一子网内的地址(最有可能是192.168.x.x)。

尝试连接到主机上运行的网站。

如果您仍然无法访问在localhost上运行的站点,请确认该应用程序没有阻止来自新VM的连接。在访问列表(可能的iptables)中添加一条规则,以允许来自您的VM地址(使用ifconfig找到)的TCP端口80流量。

打猎愉快!