无法通过 public 网络访问 Vagrant box

Can't reach Vagrant box over public network

我希望能够使用计算机 1 (iMac) 在计算机 2 (Macbook) 上的 Vagrant Box(运行 LAMP 堆栈)上查看网站Wifi 连接 (AirPort/Timecapsule),但我就是无法正常工作。两台计算机都在同一网络上。

据我了解,添加以下行:

config.vm.network "public_network", ip: "192.168.XX.XX"

并从 vagrant reload -commands 显示的列表中选择 Wifi (AirPort),应该可以使虚拟机通过网络供计算机 1 使用。因此,从计算机 2 中点击 http://192.168.XX.XX/mysite 应该会显示该站点。

然而,尝试此操作以浏览器给我一个超时错误而告终。有什么问题吗?在主机(计算机 2)上查看站点时一切正常,当 运行 同一行但使用 "private_network" 时。

我是运行 vagrant 1.6.5

第一

确保第二个虚拟接口获得网络内的 IP 地址。 运行 ip addr 在 VM 内并查看 IP 地址,只需在下面使用 Vagrantfile

Vagrant.configure("2") do |config|
  config.vm.network "public_network"
end

NOTE: it is possible that the router work as DHCP server and you'd better use DHCP to set up route/gateway/DNS rather than specifying a static IP and then manually configure DNS, route(gateway).

第二

确保防火墙没有阻止对 IP 和端口的访问 运行 iptables -L -vn 并查看列表