我的公司正在使用VirtualBox Hostmanager作为我们的Vagrant提供商 . 我们有 plenty 个不同的项目,每个项目都有自己的设置,所以我们最终得到了一个包含Vagrant内容的各种元项目:

  • projectA/

  • projectB/

  • projectC/

在每个项目中,我们有一个布局,如:

projectA/ 
    puppet/
    src/        # project's source, not part of meta-project, auto-created
    Puppetfile
    Vagrantfile

src/ 由Vagrant配置创建,并从其自己的VCS项目中检出 . 因此,如果在 projectB 上工作,您只需转到该文件夹 vagrant up (启动或创建所需的计算机,如果需要,检查源,在您的计算机上设置www.projectB.dev主机条目,您就可以了) ,你工作,然后 vagrant haltvagrant destroy . 一切都很好 .

问题是VirtualBox 's DHCP server (which provides the dynamic IP address for each box) gives out a really short lease (like, a day or two). As not every project is being worked daily, those machines aren' t更新他们的租约,我最终得到 /etc/hosts ,如:

172.28.128.4    projectA # used
172.28.128.3    projectB
172.28.128.5    projectC
172.28.128.4    projectD # reused :(

这对我的情况并不理想,因为它在一段时间后变得难以管理,特别是对于非网络性的前端人员 .

那么,有没有办法解决这个问题,要么通过改变VirtualBox DHCP服务器上的租用时间,要么改变客户端(基本框总是一个自定义的CentOS 6版本)?我可以在每个项目中使用静态IP路由,但是当它打开另一个蠕虫时,我就像是最后的手段 .