我正在尝试在内部网络 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
然后您可以稍后运行一些 shell 配置程序来按照您想要的方式配置它们:
# 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; }'`"