流浪私网固定ip

Vagrant private network fixed ip

我试图设置一些具有固定 IP 专用网络的 VM。我正在使用 vagrant-libvirt 提供商。下面是我的Vagrantfile.

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.ssh.insert_key = false
  config.vm.synced_folder '.', '/vagrant', disabled: true
  config.vm.define "vagrant1" do |vagrant1|
    vagrant1.vm.box = "debian/jessie64"
    vagrant1.vm.network "private_network", ip:"10.1.1.11", auto_config: false
  end
  config.vm.define "vagrant2" do |vagrant2|
    vagrant2.vm.box = "debian/jessie64"
    vagrant2.vm.network "private_network", ip:"10.1.1.12", auto_config: false
  end
  config.vm.define "vagrant3" do |vagrant3|
    vagrant3.vm.box = "debian/jessie64"
    vagrant3.vm.network "private_network", ip:"10.1.1.13", auto_config: false
  end
end

我期待看到 3 个虚拟机具有由我的 ip 设置指定的固定 IP。但是当我启动我的机器时 (vagrant up --provider=libvirt),私有网络接口从来都不是我设置的那个。

例如,我希望 vagrant1 具有 10.1.1.11 作为 IP。相反,它有时会变成 10.1.1.15。有时 10.1.1.56 否则

我的设置有什么问题?

版本

看起来是 vagrant issue with newer Debian, which has changed to systemd for network configurations. It is not related to vagrant-libvirt

旧版本的 vagrant 主机脚本仍然假定网络配置是以旧方式完成的。因此,即使您的 vagrant 配置正确,来宾 OS 脚本也无法执行所需的网络配置。

较新版本的 vagrant 应该已经修复了这个问题,但 Ubuntu 18.04 LTS 上没有。

所以解决方案是:

  • 升级你的流浪汉;或
  • 使用非 debian 主机 OS 框。