El reenvío (NAT) al invitado de VBox Bridge no funciona

El reenvío (NAT) al invitado de VBox Bridge no funciona

La configuración que estoy tratando de lograr es la siguiente. Necesitamos poder acceder a una VM VBox desde nuestra IP pública. Actualmente tenemos un enrutador Linksys realmente malo, pero lo configuré para reenviar el puerto externo 8181 al puerto interno 192.168.1.230:8080 (Linux). 192.168.1.230 es mi máquina virtual invitada que actualmente se ejecuta en el host 192.168.1.6 (Linux).

Cuando apunto mi navegador, o hago wget desde la red interna en 192.168.1.230:8080, a la VM invitada, funciona perfectamente. Veo que la página web o la solicitud wget regresan.

Cuando señalo public_ip:8181, no funciona. Se carga para siempre y wget se bloquea sin respuesta de error. Un tcpdump en el invitado muestra que no hay ningún paquete entrante. Sin embargo, si cambio la dirección de reenvío del rango de puertos del invitado al host, funciona (hice un servidor netcat rápido en el host).

Tanto las iptables del anfitrión como las de los invitados están configuradas para aceptar todo en todas las cadenas. Entonces me pregunto si de alguna manera se está negando el hecho de que los paquetes provienen del enrutador. Cualquier consejo o ayuda sería muy apreciado. Configuración vagabunda a continuación.

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.define "odlVM" do |odlVM|
     odlVM.vm.box = "ubuntu/trusty64"
     config.vm.provider "virtualbox" do |v|
       v.customize ["modifyvm", :id, "--cpuexecutioncap", "50"]
       v.customize ["modifyvm", :id, "--memory", "2048"]
     end
     odlVM.vm.hostname = "odl-vm"
     odlVM.vm.network "public_network", bridge: "enp5s0f1"
     odlVM.vm.provision :shell, inline: $bootstrap_ubuntu
     odlVM.vm.provision :shell, inline: $install_java
     odlVM.vm.provision :shell, inline: $download_odl
    end
end

Respuesta1

Entonces lo descubrí. Me siento un poco tonto por no pensar en eso, pero la VM configuró la puerta de enlace predeterminada para que apunte al adaptador de puente y no al enrutador. Una vez que cambié eso, pude acceder a la VM desde la red externa.

información relacionada