gpt4 book ai didi

vagrant - 让两个 Vagrant 的虚拟机进行通信

转载 作者:行者123 更新时间:2023-12-05 06:44:09 25 4
gpt4 key购买 nike

我已经四处寻找似乎是一个简单问题的解决方案,但还没有找到答案。

我有一个定义了两个 VM 的 Vagrantfile:

Vagrant.configure("2") do |config|
config.vm.define :box1 do |config|
config.vm.box = "hashicorp/precise32"
config.vm.hostname = "box1"
config.vm.network "private_network", ip: "192.168.0.21"
config.vm.provision :hosts
end

config.vm.define :box2 do |config|
config.vm.box = "hashicorp/precise32"
config.vm.hostname = "box2"
config.vm.network "private_network", ip: "192.168.0.22"
config.vm.provision :hosts
end
end

所以,我对此的理解是,我为每个盒子提供了自己的 IP 地址,然后运行 ​​hosts 配置程序(由 vagrant-hosts plugin 提供)。从 vagrant-hosts 文档中,这应该是我需要做的全部。

但是:

$ vagrant ssh box1 -c 'ping 192.128.0.22'
PING 192.168.0.22 (192.168.0.22) 56(84) bytes of data.
From 192.168.0.21 icmp_seq=1 Destination Host Unreachable
From 192.168.0.21 icmp_seq=2 Destination Host Unreachable
From 192.168.0.21 icmp_seq=3 Destination Host Unreachable
^C
--- 192.168.0.22 ping statistics ---
6 packets transmitted, 0 received, +3 errors, 100% packet loss, time 5031ms
pipe 3
Connection to 127.0.0.1 closed.

我一直想不出如何让两个虚拟机相互通信。我错过了什么?

最佳答案

默认情况下,Vagrant 为 guest ​​ VM 实例使用 NAT 网络。

您将需要更改 VM 配置以将其更改为桥接网络(最简单)或创建一个虚拟网络交换机以允许您正在使用的任何管理程序提供商的 VM 间通信(或类似的东西)。这因提供商而异,并且似乎不受 Vagrant 的直接支持。

http://friendsofvagrant.github.io/v1/docs/bridged_networking.html

事实上,官方 Vagrant 文档似乎并未表明支持桥接网络,而是允许您配置公共(public)网络。这些可能超出您的需要/想要的,但物有所值:

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

关于vagrant - 让两个 Vagrant 的虚拟机进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30536638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com