我使用 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"
答案2
如果您使用 VirtualBox 作为提供商,您可以随时更改它,这样您就可以默认将其设置为私有(当然更安全),然后您可以在 VirtualBox 中更改它以公开端口。
要公开端口:
- 启动Virtual Box
- 在左侧栏中选择您的虚拟机
- 点击
Settings | Network | Advanced | Port Forwarding
- 在端口列表中找到要公开的端口
- 将其设置
Host IP
为空字符串,然后单击“确定”。
该端口现在可供您网络上的其他机器使用,甚至可用于互联网,因此,除非您确定可以打开该端口,否则请不要这样做!