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

    Tunel IPSec no se mantiene levantado

    Scheduled Pinned Locked Moved Español
    18 Posts 4 Posters 3.2k 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.
    • J
      javcasta
      last edited by

      Hola.

      Sí, watchdog sólo vigila los servicios que se le añadan a monitorizar, no el estado de los túneles de IPSec (up/down).

      Esperamos tu solución de "convivencia" entre OpenVPN e IPSec.

      Por cierto el subforo de IPSec, por si buscando ahí, encuentras alguna solución:

      https://forum.pfsense.org/index.php?board=16.0

      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

        Probad este script y me contais si va bien (no tengo ahora un tunel IPSec para probar)

        El script se ejecutaria creando un cron (cada x horas) con la orden:

        /bin/sh /path/MonitorIPSEC.sh
        

        Donde path es la carpeta o rutas de carpetas, donde alojeis el script
        Y lo que haces es: monitoriza que si no hay ningún tunel IPSec levantado, entonces los levanta

        El código de MonIPSEC.sh

        
        #!/bin/sh
        # ref # https://forum.pfsense.org/index.php?topic=112463.0
        #########################
        # by @javcasta - 2016 https://javcasta.com/
        # MonitorIPSEC.sh
        # Create cron with: /bin/sh /path/MonitorIPSEC.sh ;every x hours
        #########################
        
        # Script to be executed via cron every x hours
        # Script para ser ejecutado vía cron cada x horas
        
        # Monitors that if there is no IPSec tunnel raised, then it raises them
        # monitoriza que si no hay ningún tunel IPSec levantado, entonces los levanta
        
        ISDOWN=0
        #If none conexion then UP conexions - Si no hay ninguna conexión, levantar conexiones
        ISDOWN=$(/usr/local/sbin/ipsec status | grep -c none)
        if [ $ISDOWN -eq 1 ]; then
        	for CONEXION in $(/usr/local/sbin/ipsec status | egrep "con[123456789]" | cut -d"{" -f1 | sort -u); do
        		/usr/local/sbin/ipsec up ${CONEXION}
        	done
        fi
        
        

        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
        • D
          donizt
          last edited by

          Funciona de PM. :-) ahora queda saber por que falla.

          1 Reply Last reply Reply Quote 0
          • D
            donizt
            last edited by

            Retiro no me funciona :-( he esperado al al fallo para ejecutar el script no va

            Esto es el ipsec status funcionando

            /usr/local/sbin/ipsec status
            Shunted Connections:
              bypasslan:  192.168.200.0/24|/0 === 192.168.200.0/24|/0 PASS
            Routed Connections:
                con2003{2615}:  ROUTED, TUNNEL, reqid 93
                con2003{2615}:  192.168.199.0/24|/0 === 192.168.240.0/24|/0
                con2002{2614}:  ROUTED, TUNNEL, reqid 92
                con2002{2614}:  192.168.200.0/24|/0 === 192.168.241.0/24|/0
                con2001{2613}:  ROUTED, TUNNEL, reqid 91
                con2001{2613}:  192.168.200.0/24|/0 === 192.168.240.0/24|/0
                con2000{2612}:  ROUTED, TUNNEL, reqid 90
                con2000{2612}:  192.168.201.0/24|/0 === 192.168.240.0/24|/0
                con4000{2611}:  ROUTED, TUNNEL, reqid 104
                con4000{2611}:  192.168.200.0/24|/0 === 192.168.229.0/24|/0
                con1000{2610}:  ROUTED, TUNNEL, reqid 7
                con1000{2610}:  192.168.200.0/24|/0 === 192.168.230.0/24|/0
            Security Associations (3 up, 0 connecting):
                con1000[56]: ESTABLISHED 2 hours ago, 192.168.1.10[oficina_madrid]…AA.BB.CC.DD[oscar_rozas]
                con1000{2587}:  INSTALLED, TUNNEL, reqid 7, ESP in UDP SPIs: c03d24d0_i c0ed72df_o
                con1000{2587}:  192.168.200.0/24|/0 === 192.168.230.0/24|/0
              ->  con4000[58]: ESTABLISHED 3 seconds ago, 192.168.1.10[oficina_madrid]…AA.BB.CC.DD[oscar_villanueva]
              ->  con4000{2618}:  INSTALLED, TUNNEL, reqid 104, ESP in UDP SPIs: cfcXXXXb_i c7XXXX1_o
              ->  con4000{2618}:  192.168.200.0/24|/0 === 192.168.229.0/24|/0
                con2000[57]: ESTABLISHED 92 minutes ago, 192.168.1.10[oficina_madrid]…AA.BB.CC.DD[oficina_nueva]
                con2001{2595}:  INSTALLED, TUNNEL, reqid 91, ESP in UDP SPIs: c5XXXX_i cd8XXXX_o
                con2001{2595}:  192.168.200.0/24|/0 === 192.168.240.0/24|/0
                con2000{2596}:  INSTALLED, TUNNEL, reqid 90, ESP in UDP SPIs: c4eXXXX9_i cXXXXf5_o
                con2000{2596}:  192.168.201.0/24|/0 === 192.168.240.0/24|/0
                con2002{2604}:  INSTALLED, TUNNEL, reqid 92, ESP in UDP SPIs: ccfXXXX_i c14XXXX4_o
                con2002{2604}:  192.168.200.0/24|/0 === 192.168.241.0/24|/0
                con2003{2605}:  INSTALLED, TUNNEL, reqid 93, ESP in UDP SPIs: c6eXXXX2a_i c6XXXX6_o
                con2003{2605}:  192.168.199.0/24|/0 === 192.168.240.0/24|/0

            Y esto cuando falla:

            /usr/local/sbin/ipsec status
            Shunted Connections:
              bypasslan:  192.168.200.0/24|/0 === 192.168.200.0/24|/0 PASS
            Routed Connections:
                con2003{2615}:  ROUTED, TUNNEL, reqid 93
                con2003{2615}:  192.168.199.0/24|/0 === 192.168.240.0/24|/0
                con2002{2614}:  ROUTED, TUNNEL, reqid 92
                con2002{2614}:  192.168.200.0/24|/0 === 192.168.241.0/24|/0
                con2001{2613}:  ROUTED, TUNNEL, reqid 91
                con2001{2613}:  192.168.200.0/24|/0 === 192.168.240.0/24|/0
                con2000{2612}:  ROUTED, TUNNEL, reqid 90
                con2000{2612}:  192.168.201.0/24|/0 === 192.168.240.0/24|/0
                con4000{2611}:  ROUTED, TUNNEL, reqid 104
                con4000{2611}:  192.168.200.0/24|/0 === 192.168.229.0/24|/0
                con1000{2610}:  ROUTED, TUNNEL, reqid 7
                con1000{2610}:  192.168.200.0/24|/0 === 192.168.230.0/24|/0
            Security Associations (3 up, 0 connecting):
                -> con4000[55]: ESTABLISHED 7 hours ago, 192.168.1.10[oficina_madrid]…AA.BB.CC.DD[oscar_villanueva]
                con1000[56]: ESTABLISHED 2 hours ago, 192.168.1.10[oficina_madrid]…AA.BB.CC.DD[oscar_rozas]
                con1000{2587}:  INSTALLED, TUNNEL, reqid 7, ESP in UDP SPIs: c03XXXX0_i c0XXXXdf_o
                con1000{2587}:  192.168.200.0/24|/0 === 192.168.230.0/24|/0
                con2000[57]: ESTABLISHED 91 minutes ago, 192.168.1.10[oficina_madrid]…AA.BB.CC.DD[oficina_nueva]
                con2001{2595}:  INSTALLED, TUNNEL, reqid 91, ESP in UDP SPIs: c5XXXXf7_i cd8XXXX9c_o
                con2001{2595}:  192.168.200.0/24|/0 === 192.168.240.0/24|/0
                con2000{2596}:  INSTALLED, TUNNEL, reqid 90, ESP in UDP SPIs: c4eXXXX_i cde1XXXX_o
                con2000{2596}:  192.168.201.0/24|/0 === 192.168.240.0/24|/0
                con2002{2604}:  INSTALLED, TUNNEL, reqid 92, ESP in UDP SPIs: ccfXXXX_i XXXX_o
                con2002{2604}:  192.168.200.0/24|/0 === 192.168.241.0/24|/0
                con2003{2605}:  INSTALLED, TUNNEL, reqid 93, ESP in UDP SPIs: c6eXXXX_i XXXX9e6_o
                con2003{2605}:  192.168.199.0/24|/0 === 192.168.240.0/24|/0

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

              Hola

              Cuando funciona, el status muestra:

              Security Associations (3 up, 0 connecting):

              Cuando falla, status muestra:

              Security Associations (3 up, 0 connecting):

              Es decir , lo mismo :). 3 conexiones levantadas y 0 conectando

              Por lo que veo usas 3 túneles, que pfSense denomina:

              con1000
              con2000
              con4000

              ¿Cual de los 3 falla, todos, uno, 2, …, la fase 2 sólo, por lo que veo en logs los túneles están UP? O.o

              Ahora no tengo túneles IPSec para hacer pruebas, en unos días me llega un box nuevo de pfSense y tengo que reestructurar mi red, pero implementaré IPSec y haré pruebas.

              Otra cosa que podrias intentar, es crear un cron cada x horas (o a ejecutar cuando menos tráfico vía tunel haya) que reinicie IPSec

              
              #!/bin/sh
              # by @javcasta - 2016
              # restart ipsec
              /usr/local/sbin/pfSsh.php playback svc stop ipsec
              /usr/local/sbin/pfSsh.php playback svc start ipsec
              sleep 90 # delay de 90sg para dar tiempo a IPSec a reiniciarse
              
              ISDOWN=0
              #If none conexion then UP conexions - Si no hay ninguna conexión, levantar conexiones
              ISDOWN=$(/usr/local/sbin/ipsec status | grep -c none)
              if [ $ISDOWN -eq 1 ]; then
              
              	for CONEXION in $(/usr/local/sbin/ipsec status | egrep "con[123456789]" | cut -d"{" -f1 | sort -u); do
              		/usr/local/sbin/ipsec up ${CONEXION}
              	done
              fi
              
              

              Pero lo ideal seria saber si caen todos los túneles, todo el servicio , uno, etc … hmmm, sin hacer pruebas reales estoy dando palos de ciego. Te vuelvo a remitir al doc https://doc.pfsense.org/index.php/IPsec_Troubleshooting

              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
                gts
                last edited by

                Hola,
                En esto soy nuevo. Me podéis indicar como poder subir ese  script o algún manual de como hacerlo.
                También quería comentar que la versión de PFsense que uso es la 2.2.1-RELEASE, es la misma que os pasa a vosotros o tenéis alguna mas avanzada?
                No se si hubiese alguna versión mas nueva que pueda corregir el problema.

                Un saludo.

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

                  Hola

                  En firewalls prefiero usar la ver más actualizada, para pfSense: 2.3.2_1 = 2.3.2-RELEASE-p1

                  Para crear un fichero en pfSense, puedes usar en Diagnostics > edit file (si no existe lo crea) copias y pegas el contenido y lo guardas con nombre y extension, lo puedes guardar en la raiz ( en / ) o en una carpeta. Para crear la carpeta /scripts , desde Diagnostics > command prompt > Execute shell command > mkdir /scripts , y luego puedes subir el fichero con Upload File o como citaba antes con copy/paste en edit file.

                  Pero, para mi  lo mejor es trabajar directamente con la shell (sshd enable) y usar el comando para copiar en remoto a local y de local a remoto: scp

                  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
                    gts
                    last edited by

                    Hola,
                    Gracias por la información que me has facilitado.
                    Me puedes dar la sintaxis del comando CRONTAB para programar la tarea cada cierto tiempo todos los dias del año.
                    Se puede meter el comando vía web o hay que hacerlo vía shell.

                    Un saludo.

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

                      Hola

                      @gts:

                      Hola,
                      Gracias por la información que me has facilitado.
                      Me puedes dar la sintaxis del comando CRONTAB para programar la tarea cada cierto tiempo todos los dias del año.
                      Se puede meter el comando vía web o hay que hacerlo vía shell.

                      Un saludo.

                      En pfSense para programar una tarea: Usa el paquete Cron (instalalo si no lo tienes instalado) y define los cron vía GUI. En el menú: Services > Cron

                      Nota: En un cron en pfSense cualquier comando o llamada a un script se debe indicar el path completo

                      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
                        gts
                        last edited by

                        Hola,
                        lo hemos subido pero nos ha tirado el túnel y al levantarlo manualmente había un problema, el túnel estaba funcionando pero no podíamos llegar desde una red a la otra. por dentro del túnel no dejaba trabajar.

                        Otra cosa, al actualizar la versión, este problema se corrige lo habéis comprobado. Voy a actualizar la versión por si funcionase mejor.
                        Para hacerlo, la versión de donde la bajo y lo puedo realizar en remoto?

                        Un saludo.

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

                          Hola

                          @gts:

                          Hola,
                          lo hemos subido pero nos ha tirado el túnel y al levantarlo manualmente había un problema, el túnel estaba funcionando pero no podíamos llegar desde una red a la otra. por dentro del túnel no dejaba trabajar.

                          Otra cosa, al actualizar la versión, este problema se corrige lo habéis comprobado. Voy a actualizar la versión por si funcionase mejor.
                          Para hacerlo, la versión de donde la bajo y lo puedo realizar en remoto?

                          Un saludo.

                          https://doc.pfsense.org/index.php/Upgrade_Guide

                          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

                            Hola

                            Tienes habilitado el

                            Dead Peer Detection - en Phase 1?

                            Papu!! :V

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

                              Hola,
                              si, lo tengo activado con la configuración siguiente:

                              10 seg
                              5 retries

                              un saludo.

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