Vagrantを使用してプライベートネットワークインターフェイスに複数のIPアドレスを設定する

Vagrantを使用してプライベートネットワークインターフェイスに複数のIPアドレスを設定する

内部ネットワークVagrantインターフェイスでIPv4およびIPv6アドレスを設定しようとしていますが、設定できません。

構成は次のとおりです。

  config.vm.network "private_network", 
      ip: "192.168.30.10",
      ip: "fd::10",
      virtualbox__intnet: true,
      bridge: "eth1"
  config.vm.network "private_network",
      ip: "192.168.40.10",
      virtualbox__intnet: true,
      bridge: "eth2"

理想的には、リンクローカルアドレスを手動で設定したいのですが、仮想マシンの起動時にエラーが発生します。これでプライベートIPv6アドレスを使用できるようになりました。自動設定をオフにして仮想マシンの内部に設定する唯一の方法ですか?

答え1

君は絶対できる自動構成の無効化次の属性を使用してくださいauto_config

Vagrant.configure("2") do |config|
  config.vm.network "private_network", ip: "192.168.30.10",
    auto_config: false
end

その後、後でいくつかのシェル構成プログラムを実行して、必要な方法で構成できます。

  # default router
  config.vm.provision "shell",
    run: "always",
    inline: "route add default gw 192.168.0.1"

  # default router ipv6
  config.vm.provision "shell",
    run: "always",
    inline: "route -A inet6 add default gw fc00::1 eth1"

  # delete default gw on eth0
  config.vm.provision "shell",
    run: "always",
    inline: "eval `route -n | awk '{ if ($8 ==\"eth0\" && $2 != \"0.0.0.0\") print \"route del default gw \" $2; }'`"

関連情報