Vagrant / virtualbox без SSH-соединения и тайм-аута (Windows)

Я пытаюсь настроить этот компьютер: https://github.com/ByteInternet/hypernode-vagrant

Когда я делаю vagrant up, я получаю следующую ошибку: Timed out while waiting for the machine to boot.

Полный контекст ошибки:

$ vagrant up
Bringing machine 'hypernode' up with 'virtualbox' provider...
==> hypernode: Will use PHP 7. If you want PHP 5.5 instead change the php version in local.yml.
==> hypernode: Checking if box 'hypernode_php7' is up to date...
==> hypernode: Clearing any previously set forwarded ports...
==> hypernode: Clearing any previously set network interfaces...
==> hypernode: Preparing network interfaces based on configuration...
hypernode: Adapter 1: nat
hypernode: Adapter 2: hostonly
==> hypernode: Forwarding ports...
hypernode: 80 (guest) => 8080 (host) (adapter 1)
hypernode: 3306 (guest) => 3307 (host) (adapter 1)
hypernode: 22 (guest) => 2222 (host) (adapter 1)
==> hypernode: Running 'pre-boot' VM customizations...
==> hypernode: Booting VM...
==> hypernode: Waiting for machine to boot. This may take a few minutes...
hypernode: SSH address: 127.0.0.1:2222
hypernode: SSH username: vagrant
hypernode: SSH auth method: private key
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.

If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.

If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.

If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.

Когда я загружаю виртуальную машину вручную, я вижу, что сеть не работает должным образом. Нет соединения. Когда я меняю настройки виртуальной машины на мостовую сеть, сеть работает. Но бродяга настроен как NAT. Таким образом, любые изменения, которые я вношу в настройках или в бродячем файле, похоже, сбрасываются.

Я пробовал Vagrant 1.9.3, 1.9.2 и 1.9.0 на двух разных ПК. Я использую Virtualbox 5.1.18. Когда я фильтрую журналы с помощью «NAT», вижу следующие ошибки (это не полный журнал, а только небольшая часть):

00:00:00.575454 SUP: Loaded VMMR0.r0 (C:\Program     Files\Oracle\VirtualBox\VMMR0.r0) at 0xfffff80c897b0000 - ModuleInit at     fffff80c897d3590 and ModuleTerm at fffff80c897d3a80 using the native ring-0 loader
00:00:01.681747 Driver = "NAT" (cb=4)
00:00:01.962037 SUP: Loaded VBoxDDR0.r0 (C:\Program Files\Oracle\VirtualBox\VBoxDDR0.r0) at 0xfffff80c898d0000 - ModuleInit at         0000000000000000 and ModuleTerm at 0000000000000000 using the native ring-0 loader
00:00:02.196495 NAT: Guest address guess set to 10.0.2.15 by initialization
00:00:02.204465 NAT: DNS#0: 192.168.178.1
00:00:02.271317 NAT: Failed to redirect TCP 127.0.0.1:2222 -> 0.0.0.0:22 (Unknown error)
00:00:02.271732 NAT: Failed to redirect TCP 0.0.0.0:3307 -> 0.0.0.0:3306 (Unknown error)
00:00:02.272033 NAT: Failed to redirect TCP 0.0.0.0:2200 -> 0.0.0.0:80 (Unknown error)
00:00:09.976199 NAT: Link up
00:00:39.428974 NAT: DHCP offered IP address 10.0.2.15
00:00:39.429404 NAT: DHCP offered IP address 10.0.2.15
00:03:02.167191 NAT: DHCP offered IP address 10.0.2.15
00:03:02.167820 NAT: DHCP offered IP address 10.0.2.15
00:07:58.531621 NAT: Zone(nm:mbuf_cluster, used:0)
00:07:58.532221 NAT: Zone(nm:mbuf_packet, used:0)
00:07:58.532232 NAT: Zone(nm:mbuf, used:1)
00:07:58.532419 NAT: Zone(nm:mbuf_jumbo_pagesize, used:0)
00:07:58.532961 NAT: Zone(nm:mbuf_jumbo_9k, used:0)
00:07:58.533255 NAT: Zone(nm:mbuf_jumbo_16k, used:0)
00:07:58.533424 NAT: Zone(nm:mbuf_ext_refcnt, used:0)
00:07:58.536529 Changing the VM state from 'DESTROYING' to 'TERMINATED'

Как я могу это решить или отладить?

ОБНОВЛЕНИЕ

В последние пару дней я также повторил попытку с другой версией виртуального бокса и Vagrant, перечисленной ниже, без каких-либо результатов:

  • Virtualbox 5.0.18
  • Virtualbox 5.0.20
  • Virtualbox 5.0.36
  • Бродяга 1.9.3

Я также пробовал другую коробку, у которой такая же проблема. Так что вроде дело не в коробке, а в хозяине.

Кроме того, я попробовал выполнить установку на машине с Windows 7 с точно такими же результатами. Я думаю, что мне чего-то не хватает в конфигурации, но я не знаю, что именно, поскольку нет окончательного руководства, чтобы заставить это работать на машине с Windows.

ОБНОВЛЕНИЕ 2: Возможно ли, что машины, на которых я это пробую, не поддерживают такую ​​установку? Я попробовал поискать варианты виртуализации в BIOS.

ОБНОВЛЕНИЕ 3: когда я делаю ssh -v 127.0.0.1 -p 1222 с хоста на гостя, я получаю следующую ошибку. Служба SSH запущена и работает на гостевой машине. Я проверил с sshd service status.

$ ssh -v 127.0.0.1 -p 1222
OpenSSH_7.3p1, OpenSSL 1.0.2k  26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 127.0.0.1 [127.0.0.1] port 1222.
debug1: connect to address 127.0.0.1 port 1222: Connection refused
ssh: connect to host 127.0.0.1 port 1222: Connection refused

ОБНОВЛЕНИЕ 4: Я не могу проверить связь с IP-адресами или доменами в Интернете с гостевой машины.

ОБНОВЛЕНИЕ 5: РЕШЕНО! Перешел на Linux довольно давно. Лучшее решение на свете: D


person Akif    schedule 04.04.2017    source источник


Ответы (2)


Прежде всего, изменение первого интерфейса на NAT является нормальным поведением. Это требование, чтобы заставить бродягу работать.

Вы можете проверить две вещи: 1) настройки> сеть> нат-сеть. (настройки должны быть такими):

настройки сети

2) убедитесь, что виртуальный кабель подключен

подключен кабель

3) может ты попробуешь еще одну бродячую коробку.

person Thomas Detemmerman    schedule 04.04.2017
comment
Моя настроена на использование NAT, см. imgur.com/CAt5LPq.png. Также есть вариант NAT-сети. Но если я переключаюсь на это «бродяжничество», возникают ошибки. Мой второй ник тоже настроен. Как этот imgur.com/JP8qWCu.png. Другой бродячий бокс еще не пробовал. Но я знаю, что это работает. Мой коллега заставил это работать на своей машине с Linux. Кстати, предупреждение на скриншотах касается машины, использующей слишком много оперативной памяти. Ничего общего с сетью. - person Akif; 05.04.2017

Когда у меня возникает эта ошибка в Windows 10 Pro:

    ...
    homestead: SSH auth method: private key
Timed out while waiting for the machine to boot. ...
...

Я обнаружил, что все, что мне нужно сделать, это открыть графический интерфейс VirtualBox и выбрать виртуальную машину при выполнении этого в командной строке:

vagrant reload --provision

Если графический интерфейс закрыт, время ожидания повторяется, что приводит к ошибке, указанной выше.

Если графический интерфейс открыт, то процесс продолжается в обычном режиме без ошибок, и все начинает работать.

Я также обнаружил, что иногда после автоматической перезагрузки Windows на моем сетевом адаптере не установлен VirtualBox NDIS6 Bridged Networking Driver, и это также может вызывать эту ошибку.

Это можно исправить, открыв свойства сетевого подключения и нажав Install -> Service -> Oracle Corporation -> VirtualBox NDIS6 Bridged Networking Driver, чтобы установить драйвер.

Диалоги установки драйвера мостовой сети Windows 10 NDIS6

Он должен просто появиться в списке, без необходимости выполнять установку драйвера, но если вы каким-то образом никогда не устанавливали этот драйвер раньше, это может помочь вам в процессе установки драйвера.

В Windows типичный путь к папке с этим драйвером указан ниже. Вам, вероятно, не придется ничего устанавливать вручную, но в этом случае откройте эту папку, а затем Right-Click -> Install файл VBoxNetFlt.inf.

%ProgramFiles%\Oracle\VirtualBox\drivers\network\netflt

person DK_    schedule 09.06.2021