Eu tenho um servidor (Debian Squeeze) com 1 placa Ethernet e 2 IPs estáticos públicos (188.120.245.4 e 188.120.244.5).
O que eu quero: Configurar caixa virtual (Ubuntu) com acesso via IP estático (188.120.244.5).
O que eu estava tentando:
- config.vm.forward_port - boa idéia: configure a interface "eth1: 1" com 188.120.244.5 na máquina host e adicione ao arquivo Vagrant "config.vm.forward_port = hmm ..?"
- config.vm.network: hostonly, "188.120.244.5" - não está funcionando. Foi criada nova interface na máquina host com ip "188.120.244.1". É claro que o IP 188.120.244.1 não é meu e não consigo acessar meu servidor por esse IP.
- config.vm.network: bridged - Estou confuso como isso funciona :)
O que tenho agora: Configuração não funcionando.
Debian-host-machine# cat Vagrantfile
Vagrant::Config.run do |config|
config.vm.define :gitlab do |box_config|
box_config.vm.box = "ubuntu"
box_config.vm.host_name = "ubuntu"
box_config.vm.network :bridged
box_config.vm.network :hostonly, "188.120.244.5", :auto_config => false
end
end
Debian-host-machine# ifconfig
eth1 Link encap:Ethernet HWaddr 00:15:17:69:71:bb
inet addr:188.120.245.4 Bcast:188.120.247.255 Mask:255.255.248.0
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
vboxnet0 Link encap:Ethernet HWaddr 0a:00:27:00:00:00
inet addr:188.120.244.1 Bcast:188.120.246.255 Mask:255.255.255.0
Ubuntu-virtual-machine# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:ee:8d:0c
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
eth1 Link encap:Ethernet HWaddr 08:00:27:45:71:87
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
Como posso acessar a caixa virtual via IP estático público da rede?
Estou usando o Oracle VM VirtualBox Manager 4.1.18 e Vagrant versão 1.0.3.
Agradecemos antecipadamente por seus comentários.
networking
routing
nat
vagrant
Numbata
fonte
fonte
Respostas:
Desde a liberação 1.3.0:
você só precisa colocar essa configuração no seu Vagrantfile (documentação) :
Essa coisa do Vagrant é realmente ótima :-)
fonte
Após duas semanas, resolvi minha pergunta da seguinte maneira:
O livro de receitas gera o Vagrantfile a partir do modelo:
O rebuild-iptables precisa gerar e aplicar regras do iptables:
E:
Agora, posso instalar aplicativos na caixa e conectar-se a eles através de IP estático público sem a configuração "port_forwarding" (como no VPS).
fonte
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: bridged conforme você precisa do virtualbox para criar uma interface em ponte e você pode remover 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á voltar se você fizer uma interrupção vaga (fazer uma tentativa vaga e reconfigure as interfaces de rede e ela morrerá se você tiver modificado esse arquivo).
Portanto, a alternativa é criar um script em /etc/network/if-up.d/ que redefine 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 / netmask, o gateway e o DNS (e o número da interface, se o seu for diferente, deve ser eth1, se você acabou de criar um conjunto de pontes no Vagrantfile).
Portanto, na primeira vez em que você se torna vago e cria a VM, ele cria um script /etc/network/if-up.d/custom-network-config que define a configuração do IP, o roteamento e reinicia o apache (você precisará modifique isso se estiver usando outros serviços que dependem da configuração de rede) e define o DNS.
Então, se você vagar novamente quando a VM já existir (por exemplo, depois de interromper vagamente), tudo o que faz é reiniciar as interfaces de rede para que o script seja executado e a interface seja configurada (por algum motivo, achei que o script não foi chutado) desligado quando a VM foi ligada e as interfaces surgiram inicialmente - não sei por que).
Vagrantfile
vagrant-setup.sh
fonte