![¿Cómo enrutar todas las conexiones desde una máquina (Linux) a través de una VPN en otra (Windows) en VMWare ESXi?](https://rvso.com/image/1552361/%C2%BFC%C3%B3mo%20enrutar%20todas%20las%20conexiones%20desde%20una%20m%C3%A1quina%20(Linux)%20a%20trav%C3%A9s%20de%20una%20VPN%20en%20otra%20(Windows)%20en%20VMWare%20ESXi%3F.png)
Tengo un problema particular en el que un software solo se puede ejecutar en Linux pero debe conectarse a un servidor remoto a través de un cliente VPN que solo se puede ejecutar en Windows.
Con hardware físico, supongo que podría pasar un cable Ethernet entre la caja de Linux y la caja de Windows, y un segundo desde la caja de Windows hasta el enrutador. (No tengo idea si esto funcionaría, pero parece que debería funcionar).
¿Cómo podría lograr esto en un hipervisor VMWare ESXi usando dos máquinas virtuales?
Encontré algunos artículos que pueden ayudarme, pero me gustaría tener un poco de experiencia en el tema.
https://www.privateinternetaccess.com/forum/discussion/1389/pia-tunnel-a-virtual-machine-vpn-tunnel
https://www.privateinternetaccess.com/forum/discussion/21459/pia-and-vmware-worsktation
https://protechgurus.com/configure-lan-routing-windows-server-2016/
- https://redmondmag.com/articles/2015/04/23/windows-server-as-a-network-router.aspx
Respuesta1
Por mucho que esté de acuerdo en que es una mala idea, parece convencido de que es la mejor solución para sus circunstancias. Personalmente, optaría por recopilar todos los distintos clientes VPN. Con eso dicho...
En primer lugar, debe habilitar el enrutamiento y el acceso remoto en la máquina con Windows que ejecuta el cliente VPN. El enlace 'configurar redondeo de LAN' que tiene debería llevarlo a ese punto.
Luego, debe configurar una ruta que dirigirá el tráfico de sus redes/hosts VPN a través de la interfaz prevista (el adaptador VPN). Si no sabe qué tráfico, puede utilizar una ruta predeterminada que enrutará todo el tráfico. Una vez que haya configurado eso en su cuadro de Windows, deberá configurar la dirección de puerta de enlace predeterminada en el cuadro de Linux para que sea la dirección IP para el adaptador LAN en el cuadro de Windows.
Si bien puede configurar el enrutamiento en Windows usando la línea de comando, podría ser un poco más fácil comenzar si usa una herramienta GUI como Nirsoft NetRouteView:
https://www.nirsoft.net/utils/network_route_view.html
Asegúrate de ejecutar esto como administrador, de lo contrario terminarás con dolores de cabeza;) Te permitirá ver/editar/eliminar rutas existentes y crear otras nuevas. Para su información, si tiene más de una ruta predeterminada (0.0.0.0), la ruta con la métrica más baja es la ruta que tiene prioridad. Por lo tanto, es posible que tengas que ajustar las métricas de tus rutas en consecuencia.
Si se trata de una configuración permanente o de uso frecuente, puede dejar el cuadro de Linux configurado como está y agregar rutas adicionales en el cuadro de Windows para manejar el tráfico a varios túneles VPN. Cuando hagas que tus rutas sean "persistentes", se guardarán mediante un reinicio. Las rutas que no son persistentes se pierden cuando se reinicia la máquina. También puede especificar el adaptador (interfaz) para las rutas cuando las configura. Por ejemplo, puede configurar rutas para VPN-A y VPN-B y cuando VPN-A está conectada y VPN-B no, la ruta para VPN-B esencialmente se ignorará y el tráfico se enrutará a través de VPN-A.
Respuesta2
La situación que encontró el cartel es el requisito de conectarse a varios clientes suyos mediante VPN. Recibe el software VPN de los clientes, software casi siempre destinado a ser utilizado en Windows. Desafortunadamente, su programa fue escrito y se ejecuta en Linux.
La solución solicitada por el cartel es usar una máquina virtual de Windows para actuar como enrutador de la VPN, ejecutando así el cliente VPN en Windows y conectándose a él desde el host de Linux.
Esta solución no funcionará en todos los casos, ya que muchas empresas tienen la mala costumbre de hacer que su VPN sea obligatoria, de modo que la VM conectada quedará aislada de la red host y no podrá enrutar las solicitudes. (Afortunadamente, ningún firewall puede desconectar el escritorio de la VM del VMWare que se ejecuta en el host).
Una posible solución es utilizar un cliente Linux para la VPN. La mayoría de los clientes VPN para Linux son gratuitos, pero incluso si no, el cliente pagó por el producto y, por lo tanto, puede conseguirle el cliente Linux si realmente insiste. Esta es, con diferencia, la solución más sencilla.
Una segunda solución es invertir la arquitectura. Sugiero conseguir una computadora con Windows e instalar en ella los distintos clientes VPN. Luego, el programa Linux se puede instalar en una máquina virtual Linux que utilizará la red del host. Esta solución funcionará incluso para una VPN obligatoria.
Una tercera solución se basa en el hecho de que los hipervisores modernos ahora admiten hipervisores integrados, que es un hipervisor que se ejecuta en una máquina virtual. Esta arquitectura es un poco descabellada e implica que su Linux aloje una máquina virtual Windows con su hipervisor integrado ejecutando una máquina virtual Linux integrada que contiene su producto. Esta solución también funcionará incluso para una VPN obligatoria, pero tendrás que sopesar sus ventajas y desventajas. Podría obligarlo a utilizar otro producto VMWare distinto del que está utilizando actualmente. Admito no saber si esta solución es realmente factible.