• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse

    Es posible establecer una VPN punto a punto sin "abrir" puertos?

    Programado Fijo Cerrado Movido
    Redes y almacenamiento
    vpn openvpn port forwarding
    2
    4
    3.4k
    Cargando más mensajes
    • Más antiguo a más nuevo
    • Más nuevo a más antiguo
    • Mayor número de Votos
    Responder
    • Responder como tema
    Accede para responder
    Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.
    • rul3sR
      rul3s Veteranos HL
      Última edición por

      Hola compañeros,
      Vereis, en un proyecto que estoy haciendo, necesito de una VPN que comunica un PC (Servidor) y un Android (Cliente), con el software/protocolo OpenVPN.

      Lo tengo todo funcionando, pero, tengo un GRAN handicap con el tema de abrir el puerto al PC (Servidor) ya que cada vez la cosa esta mas chunga entre CG-NAT, firewalls empresariales, etc...

      Actualmente los usuarios de mi sistema que por lo que fuera no podian abrir/redireccionar el puerto, se compraban un modem usb 3g/4g y aire, pero ultimamente ya ni por estas ya que toda la red MasMovil ya no dispone de IP publica para conexiones mobile y algunas SIM's de Vodafone empiezan a hacerlo tambien, a pesar de tener los APN bien configurados.
      Un claro ejemplo es que tengo un Modem 3G + SIM vodafone + configuracion APN que siempre me da IP PUBLICA y en cambio meto la sim vodafone de un usuario y nada, detras de un NAT, no hay manera de obtener ip publica, y en una tarde de locura me dio por llamar al servicio tecnico pero bueno, ya os podeis imaginar, 1 hora perdida intentando explicar para que lo unico que me decian era venderme el paquete de "ip fija".

      En definitiva, una solucion pasaria por alquilar servidores VPS y hacer una red triangular, donde el servidor fuera el VPS y los clientes el PC y el Smartphone, pero eso conlleva grandes pegas:

      • Mayor coste (Alquiler de VPS + trafico generado)
      • Menor velocidad y mayor latencia que en punto a punto
      • Cambios en la infraestructura del sistema

      Entonces estaba yo pensando a ver si es que se me esta escapando alguna solucion que no tenga contemplada, si hay ALGUNA manera de hacer una VPN punto a punto sin necesidad de abrir/redireccionar puertos.

      Asi, sin tener ni idea, estaba pensando en algo tipo, el servidor lanza una peticion hacia el cliente para que el NAT quede a la espera de la respuesta del cliente (que obviamente no va a contestar porque no recibira la peticion, pero que un servidor le diera un toque al cliente para que justo en ese momento intentase la conexion y como estaria el NAT a la espera de la respuesta, pues que la pudiera recibir. QUizas lo que digo es una locura, o quizas no, pero ya no se que mas intentar y/o probar.

      Obviamente si IPv6 estubiera ya bien desplegado se acabarian los problemas pero como siempre, vamos a la ultima en tecnologia.

      Un saludo y perdonad por el santo tocho que os he dejado aqui para reflexionar.

      MAIN: Ryzen7 3800X + RTX2070Super + Asus x470 StrixF + KFA2 HOF 16GB DDR4 4000 + NVMe Samsung 970 EvoPlus 500GB + Samsung 850Pro 512GB + Samsung 860QVO 2TB + Asus Xonar STX + Phanteks Enthoo Pro M Se + Seasonic Focus+ 650W

      LAPTOP: Asus Strix G531GT Intel i5 9300H + GTX1650 4GB + 16GB DDR4 2666 (8x2) + NVMe 256GB + 1TB HDD

      hlbm signature

      1 Respuesta Última respuesta Responder Citar 0
      • krampakK
        krampak Global Moderator
        Última edición por krampak

        No es mi tema, pero buscando información creo que la solución va por algo llamado Hole punching si quieres buscar más.

        https://github.com/samyk/pwnat

        Hole punching is a technique in computer networking for establishing a direct connection between two parties in which one or both are behind firewalls or behind routers that use network address translation (NAT). To punch a hole, each client connects to an unrestricted third-party server that temporarily stores external and internal address and port information for each client. The server then relays each client's information to the other, and using that information each client tries to establish direct connection; as a result of the connections using valid port numbers, restrictive firewalls or routers accept and forward the incoming packets on each side.

        Yo la única VPN que tengo montada es a través del propio firewall (sonicwall) con su propia aplicación para clientes Windows/Linux/Android.

        Mi Configuración
        hlbm signature

        rul3sR 1 Respuesta Última respuesta Responder Citar 2
        • rul3sR
          rul3s Veteranos HL @krampak
          Última edición por

          @krampak dijo en Es posible establecer una VPN punto a punto sin "abrir" puertos?:

          No es mi tema, pero buscando información creo que la solución va por algo llamado Hole punching si quieres buscar más.

          https://github.com/samyk/pwnat

          Hole punching is a technique in computer networking for establishing a direct connection between two parties in which one or both are behind firewalls or behind routers that use network address translation (NAT). To punch a hole, each client connects to an unrestricted third-party server that temporarily stores external and internal address and port information for each client. The server then relays each client's information to the other, and using that information each client tries to establish direct connection; as a result of the connections using valid port numbers, restrictive firewalls or routers accept and forward the incoming packets on each side.

          Yo la única VPN que tengo montada es a través del propio firewall (sonicwall) con su propia aplicación para clientes Windows/Linux/Android.

          Efectivamente yo tambien he dado con esta tecnica, resulta que es lo que hace, por ejemplo, Teamviewer. Estoy haciendo pruebas ya, tanto si me funciona como si no ya os voy informando.

          Saludos!

          MAIN: Ryzen7 3800X + RTX2070Super + Asus x470 StrixF + KFA2 HOF 16GB DDR4 4000 + NVMe Samsung 970 EvoPlus 500GB + Samsung 850Pro 512GB + Samsung 860QVO 2TB + Asus Xonar STX + Phanteks Enthoo Pro M Se + Seasonic Focus+ 650W

          LAPTOP: Asus Strix G531GT Intel i5 9300H + GTX1650 4GB + 16GB DDR4 2666 (8x2) + NVMe 256GB + 1TB HDD

          hlbm signature

          1 Respuesta Última respuesta Responder Citar 2
          • rul3sR
            rul3s Veteranos HL
            Última edición por

            Voy a actualizar este tema con los resultados "temporales" obtenidos.

            En efecto gracias a la tecnica del UDP HOLE PUNCHING he podido connectar conectar un servidor y un cliente de VPN sin necesidad de abrir puertos, pero hay un PERO.

            Como bien sabreis ultimamente a los ISP les ha dado por poner CG-NAT, el cual es una ENORME PUTADA, ya que la tecnica del UDP HOLE PUNCHING no funciona bajo un CG-NAT ya que hace un PORT RANDOMIZE y entonces el Source Port del servidor VPN cambia a cada conexion que hace, por ejemplo.

            Si tengo un PC con el servidor VPN en el puerto 1194 UDP y detras de un CG-NAT, al lanzar paquetes hacia otro equipo seguramente ese 1194 sale del CG-NAT por otro puerto, el cual NO SABEMOS ya que aplica un PORT RANDOMIZE y quizas acaba saliendo por el 55123.

            He probado a usar un 3r servidor donde el "server vpn" manda unos paquetes para poder descubrir el SRC PORT tras el CG-NAT, pero claro, esa asignacion a la espera de respuesta queda solo para ese 3r servidor, a la que el cliente intenta conectar por ese agujero el CG-NAT bloquea la conexion ya que no era el destinatario original, pues en eso consiste el HOLE PUNCHING.

            Tenéis alguna idea o conocéis algun procedimiento para "saltar" esta barrera? Se que es posible pedir a la compañia que nos saque del CG-NAT, pero, eso no es una opcion valida porque al final el que correra el servidor VPN puede que este incluso detras de una conexion de movil compartida, donde no hay manera de abrir/redireccionar puertos tampoco.

            Se que lo que pido es bastante complejo, pero bueno, nunca se sabe donde puede dar uno con la solución!

            Un saludo.

            P.D: @krampak te cito por si acaso 🙂

            MAIN: Ryzen7 3800X + RTX2070Super + Asus x470 StrixF + KFA2 HOF 16GB DDR4 4000 + NVMe Samsung 970 EvoPlus 500GB + Samsung 850Pro 512GB + Samsung 860QVO 2TB + Asus Xonar STX + Phanteks Enthoo Pro M Se + Seasonic Focus+ 650W

            LAPTOP: Asus Strix G531GT Intel i5 9300H + GTX1650 4GB + 16GB DDR4 2666 (8x2) + NVMe 256GB + 1TB HDD

            hlbm signature

            1 Respuesta Última respuesta Responder Citar 3
            • FassouF Fassou locked this topic on
            • 1 / 1
            • First post
              Last post

            Foreros conectados [Conectados hoy]

            0 usuarios activos (0 miembros e 0 invitados).
            febesin, pAtO,

            Estadísticas de Hardlimit

            Los hardlimitianos han creado un total de 543.3k posts en 62.8k hilos.
            Somos un total de 34.7k miembros registrados.
            sridharpat ha sido nuestro último fichaje.