Tengo un servidor (Debian Squeeze) con 1 tarjeta ethernet y 2 IP públicas estáticas (188.120.245.4 y 188.120.244.5).
Lo que quiero: configurar la caja virtual (Ubuntu) con acceso a través de IP estática (188.120.244.5).
Lo que estaba intentando:
- config.vm.forward_port - buena idea: configurar la interfaz "eth1: 1" con 188.120.244.5 en la máquina host y agregar al archivo Vagrant "config.vm.forward_port = hmm ..?"
- config.vm.network: hostonly, "188.120.244.5" - no funciona. Se creó una nueva interfaz en la máquina host con ip "188.120.244.1". Por supuesto, 188.120.244.1 IP no es mío y no puedo acceder a mi servidor a través de esta IP.
- config.vm.network: bridged - Estoy confundido sobre cómo funciona esto :)
Lo que tengo ahora: no funciona la configuración.
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
¿Cómo puedo acceder a la caja virtual a través de IP estática pública desde la red?
Estoy usando Oracle VM VirtualBox Manager 4.1.18 y Vagrant versión 1.0.3.
Gracias de antemano por su colaboración.
networking
routing
nat
vagrant
Numbata
fuente
fuente
Respuestas:
Desde la versión 1.3.0:
solo tiene que poner esta configuración en su Vagrantfile (documentación) :
Esta cosa vagabunda es realmente genial :-)
fuente
Después de dos semanas, resolví mi pregunta de esta manera:
El libro de cocina genera Vagrantfile a partir de la plantilla:
rebuild-iptables necesita generar y aplicar reglas de iptables:
Y:
Ahora, puedo instalar aplicaciones en la caja y conectarme a ellas a través de IP estática pública sin la configuración "port_forwarding" (como en VPS).
fuente
Lo que realmente necesita es una interfaz en puente con una IP estática. Desafortunadamente, vagabundo aún no admite esto (ver discusión aquí ).
En primer lugar, configure box_config.vm.network: bridged ya que necesita virtualbox para crear una interfaz en puente, y puede eliminar box_config.vm.network: hostonly.
Puede usar el aprovisionamiento de shell para reconfigurar la red con su IP, pero no puede modificar el archivo / etc / network / interfaces o la máquina virtual no podrá volver a funcionar si hace una parada vagabunda (al intentar hacerlo vagabundo intentará y reconfigura las interfaces de red, y muere si ha modificado ese archivo).
Entonces, la alternativa es crear un script en /etc/network/if-up.d/ que restablezca la IP para la interfaz. No es ideal, ¡pero aún no he encontrado una solución mejor!
Consulte las secciones relevantes de configuración a continuación. En el script bash, debe configurar la IP / máscara de red, la puerta de enlace y el DNS (y el número de interfaz, si el suyo es diferente, debería ser eth1 aunque si acaba de establecer un puente en Vagrantfile).
Entonces, la primera vez que vagabundea y crea la máquina virtual, crea un script /etc/network/if-up.d/custom-network-config que establece la configuración de IP, el enrutamiento y reinicia Apache (necesitará modifique esto si está utilizando otros servicios que dependen de la configuración de red) y establece DNS.
Luego, si vuelve a vagabundear cuando la VM ya existe (por ejemplo, después de hacer una parada vagabunda), todo lo que hace es reiniciar las interfaces de red para que el script se ejecute y la interfaz esté configurada (por alguna razón, descubrí que el script no fue pateado apagado cuando la VM se encendió y las interfaces aparecieron inicialmente, no estoy seguro de por qué).
Archivo vagabundo
vagrant-setup.sh
fuente