VMWare fusion:从来宾连接到主机的 Web 服务器

Posted

技术标签:

【中文标题】VMWare fusion:从来宾连接到主机的 Web 服务器【英文标题】:VMWare fusion: connecting to host's web server from guest 【发布时间】:2011-03-15 04:22:44 【问题描述】:

我是一名网络开发人员,我的开发平台是 Mac。我在 VMWare fusion 中安装了 Windows XP 的副本,用于测试目的并使用 IE 预览我的网站。我在我的 Mac 上运行 Apache,有几个子域,如 test.localhost 等。

如何从来宾操作系统访问主机操作系统上的网络服务器?

提前谢谢你。

【问题讨论】:

下面的解决方案都不适合我......直到我将正在运行的应用程序绑定到 0.0.0.0 而不是直接绑定到本地主机,在这个上浪费了太多时间:( 【参考方案1】:

在 OS X 10.9 Mavericks 上使用 Fusion 6.0.2

在主机系统(Mac)中

    关闭虚拟机

    打开“虚拟机|网络适配器|网络适配器设置...”菜单

    在“Bridget Networking”部分选择“Autodetect”:

    打开您的虚拟机

在来宾系统中(Win7)

    右键单击记事本应用程序,然后选择“以管理员身份运行”:

当 Win7 询问:“您要允许以下程序对此计算机进行更改吗?” 点击“是”按钮

    导航至:“计算机 | 本地磁盘 (C:) | Windows | System32 | 驱动程序 | 等”

    在“文件名:”字段右侧的下拉菜单中选择“所有文件”

    双击“hosts”文件

在主机系统(Mac)中

    打开您的系统偏好并选择“网络”;在您连接的界面中查找 Mac IP:

示例中为 192.168.1.106

在来宾系统中(Win7)

    在记事本窗口中输入 Mac IP,然后输入您要在主机 (Mac) 系统中访问的站点:

在示例中我配置了两个站点:localhost 和 caeb.leo

    打开浏览器,您将能够看到托管在您的主机系统上的网站:

希望对你有帮助!

【讨论】:

我希望我能在它应得的 20 或 30 次或更多次投票。 :) 是的!我们必须提高这个答案。接受的答案对我不起作用。 这适用于 High Sierra、VM Ware Fusion 10 和 Windows 10。在我的主机上,我正在运行 MAMP Pro 4.2.1 DNS 缓存链接已损坏。步骤:确保以管理员身份运行CMD,然后运行ipconfig /flushdns【参考方案2】:

VMWare Fusion 在您的 Mac 上注册一个 IP 地址,您可以使用它从虚拟机指向主机。您可以通过ifconfig vmnet8 找到它。我的192.168.36.1,你的可能是一样的。

如果您使用 apache 虚拟主机并尝试从虚拟机上的此地址获取 http,它可能会显示默认的 apache 页面。您需要在 Windows 主机上映射域:

在记事本中打开 C:\WINDOWS\system32\drivers\etc\hosts 并添加您的主机名,每行 1 个:

192.168.36.1    test.localhost

然后,当你在 IE 中输入http://test.localhost/ 时,它会路由到你 Mac 的 apache 虚拟主机。

【讨论】:

我想给这个答案一个拥抱。谢谢!【参考方案3】:

Andrew's answer 虽然正确,但缺少重要部分,即 vmnet8 仅在客户操作系统设置为使用桥接网络选项时使用。

如果您的客户操作系统正在使用 NAT 网络选项,如本 Windows 主机示例所示,您将需要改用 vmnet1

在这种情况下,vmnet1 192.168.119.1 的 IP 允许访问主机网络服务器,而vmnet8 的 IP 无处可去。

【讨论】:

【参考方案4】:

请注意,我为那些像我一样有与标题相同的问题但与将 Apache 作为原始本地安装运行的细节不完全相同的人提供此答案

请注意,这个答案是 Andrew 和 Camaleo 的答案的混合体,因为在我的设置中都没有工作(没有指向 Mac 的 ip 和桥接网络的“自动检测”由于某种原因没有工作?),不确定如果包含 Docker Machine 会导致打嗝

如果你的设置是这样的:

(主机)Mac(例如 ip 192.168.1.249) (访客)Docker 机器(例如 ip 192.168.99.102) Apache(80 端口) VMware 融合 10 (访客)Windows 10(示例 ip 192.168.68.142)

步骤 1

在 Windows 10 VM 中以管理员身份打开记事本(右键单击记事本以获取该选项)。导航到C:\Windows\System32\drivers\etc,而不是Text Documents(*.txt),选择All Files。打开hosts 文件并为您的Docker 机器的IP 添加一个主机条目(通过docker-machine ls)。根据我们上面的示例设置,该行如下所示:

192.168.99.102  myapp.test  # or some other fitting name

保存更改。

第二步

注意:进行网络更改时,无需停止或重新启动 VMware Fusion 10 中的虚拟机。

从 VMware Fusion 菜单中选择 Virtual Machine / Network Adapter / Network Adapter Settings。选择Share with my Mac

如果已选择“与我的 Mac 共享”,请选择不同的网络适配器选项(如自动桥接网络),然后重新选择“与我的 Mac 共享”以确保更改主机文件

第三步

通过 ping 所需地址(例如,如上所示的“myapp.test”)或打开 Edge/Chrome 检查网页是否加载,在 Windows VM 中进行测试更改

注意,建议使用以.test 结尾的域名,否则 Chrome 可能仍会出现 HSTS 错误问题

【讨论】:

以上是关于VMWare fusion:从来宾连接到主机的 Web 服务器的主要内容,如果未能解决你的问题,请参考以下文章

vmware 设置访客静态 ip 地址,主机通过 3G 调制解调器连接到专用网络

如何使用星号将 X-Lite 软电话从主机连接到来宾 vm?

集成网络摄像头未连接到 Vmware

无法从主机 ping 或访问来宾 - vmware

无法从主机访问 VM 来宾(使用正在运行的 *** 客户端)

在主机未连接到网络时连接到 vmware 播放器中的服务器