Тож у мене в 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-адаптер, і ми знову повернемося до тієї ж проблеми.