我在Windows 10上使用Hyper V遇到了很多Vagrant 2.0.1方面的困难。
当我执行vagrant up时,我会收到一个ipv6地址。由于厨师无法访问该地址,因此无法完成虚拟机的配置:
Bringing machine 'default' up with 'hyperv' provider...
==> default: Verifying Hyper-V is enabled...
==> default: Configured startup memory is 2048
==> default: Configured cpus number is 2
==> default: Importing a Hyper-V instance
default: Cloning virtual hard drive...
default: Creating and registering the VM...
default: Setting VM Integration Services
default: Successfully imported a VM with name: vargrant-dev-source
==> default: Installing Chef cookbooks with Librarian-Chef...
==> default: Auto-generating node name for Chef...
==> default: Starting the machine...
==> default: Waiting for the machine to report its IP address...
default: Timeout: 120 seconds
default: IP: fe80::215:5dff:fe02:f5a
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: fe80::215:5dff:fe02:f5a:22
default: SSH username: vagrant
default: SSH auth method: private key
... Eventually times out here ....
我使用以下命令设置了一个NAT交换机:
New-VMSwitch –SwitchName “NATSwitch” –SwitchType Internal
New-NetIPAddress –IPAddress 172.21.21.1 -PrefixLength 24 -InterfaceAlias "vEthernet (NATSwitch)"
New-NetNat –Name MyNATnetwork –InternalIPInterfaceAddressPrefix 172.21.21.0/24
有趣的是,我第一次设置虚拟机交换机时所有内容都运行正常,我得到了一个有效的IPV4地址,一切都很好。但是,重新启动虚拟机后,虚拟机只能获取IPV6地址,我无法访问在重启前创建的现有IPV4地址。
我的Vagrant文件:
Vagrant.configure("2") do |config|
config.vm.provider "hyperv"
config.vm.box = "maxx/ubuntu16"
config.vm.boot_timeout = 2000
config.vm.network "private_network", ip: "172.21.21.2"
... general config omitted.
end
我尝试了DHCP和静态IP,但似乎都无法成功。静态IP似乎完全被忽略了。您有什么想法我可能漏掉或做错了什么吗?(我正在使用WiFi连接,如果这有关的话)