我在Vagrantfile中使用以下行创建了一个hostonly网络
config.vm.network :hostonly, "10.1.1.15"
Run Code Online (Sandbox Code Playgroud)
我可以看到它设置了/ etc/network/interfaces文件
#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
auto eth1
iface eth1 inet static
address 10.1.1.15
netmask 255.255.255.0
#VAGRANT-END
Run Code Online (Sandbox Code Playgroud)
但是,当我运行ifconfig时,我只看到eth0和lo设备.为什么vagrant没有为eth1设置设备?解决这个问题的解决方案是什么?
好吧,经过一些挖掘,我找到了解决方案.
如果重要,这里有一些关于我的环境的细节:
Ubuntu 12.10
Vagrant 1.0.3 install from the Ubuntu repos using apt-get
Virtualbox 4.1.24 downloaded from the virtualbox website
Run Code Online (Sandbox Code Playgroud)
据我所知,我使用过的盒子有这个问题(来自vagrantup.com的exact32以及来自vagrantbox.es的64个盒子)正在运送/ etc/udev中设置的一些规则/rules.d/70-persistent-net.rules文件.这些通常在每次启动时更新,但由于某种原因,这种情况不会发生.这导致诸如eth1之类的设备(通常用于在vagrant中设置hostonly网络)永远不会被设置,并且操作系统不认为它已配置.
您可以删除文件中的相关规则或只删除该文件.然后重新启动,问题应该修复.每当你做一个流浪汉摧毁或创建一个新的流浪汉VM,你将不得不这样做.但是,感谢#vagrant freenode频道上的simonmcc指出一个更永久的修复.
您可以删除该文件而无需重新启动,然后执行vagrant包以这种方式重新打包该框.否则,从头开始创建自己的盒子(使用veewee或不使用veewee)并确保正确设置此文件然后打包它.
| 归档时间: |
|
| 查看次数: |
1069 次 |
| 最近记录: |