我希望Debian访客能够访问在Ubuntu主机上运行的Web服务器(例如,我只需在Debian下的浏览器中键入
http://localhost:8080/
)。 如何完成?
#1 楼
启用一个网络适配器。将其设置为NAT并启动计算机。不需要进行任何配置。在来宾计算机的浏览器上,键入http://10.0.2.2,它将向您显示与主机OS中的“ localhost”相同的内容。
10.0.2.2是用于NAT连接的“默认网关”,而来宾操作系统的IP为10.0.2.15
当然,您可以设置“仅主机”或一个“内部网络”,它将允许您进行其他高级配置。我建议继续使用NAT。
享受
M.
#2 楼
使用10.0.2.2的IP地址时,还有一点要注意的是,例如,如果您使用的是MAMP,则添加端口号:8888,以便完整地址为http://10.0.2.2:8888
#3 楼
允许不间断地访问VirtualBox Guest计算机的最简单方法是将网络设备设置为通往eth0到LAN的“桥梁”。来宾计算机将通过DHCP从路由器获取LAN IP。
评论
需要说明的是:这是客户端应用程序中的设置。它对我有用-我花了一段时间才意识到这一点,因为IE太愚蠢,以至于我在地址栏中键入IP地址和端口时都以为我想要HTTP连接。
–迈克尔·谢珀(Michael Scheper)
2015年11月19日下午6:43
#4 楼
我发现为我解决的问题是确保将Windows VirtualHost-Only适配器设置为ip范围的.1地址,这样我的虚拟盒主机专用适配器为192.168.58.20,但Windows适配器的ip为192.168。 58.1#5 楼
如果@Melvyn提供的解决方案不起作用,则可以选择将网络适配器设置为桥接。转到
Settings
-> Network
->然后将Attached to
更改为桥接适配器。 您应该可以通过主机名或外部IP地址来调用父级,方法是在命令提示符下键入
ipconfig /all
更新如果要使用Visual Studio调试并使用IIS Express。
转到
C:\Users\[uesername]\Documents\IISExpress\config\applicationhost.config
查找您的网站在
<configuration>/<system.applicationHost>/<sites>/<site>
中(名称可能具有欺骗性,请尝试在physicalPath
属性中检查磁盘上的位置),然后将其添加到
<bindings>
部分中的新绑定<bindings>
<binding protocol="http" bindingInformation="*:50766:localhost" />
<binding protocol="http" bindingInformation="*:50766:48qzr12" />
</bindings>
其中bindingInformation是
*:[port]:[machineName]
希望可以为您节省一些时间。
#6 楼
来宾可以连接到主机,也可以将主机连接到来宾,但不能直接使用。这里是一种情况。
假设您有一个主机,并且有两个来宾(在我的情况下是Windows主机(HOST),以及Linux(GUEST1)和Windows(GUEST2)虚拟映像):
再假设您在一个来宾上运行一个网站(在我的情况下,该网站是http:// localhost:8081 Windows GUEST2)。
我在NAT联网模式下同时运行两个guest虚拟机。
HOST-> GUEST2:在8081上使用NAT端口转发规则。转到虚拟guest虚拟机(GUEST2)的联网,并在那里添加规则。因此,现在在主机上,http:// localhost:8081将到达GUEST2网站。
GUEST1(linux)-> HOST(W10)-> GUEST2(W10)网站位于端口8081
转到您的其他GUEST1,在我的情况下为Linx,运行netstat -rn:
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 **10.0.2.2** 0.0.0.0 UG 0 0 0 enp0s3
10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 enp0s3
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
现在,可以在网关上访问您的网站,http://10.0.2.2:8081。
这将再次触发从主机到GUEST2的端口NAT。
#7 楼
好吧,您可以让Debian进入您的Web服务器,但不使用localhost。您必须使用Ubuntu主机的IP地址。假设来宾OS已连接到网络,要抓住IP,打开一个终端并输入
ifconfig
。应该看起来像192.168.0.2
。评论
嗨!抱歉,回复太晚。我主机上的ifconfig显示eth0为192.168.0.102。当我在来宾的firefox中输入此ip时,它尝试连接一段时间,然后连接终止:“ 192.168.0.102处的服务器响应时间过长” ...那么,下一步该怎么做?提前致谢。
– Maxim
2010年5月24日在17:52
评论
“启用一个网络适配器”。在哪里做?
–jshen
14年5月8日在16:39
注意:如果您在主机上的apache中配置了基于名称的虚拟主机,则可以通过在来宾计算机的主机文件中为10.0.2.2 yourvirtualhostname.local(或其他方式)创建映射来访问它们。
–用户
2014年8月22日,1:12
@User您确定您的最后评论有效吗?我将VB主机上的虚拟主机设置为http://example.dev,并将10.0.2.2映射到VB guest虚拟机上的任何内容根本无法帮助对其进行访问。
–ТомицаКораћ
2015年1月6日在11:36
@ТомицаКораћ它确实起作用。例如,请参见:askubuntu.com/questions/36183/…但是,您可能应该打开一个单独的问题以解决此问题。
–用户
2015年1月6日17:11
“启用一个网络适配器”表示在虚拟机的网络设置下(在VirtualBox内)仅启用其中一个适配器。初读时让我有些困惑。
–马克斯
2015年12月16日19:37