Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Alta disponibilidad tunel IPsec

    Scheduled Pinned Locked Moved Español
    14 Posts 4 Posters 2.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      matiweertz
      last edited by

      Estimados buenas tardes, les comento mi situación.

      Tengo dos sucursales conectadas por una MPLS. He configurado un túnel IPsec que viaja por medio de la MPLS de mi ISP, a su vez tengo otro túnel IPsec configurado por la WAN de cada sucursal. La idea es que cuando se corta el enlace MPLS las sucursales puedas seguir conectadas por medio del túnel que depende de las WAN.

      Mi problema es que cada vez que se corta la MPLS debo deshabilitar un túnel y habilitar el otro para restablecer la conectividad.

      Hay alguna manera de hacer esto automáticamente?

      Saludos

      1 Reply Last reply Reply Quote 0
      • J
        javcasta
        last edited by

        Hola.

        Yo  implemetaria un script, ya sea en bash o en php-cli con un algoritmo similar a

        Sí ping No Ok a  destinoX vía tunel1 entonces  túnel1 down y túnel 2 up
        Sí ping No Ok a  destinoY  vía tunel2 entonces tunel2 down y túnel 1 up

        Y definiría un Cron para el script a ejecutarse cada x intervalo

        Salu2

        Javier Castañón
        Técnico de comunicaciones, soporte y sistemas.

        Mi web: https://javcasta.com/

        Soporte scripting/pfSense https://javcasta.com/soporte/

        1 Reply Last reply Reply Quote 0
        • J
          javcasta
          last edited by

          Hola

          Aunque si no te gusta liarte con scripting,  probaría  a tener los dos túneles up y usar fail over (load balancing  no creo que funcione con túneles IPSEC ), creando un gateway para cada túnel en system > routing,  y luego un gateway groups,  y definiendo el disparador del evento trigger level como member down, dando prioridad tier1  al gw del túnel mpls y tier5 al de la wan

          Salu2

          – añadido ---

          Aunque parece que no es tan sencillo lo de fail over con IPSEC

          https://forum.pfsense.org/index.php?topic=111294.msg621622#msg621622

          Javier Castañón
          Técnico de comunicaciones, soporte y sistemas.

          Mi web: https://javcasta.com/

          Soporte scripting/pfSense https://javcasta.com/soporte/

          1 Reply Last reply Reply Quote 0
          • J
            javcasta
            last edited by

            Hola

            Un script para comprobar si IPSEC no presenta conexiones de tuneles (none) y si es así  relanzar IPSEC

            #!/bin/bash
            #########################
            # MonitorIPSEC.sh
            # Crear cron con
            # /bin/sh /scripts/MonitorIPSEC.sh
            #########################
            ISDOWN=$(/usr/local/sbin/ipsec status | grep -c none)
            if [ $ISDOWN -eq 1 ]; then
            # reiniciamos ipsec
            /usr/local/sbin/pfSsh.php playback svc stop ipsec
            /usr/local/sbin/pfSsh.php playback svc start ipsec
            fi
            
            

            No lo he probado, pero puedes investiga el comando:

            /usr/local/sbin/ipsec
            

            /usr/local/sbin/ipsec –help
            ipsec command [arguments]

            Commands:
                    start|restart [arguments]
                    update|reload|stop
                    up|down|route|unroute <connectionname>down-srcip <start>[<end>]
                    status|statusall [<connectionname>]
                    listalgs|listpubkeys|listcerts [–utc]
                    listcacerts|listaacerts|listocspcerts [–utc]
                    listacerts|listgroups|listcainfos [–utc]
                    listcrls|listocsp|listplugins|listall [–utc]
                    listcounters|resetcounters [name]
                    leases [ <poolname>[

            <address>]]
                    rereadsecrets|rereadcacerts|rereadaacerts
                    rereadocspcerts|rereadacerts|rereadcrls|rereadall
                    purgecerts|purgecrls|purgeike|purgeocsp
                    scepclient|pki
                    starter|stroke
                    version
            </address></poolname></connectionname></end></start></connectionname>

            Para implementar script.

            Salu2

            Javier Castañón
            Técnico de comunicaciones, soporte y sistemas.

            Mi web: https://javcasta.com/

            Soporte scripting/pfSense https://javcasta.com/soporte/

            1 Reply Last reply Reply Quote 0
            • gersonofstoneG
              gersonofstone
              last edited by

              No creo que un scrip sea una buena solución, he notado que cuando el servicio php-fms.. creo que se llama así toda la configuración web deja de funcionar y sólo quedaba funcionado los servicios que están cargados en la ram, pfsnede depende totalmente de php y ngix y si algo le pasa a ellos la soluciones es ir a la consola a reiniciarlo, esos errores son poco habituales pero afectan bastante,

              He tenido problemas en los que estas en alta disponibilidad configurados con carp y pfsyns, pero los que está en modo stonealone no he visto este comportamiento

              Sugiero humildemente quitar una vpn q viaja en un mpls y enrutaarla atravez de rutas estéticas y que en las reglas de cada fw se configures gateway con prioridad para que sea una confirmación más transparente

              Papu!! :V

              1 Reply Last reply Reply Quote 0
              • J
                javcasta
                last edited by

                Hola

                No he entendido muy bién que no es confiable un script en pfSense.

                pfSense se basa en scripting en php, sh y bash. Y una webGUI… y por debajo corriendo la potencia de FreeBSD y pf e ipfw...

                Por ejemplo, el menú que te aparece en consola es /etc/rc.initial

                Y para reiniciar el webconfigurartor y php-fm vía shell o scripting las ordenes o invocaciones a los cripts que lo hacen son:

                /etc/rc.restart_webgui
                /etc/rc.php-fpm_restart

                Respecto a lo de los túneles IPSEC, controlarlos vía scripting, se puede hacer, otra cosa es hacer un script óptimo y crear su cron y que funcione… :)

                A mi personalomente en scripting me basta con que funcione, jaja. De todas formas solo daba ideas, no me he puesto a "currarme" un monitor de IPSEC con varios túneles y según un tunel esté down levantar otro... imagino que hasta nos pagarian si nos lo encargasen ;)

                Salu2

                Javier Castañón
                Técnico de comunicaciones, soporte y sistemas.

                Mi web: https://javcasta.com/

                Soporte scripting/pfSense https://javcasta.com/soporte/

                1 Reply Last reply Reply Quote 0
                • J
                  javcasta
                  last edited by

                  Hola

                  Por cierto, muy interesante la doc de pfSense sobre el tema IPSEC Multi-Wan:

                  https://doc.pfsense.org/index.php?title=Special%3ASearch&profile=default&search=ipsec+multi-wan&fulltext=Search

                  IPSEC Multi-WAN Environments
                  When using Multi-WAN (Multiple WAN Connections), pick the appropriate Interface choice for the WAN-type in-
                  terface to which the tunnel will connect. If the connection will enter via WAN, pick WAN. If the tunnel will use a
                  different WAN, choose whichever OPT WAN interface is needed. A static route will automatically be added to ensure
                  that the traffic to the Remote Gateway routes through the appropriate WAN.
                  A gateway group may also be chosen from this list. A gateway group to be used with IPsec must only have one gateway
                  per tier.
                  When using a gateway group, if the first gateway goes down, the tunnel will move to the next available WAN
                  in the group
                  . When the first WAN comes back up, the tunnel will be rebuilt there again. If the far side router is one
                  that does not support multiple peer addresses, such as another pfSense unit, this must be combined with a DynDNS
                  host set using the same gateway group for failover.
                  The DynDNS host will update the IP address as seen by the far
                  side, so that the remote router will know to accept traffic from the newly activated WAN.

                  Salu2

                  Javier Castañón
                  Técnico de comunicaciones, soporte y sistemas.

                  Mi web: https://javcasta.com/

                  Soporte scripting/pfSense https://javcasta.com/soporte/

                  1 Reply Last reply Reply Quote 0
                  • M
                    matiweertz
                    last edited by

                    Gracias por las respuestas!!

                    La realidad es que necesito encontrar la manera de poder monitorear los túneles ya sea IPSEC o OPENVPN.

                    Hoy en día cuando se cae un túnel debo cambiarlo hacer el cambio manualmente.

                    El problema es que no entiendo mucho de scripting como para hacerlo de esa manera.

                    Saludos

                    1 Reply Last reply Reply Quote 0
                    • J
                      javcasta
                      last edited by

                      Hola

                      La solución ya te la da la doc de pfSense:

                      https://doc.pfsense.org/index.php?title=Special%3ASearch&profile=default&search=ipsec+multi-wan&fulltext=Search

                      IPSEC Multi-WAN Environments
                      When using Multi-WAN (Multiple WAN Connections), pick the appropriate Interface choice for the WAN-type in-
                      terface to which the tunnel will connect. If the connection will enter via WAN, pick WAN. If the tunnel will use a
                      different WAN, choose whichever OPT WAN interface is needed. A static route will automatically be added to ensure
                      that the traffic to the Remote Gateway routes through the appropriate WAN.
                      A gateway group may also be chosen from this list. A gateway group to be used with IPsec must only have one gateway
                      per tier. When using a gateway group, if the first gateway goes down, the tunnel will move to the next available WAN
                      in the group. When the first WAN comes back up, the tunnel will be rebuilt there again. If the far side router is one
                      that does not support multiple peer addresses, such as another pfSense unit, this must be combined with a DynDNS
                      host set using the same gateway group for failover. The DynDNS host will update the IP address as seen by the far
                      side, so that the remote router will know to accept traffic from the newly activated WAN.

                      Fail over.

                      Salu2

                      Javier Castañón
                      Técnico de comunicaciones, soporte y sistemas.

                      Mi web: https://javcasta.com/

                      Soporte scripting/pfSense https://javcasta.com/soporte/

                      1 Reply Last reply Reply Quote 0
                      • M
                        matiweertz
                        last edited by

                        Claro esa solución seria ideal si yo tuviera los dos túneles configurados por interfaces WAN ya que en ese caso si no sale por una sale por la otra.

                        Pero no es mi escenario, yo tengo un túnel vía WAN to WAN y el otro vía MPLS to MPLS. no tengo forma de configurar un gateway group con la WAN y la MPLS

                        Saludos

                        1 Reply Last reply Reply Quote 0
                        • J
                          javcasta
                          last edited by

                          Hola

                          Con túneles IPSEC wan/mpls failover no encuentro un caso práctico.

                          Pero sí con openVPN:

                          MPLS failover / same destination via different gateways

                          https://forum.pfsense.org/index.php?topic=110414.msg621276#msg621276

                          Y aquí parece que alguien sabe como, con IPSEC:

                          https://forum.pfsense.org/index.php?topic=73063.msg398501#msg398501
                          @marcelloc:

                          @kapara:

                          Yes I do.  Do you have experience with setting this up?

                          I've did some failover scripts to enable ipsec while mpls is offline and change gateway to link B while gateway A is offline.

                          Is something like that you need?

                          I can also assist you to configure instructions jimp post about it on the other thread of yours.

                          Salu2

                          Javier Castañón
                          Técnico de comunicaciones, soporte y sistemas.

                          Mi web: https://javcasta.com/

                          Soporte scripting/pfSense https://javcasta.com/soporte/

                          1 Reply Last reply Reply Quote 0
                          • G
                            Gernupe
                            last edited by

                            Nunca hice esto con pfsense, pero lo mas logico seria ruteo dinamico, se que pfsense tiene los demonios de BGP y OSPF.

                            Dejas que las dos puntas del tunel manejen por donde van, si un tunel se cae, cambian los ruteos automatico.

                            1 Reply Last reply Reply Quote 0
                            • M
                              matiweertz
                              last edited by

                              Gracias por las respuestas pero la realidad es que no tengo tantos conocimientos como para configurar eso.

                              Alguno de ustedes puede darme una mano con este tema? Estamos dispuestos a pagar un soporte para solucionar esto de la manera que sea.

                              Saludos

                              1 Reply Last reply Reply Quote 0
                              • J
                                javcasta
                                last edited by

                                Hola

                                https://www.pfsense.org/get-support/

                                Salu2

                                Javier Castañón
                                Técnico de comunicaciones, soporte y sistemas.

                                Mi web: https://javcasta.com/

                                Soporte scripting/pfSense https://javcasta.com/soporte/

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post
                                Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.