我在ubuntu(主机)上运行VirtualBox,我使用的VM是fedora(客人)。VirtualBox被设置为使用NAT网络适配器,我可以访问互联网。我使用端口转发来访问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和互联网连接,在主机上用浏览器打开我在gust机器上的网站。
谢谢
在你的VB中,你必须设置网络只与主机。它是在首选项->网络.然后你可以通过192.168.56.101从ubuntu访问你的虚拟机。在这个网卡上设置端口转发。用ifconfig列出它。我建议使用iptables进行端口重定向。
只是在黑暗中的一个刺,但这可能是你的问题... ...
当您在 VirtualBox 中配置一个新的 Linux 虚拟机时,该虚拟机的网络设置被设置为 "NAT"。 这将导致您的新虚拟机被分配一个10.x.x.x地址。
将此设置更改为桥接模式,这将为您的虚拟机分配一个与您的主机位于同一子网内的地址(很可能是 192.168.x.x)。
尝试连接到您的主机上运行的站点。
如果您仍然无法访问在localhost上运行的站点,请确认应用程序没有阻止来自您的新虚拟机的连接。 在您的访问列表中添加一条规则(可能是iptables),允许从您的虚拟机的地址发送tcp端口80的流量(通过使用 ifconfig
).
狩猎快乐!