vagrant public_network 自定义静态 ip配置方法

Vagrant 创建虚拟化开发环境

Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。

 


这篇文章是为大家讲解的是vagrant扩展public_network让vagrant可以自定义静态ip

Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。

其实解决方法也不是没有,只是要修改vagrant的源代码,加一些扩展代码上去

好吧,在那里加扩展代码呢?

我的操作系统ubuntu,大家可能有在window下面安装的。。都不管了。。。

1.找到我们的vagrant安装目录:我的安装目录是

/opt/vagrant/

2.然后修改以下路径的配置文件,注意哦,以下路径是我本机的安装路径

/opt/vagrant/embedded/gems/gems/vagrant-1.2.4/plugins/providers/virtualbox/action/network.rb

找到这个方法  def bridged_network_config(config)  这是一个ruby的方法定义,修改这个方法,添加扩展代码

修改前:

def bridged_network_config(config)
  return {
    :type => :dhcp,
    :use_dhcp_assigned_default_route => config[:use_dhcp_assigned_default_route]
  }
end

修改后:

def bridged_network_config(config)
  if config[:ip]
              options = {
                  :auto_config => true,
                  :mac         => nil,
                  :netmask     => "255.255.255.0",
                  :type        => :static
              }.merge(config)
              options[:type] = options[:type].to_sym
              return options
  end
  return {
    :type => :dhcp,
    :use_dhcp_assigned_default_route => config[:use_dhcp_assigned_default_route]
  }
end

好了,这样就修改成功了。。

看回Vagrantfile这份文件:

我们应该怎么使用呢?添加了扩展代码,我想大家都知道开启public_network是怎么写配置文件,下面我写出添加了扩展代码自定义ip的配置文件写法,也非常简单,具体代码

  config.vm.network :public_network,ip:"192.168.9.111"

修改完成后,不要忘记

vagrant reload
posted @ 2017-01-10 22:04  sky10001  阅读(4918)  评论(0编辑  收藏  举报