Vagrant / virtualbox没有SSH连接和超时(Windows)

问题描述 投票:6回答:1

我试图设置这台机器: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.

当我手动启动VM时,我可以看到网络无法正常工作。没有联系。当我将VM的设置更改为桥接网络时,网络确实有效。但是流浪者被配置为NAT。因此,我在设置或vagrant文​​件中所做的任何更改似乎都会重置。

我在两台不同的PC上尝试了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'

我该如何解决或调试呢?

UPDATE

最近几天我还尝试使用下面列出的不同版本的virtualbox和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服务已在guest虚拟机上启动并运行。我查了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:我无法ping客户机上的任何互联网IP或域。

更新5:解决了!现在切换到Linux已经有一段时间了。有史以来最好的决定:D

vagrant virtualbox nat
1个回答
2
投票

首先,将第一个接口更改为NAT是正常行为。这是为了使流浪工作的要求。

您可以检查两件事:1)首选项>网络> nat-network。 (设置应该是这样的):

network settings

2)确保你的虚拟电缆已连接

cable connected

3)也许你可以尝试另一个流浪盒。

© www.soinside.com 2019 - 2024. All rights reserved.