拥有一个没有GUI的Ubuntu 16.04测试服务器,我想使Vagrant机器的端口可以从外部访问主机,以便可以像这样在我的Ubuntu开发VM上访问它们:
[Dev-VM] <---> [Testserver] <---> [Vagrant-Machine]
为此,我为端口80添加了端口转发。这与Testserver(但不是Dev-VM)的curl配合得很好。找到host_ip
in the docs并尝试了此操作:
config.vm.network "forwarded_port", guest: 80, host: 80, host_ip: "0.0.0.0"
也尝试过
config.vm.network "public_network"
,但结果相同:
我可以使用curl来访问Vagrant-Machine和Testserver中的测试Web服务器,但是不能从我的Dev-VM中访问。据我了解,host_ip: "0.0.0.0"
应该将VM的端口80绑定到主机上的任何接口,因此应该可以从同一网络中的其他计算机进行访问。
答案 0 :(得分:0)
首先,我要警告您谨慎使用“公共网络”配置,因为Vagrant框默认情况下是不安全的,具有公共密码,用于SSH访问的不安全密钥对,并且可能允许通过SSH进行根访问。 / p>
我对您正在尝试做的事情还不清楚。如果我正确理解,您想从Dev-VM访问您的Vagrant-Machine,并且它们在同一网络上。
以下是专用网络文档的链接:https://www.vagrantup.com/docs/networking/private_network.html#dhcp。
最简单的方法是允许DHCP为您提供这样的可用IP地址
config.vm.network "private_network", type: "dhcp"
您可以通过运行vagrant ssh
然后运行ifconfig
希望这对您有所帮助