Estoy ejecutando una aplicación web en el puerto 8080. El servidor que ejecuta esta aplicación también debe tener una VPN saliente conectada en todo momento. Estoy usando OpenVPN en Ubuntu 20.
Una vez que la VPN está conectada, ya no puedo acceder a la aplicación web, por ejemplo enhttps://nombredeservidor.com:8080
Supongo que esto se debe al enrutamiento. El servidor web responde a mi navegador a través de la VPN, lo que hace que mi navegador cancele la conexión porque la respuesta difiere de la solicitud de envío.
¿Hay alguna manera en la tabla de enrutamiento o algo que pueda solucionar esto? De alguna manera, si se envía una solicitud directamente a mi servidor web, ¿responderá fuera de la VPN y volverá a través de la NIC normal?
Respuesta1
Esto es factible pero no trivial de implementar.
Lo que necesita implementar es un "enrutamiento basado en políticas" (enrutamiento basado en fuente), que generalmente implica configurar una segunda tabla de enrutamiento y luego usar iptables para marcar los paquetes para que salgan en la tabla apropiada.
Aquí hay un enlace para hacerlo con netplan:https://serverspace.io/support/help/multiple-network-interfaces-ubuntu-20-04/que parece la nueva forma de implementar esto.
Dependiendo de "por qué una VPN y $$$", puede ser más fácil obtener una VPN que le proporcione una IP estática y garantice que su aplicación web se vincule a todas las interfaces. Por supuesto, esto significa que todo el tráfico provendrá de "su" IP VPN y será rastreable hasta esa IP... lo que puede ser o no un problema para su caso de uso.