内部ネットワーク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; }'`"