将虚拟机(vagrant)暴露给本地Wifi

将虚拟机(vagrant)暴露给本地Wifi

我使用 Vagrant (www.vagrantup.com) 设置了一个本地虚拟机 (ubuntu 12.4),需要在本地 wifi 网络上共享其资源。它基本上运行一个 Web 服务器,本地网络上的其他机器应该可以访问该服务器。

我的本地 wifi 适配器从路由器获取动态 IP 地址。

我当前的配置如下所示,但我无法使用 IP 从另一台机器访问该机器:

config.vm.network :private_network, ip: "192.168.56.101"
    config.vm.network :forwarded_port, guest: 80, host: 8080

我该如何实现这一点?任何帮助都将不胜感激!

答案1

private_network 是仅在主机和客户虚拟机之间的网络。如果您想让客户虚拟机可供与主机位于同一网络上的其他系统使用,则需要使用 vagrant 中的“public_network”设置。这将允许您的客户机获取/使用主机所在网络上的 IP 地址。

config.vm.network "public_network"

http://docs.vagrantup.com/v2/networking/public_network.html

答案2

如果您使用 VirtualBox 作为提供商,您可以随时更改它,这样您就可以默认将其设置为私有(当然更安全),然后您可以在 VirtualBox 中更改它以公开端口。

要公开端口:

  • 启动Virtual Box
  • 在左侧栏中选择您的虚拟机
  • 点击Settings | Network | Advanced | Port Forwarding
  • 在端口列表中找到要公开的端口
  • 将其设置Host IP为空字符串,然后单击“确定”。

该端口现在可供您网络上的其他机器使用,甚至可用于互联网,因此,除非您确定可以打开该端口,否则请不要这样做!

相关内容