将端口转发到Vagrant中的公共主机接口

时间:2019-10-12 09:26:26

标签: ubuntu networking vagrant portforwarding

拥有一个没有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绑定到主机上的任何接口,因此应该可以从同一网络中的其他计算机进行访问。

1 个答案:

答案 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

来确定给定的IP。

希望这对您有所帮助