Isso não resolveu, mas sim contornou o problema:
Eu atribuí igb0
no host a todos os IPs com /32
network-mask, em vez das VMs e à ponte atribuída0 o IP privado 10.0.0.1/24
, a interface vtnet0
na VM é atribuída 10.0.0.2
com um gateway padrão de 10.0.0.1
e eu crio um binat usando pf.
O rc.conf
no host é assim:
ifconfig_igb0="inet X.X.X.146 netmask 255.255.255.0 broadcast X.X.X.255"
defaultrouter="X.X.X.254"
ifconfig_igb0_alias0="inet Y.Y.Y.176/32"
ifconfig_igb0_alias1="inet Y.Y.Y.177/32"
ifconfig_igb0_alias2="inet Y.Y.Y.178/32"
ifconfig_igb0_alias3="inet Y.Y.Y.179/32"
cloned_interfaces="bridge0"
ifconfig_bridge0="inet 10.0.0.1/24"
E o pf.conf
no host:
vm_if1 = "Y.Y.Y.176"
vm_if2 = "Y.Y.Y.177"
vm_if3 = "Y.Y.Y.178"
vm_if4 = "Y.Y.Y.179"
slave = "10.0.0.4"
binat on igb0 from $slave to any -> $vm_if1
nat on igb0 from bridge0:network to any -> (igb0)
As VMs rc.conf
são realmente fáceis:
ifconfig_vtnet0="10.0.0.2 netmask 255.255.255.0"
defaultrouter="10.0.0.1"
Agora, sempre que provisiono uma nova VM, ela precisa de um IP dentro do intervalo 10.0.0.0/24
e preciso ajustar os hosts pf.conf
.