O que você realmente precisa é de uma interface em ponte com um IP estático. Infelizmente, o vagrant ainda não suporta isso (veja a discussão aqui ).
Primeiramente, defina box_config.vm.network: colmatado, já que você precisa do virtualbox para criar uma interface em ponte, e você pode remover o box_config.vm.network: hostonly.
Você pode usar o provisionamento de shell para reconfigurar a rede com seu IP, mas não pode modificar o arquivo / etc / network / interfaces ou a VM não poderão voltar se você fizer uma parada vagrant (fazer o vagrant up tentará reconfigurar as interfaces de rede e morrerá se você tiver modificado esse arquivo). br>
Então, a alternativa é criar um script em /etc/network/if-up.d/ que reconfigure o IP da interface. Não é o ideal, mas ainda não encontrei uma solução melhor!
Veja as seções relevantes da configuração abaixo. No script bash, você deve definir o IP / máscara de rede, gateway e DNS (e o número da interface, se o seu é diferente, deve ser eth1, embora se você acabou de definir uma bridged no Vagrantfile).
Então, a primeira vez que você faz o vagrant e cria a VM, ele cria um script /etc/network/if-up.d/custom-network-config que define a configuração de IP, roteamento e reinicia o apache (você precisará modifique isso se estiver usando outros serviços que dependem da configuração de rede) e defina o DNS.
Então, se você fizer vagrant up novamente quando a VM já existir (por exemplo, depois de parar o vagrant) tudo o que ele faz é reiniciar as interfaces de rede para que o script seja executado e a interface configurada (por algum motivo, descobri que o script não foi kickado desligado quando a VM foi ligada e as interfaces surgiram inicialmente - não tenho certeza do porquê).
Vagrantfile
config.vm.network :bridged
config.vm.provision :shell, :path => "vagrant-setup.sh"
vagrant-setup.sh
#!/bin/bash
ip="188.120.244.5/24"
gateway=""
dns="8.8.8.8"
#####################
# NEW VM
#####################
if [ ! -f /etc/network/if-up.d/custom-network-config ]; then
cat >/etc/network/if-up.d/custom-network-config <<EOL
#!/bin/bash
if [ "\$IFACE" != "eth1" ]; then
exit 0
fi
ifconfig eth1 down
ifconfig eth1 ${ip} up
route del default
route add default gw ${gateway} dev eth1
service apache2 restart
EOL
cat >/etc/resolv.conf <<EOL
nameserver ${dns}
EOL
chmod +x /etc/network/if-up.d/custom-network-config
/etc/init.d/networking restart
#####################
# EXISTING VM
#####################
else
/etc/init.d/networking restart
fi