我将
vagrant
与 Ubuntu 14.04
和 libvirt/KVM
一起使用。
当我创建虚拟机时,Vagrant 在
NIC
范围内添加默认 192.168.121.0/24
(管理网络)。我不想使用这个网络范围。是的,我们可以在虚拟机启动后修改/删除,但是,我想知道Vagrantfile
中是否有任何选项可以更改或删除默认网络。我知道如何添加公共或专用网络和配置。
Vagrant-lbvirt 在 libvirt 中创建虚拟网络用于管理虚拟机。它的默认名称是 vagrant-libvirt,默认使用 192.168.121.0/24 范围内的 IP。
该网络使用的名称和地址可在提供商级别进行配置。
management_network_name - 所有虚拟机都将连接到的 libvirt 网络的名称。如果未指定,默认为“vagrant-libvirt”。
management_network_address - 所有虚拟机将连接到的网络地址。必须包含地址和子网掩码。如果未指定,默认值为“192.168.121.0/24”。
management_network_guest_ipv6 - 启用或禁用访客到访客 IPv6 通信。
在此处了解更多信息 https://github.com/pradels/vagrant-libvirt#management-network .
要更改默认网络,您需要在 libvirt 中指定的位置定义新网络
<domain name='my_network'/>
<ip address='192.168.77.1' netmask='255.255.255.0'>
之后添加行
libvirt.management_network_name = 'my_network'
libvirt.management_network_address = '192.168.77.0/24'
进入提供商部分。整个提供商部分的示例:
config.vm.provider "libvirt" do |libvirt|
#use the storage pool named external
#libvirt.storage_pool_name = "external"
libvirt.driver = "kvm"
libvirt.memory = 1024
libvirt.cpus = 1
libvirt.management_network_name = 'my_network'
libvirt.management_network_address = '192.168.77.0/24'
end
建议的答案解释了如何更改网络,但对于问题的第二部分:
删除默认网络
您可以使用这样的片段:
Vagrant.configure("2") do |config|
...
config.vm.provider "libvirt" do |cfg|
cfg.mgmt_attach = false
end
...
end
然后,您必须为所有虚拟机或按虚拟机声明专用网络。