Цель - Пинговать друг друга; общаться друг с другом
Проблема - Не могут пинговать друг друга; общаться друг с другом
На виртуальной машине CentOS у меня отключен auto_config, потому что у Vagrant возникли проблемы с автоматическим изменением IP-адреса для меня. Поэтому я заставил Vagrant распознавать его как 10.0.2.100, а затем вручную изменил сеть на виртуальной машине.
На виртуальной машине Windows Vagrant по умолчанию установил IP-адрес 10.0.2.15.
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.define "master" do |master|
master.vm.box = "centos/7"
master.vm.network "private_network", ip: "10.0.2.100", auto_config: false
master.vm.box = "centos_7_v2"
master.vm.hostname = "master.local.com"
master.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end
end
config.vm.define "nodeone" do |nodeone|
nodeone.vm.box = "windows_2012_r2_standard"
nodeone.vm.hostname = "nodeone.local.com"
nodeone.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end
end
end
У меня есть конфигурация --natdnshostresolver1, добавленная к обеим виртуальным машинам, а затем добавлено следующее в мой собственный файл hosts (на моем Mac).
10.0.2.15 nodeone.local.com
10.0.2.100 master.local.com
Как заявил @ jeffrey-wen, решение состоит в том, чтобы добавить virtual_box__intnet: true
в файл инвентаризации. Следует отметить, что при этом у вас могут возникнуть проблемы с пингом или sshing в ваших Vagrant-ящиках, которые теперь находятся в новой локальной сети (как подробно описано в этом выпуске Ansible).
Решением для меня было добавить -c local
к любой команде, которую я выполнял. -c
информирует Ansible о типе подключения и по умолчанию smart
что иногда работает некорректно.
Извините за то, что разместил это в качестве ответа - у меня еще недостаточно репутации, чтобы опубликовать это как комментарий ¯ \ _ (ツ) _ / ¯
Я наконец-то понял. По-видимому, вы просто устанавливаете IP-адрес в той же подсети, а затем добавляете и следуете virtualbox__intnet: true
настройка на https://www.vagrantup.com/docs/virtualbox/networking.html
# Master
master.vm.network "private_network", ip: "192.168.50.100",
virtualbox__intnet: true
# Node
nodeone.vm.network "private_network", ip: "192.168.50.110",
virtualbox__intnet: true