Тож у мене в MAC-книзі проблеми з налаштуванням Vagrant "hashicorp / preci64".
По-перше, моя конфігурація:
VAGRANTFILE_API_VERSION = "2" Конфігурація Vagrant.configure (VAGRANTFILE_API_VERSION) do | config | config.vm.box = "hashicorp / preci64" config.vm.network "public_network", введіть: "dhcp",: bridge => 'en4: Thunderbolt Ethernet' config.vm.hostname = "mddirector" кінець
Це вихід «бродячого»
==> за замовчуванням: Спроба витонченого відключення VM ...
==> за замовчуванням: Перевірка, чи не встановлено прапорець "hashicorp / preci64" ...
==> за замовчуванням: Очищення будь-яких раніше встановлених пересланих портів ...
==> за замовчуванням: Очищення будь-яких раніше встановлених мережевих інтерфейсів ...
==> за замовчуванням: підготовка мережевих інтерфейсів на основі конфігурації ...
за замовчуванням: Адаптер 1: фіз
за замовчуванням: Адаптер 2: мостовий
==> за замовчуванням: переадресація портів ...
за замовчуванням: 22 => 2222 (адаптер 1)
==> за замовчуванням: завантаження VM ...
==> за замовчуванням: очікування завантаження машини. Це може зайняти кілька хвилин ...
за замовчуванням: SSH-адреса: 127.0.0.1:2222
за замовчуванням: ім'я SSH: vagrant
за замовчуванням: метод auth SSH: приватний ключ
за замовчуванням: Попередження: Час очікування з'єднання. Повторна спроба ...
==> за замовчуванням: машина завантажена і готова!
Додавання гостей 4.3.10 працює --- ОК.
==> за замовчуванням: перевірка доповнень для гостей у VM ...
==> за замовчуванням: встановлення імені хоста ...
==> за замовчуванням: Налаштування та включення мережевих інтерфейсів ...
==> за замовчуванням: монтаж спільних папок ...
за замовчуванням: / vagrant => / Користувачі / garthm / Проекти / бродячий
==> за замовчуванням: Машина вже передбачена. Запустіть "бродяче забезпечення" або скористайтеся програмою "--provision"
==> за замовчуванням: примусово забезпечити резервування. Учасники, позначені завжди бігати, все одно будуть працювати.
'ifconfig' показує таке:
vagrant @ mddirector: ~ $ ifconfig
eth0 Link encap: Ethernet HWaddr 08: 00: 27: 88: 0c: a6
inet addr: 10.0.2.15 Bcast: 10.0.2.255 Маска: 255.255.255.0
inet6 addr: fe80 :: a00: 27ff: fe88: ca6 / 64 Область застосування: Посилання
НАГОРОДЖЕННЯ РОЗКЛАДУВАННЯ МУЛЬТИКАСТ МТУ: 1500 метрик: 1
Пакети RX: 725 помилок: 0 випало: 0 перевитрат: 0 кадр: 0
TX-пакети: 544 помилки: 0 випали: 0 перевитрати: 0 оператор: 0
зіткнення: 0 txqueuelen: 1000
RX байти: 90824 (90,8 KB) TX байт: 63375 (63,3 KB)
eth1 Link encap: Ethernet HWaddr 08: 00: 27: 2f: bb: 6a
inet addr: 10.0.24.118 Bcast: 10.0.31.255 Маска: 255.255.248.0
НАГОРОДЖЕННЯ РОЗКЛАДУВАННЯ МУЛЬТИКАСТ МТУ: 1500 метрик: 1
Пакети RX: 3490 помилок: 0 випали: 0 перевитрати: 0 кадр: 0
TX-пакети: 7 помилок: 0 випало: 0 перевитрат: 0 оператор: 0
зіткнення: 0 txqueuelen: 1000
RX байтів: 345981 (345,9 Кб) TX байт: 1102 (1,1 КБ)
lo Link encap: Local Loopback
inet addr: 127.0.0.1 Маска: 255.0.0.0
inet6 addr: :: 1/128 Область застосування: Хост
НАГОРОДНЕ РОЗВ'ЯЗАННЯ МТУ: 16436 Показник: 1
Пакети RX: 0 помилок: 0 випало: 0 перевитрат: 0 кадр: 0
TX-пакети: 0 помилок: 0 випало: 0 перевитрат: 0 оператор: 0
зіткнення: 0 txqueuelen: 0
RX байти: 0 (0,0 B) TX байти: 0 (0,0 B)
Моя проблема полягає в тому, що я можу пінг VM зі своєї хост-машини ( IP: 10.0.24.112), інші люди можуть також пінг моєї VM ( 10.0.24.XXX), мій VM може пінг мого devbox ( IP: 10.10.116.254), я можу пінг інших розробників віртуальної машини з мого devbox ( не Vagrant, IP: 10.10.116.254), але я не можу пінговати свій VM з мого devbox, а інші розробники не можуть пінг моєї VM з їх devbox.
Налаштування віртуальної машини у них є лише з Bridged NIC, але у бродяга чомусь є і NAT, і Bridged, хоча я вказав мости в конфігурації. Як бачите, для Vagrant VM є дві IP-адреси, що не здається правильним. Ви також можете, коли він завантажиться, він робить порт вперед на Адаптер 1, який є адаптером NAT, а це означає, що це звучить так, ніби він використовує NAT-адаптер за замовчуванням для всього.
Як я можу позбутися NAT-адаптера і використовувати тільки мостові?
Якщо я відредагую налаштування VirtualBox і відключую адаптер NAT, отже, є лише з'єднаний адаптер і завантажиться вікно через VirtualBox (тобто: не використовується vagrant up), то він має лише eth0 з IP-адресою, що піддається запису з мого devbox , що саме я шукаю. Якщо я спробую вимкнути вікно після редагування налаштувань VirtualBox та відключення NAT-адаптера, я отримаю таку помилку:
Під час виконання "VBoxManage", CLI, використовуваного Vagrant, сталася помилка для управління VirtualBox. Команда та stderr показані нижче. Команда: ["modifyvm", "7f1c12f7-74cd-4c6b-aa5a-16d6209cf2b3", "--natpf1", "ssh, tcp, 127.0.0.1,2222,, 22"] Stderr: VBoxManage: помилка: правило NAT такого імені вже існує VBoxManage: помилка: подробиці: код NS_ERROR_INVALID_ARG (0x80070057), компонент NATEngine, інтерфейс INATEngine, виклик nsISпідтримка VBoxManage: помилка: контекст: "AddRedirect (Bstr (strName) .raw (), proto, Bstr (strHostIp). рядок 1655 файлу VBoxManageModifyVM.cpp
Якщо я негайно знову зроблю бродягу, він знову ввімкне NAT-адаптер, і ми знову повернемося до тієї ж проблеми.