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

      Doc de pfSense sobre problemas y su resolución en IPsec:

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

      Si el problema fuese que el servicio IPsec cae, con el paquete watchdog, se le pueden añadir servicios para ser monitorizados y si se encuentras caidos los levante watchdog

      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

        La cosa es mas "jodida" el watchdog ni se entera por que el servicio esta levantado y funciona (los otros tuneles van bien)

        No estoy todavía en disposición de dar mas información por que sigo analizando los log. Y me esta costando encontrar el fallo.

        En mi caso lo único que he descubierto es el el open-vpn tiene algo que ver. Si paro los server open-vpn el ipsec no cae, pero las redes ipsec y openvpn no tienen absolutamente nada que ver.

        En los log y en la configuración no he encontrado todavía nada que explique por que pasa eso, tengo todavía que recabar mucha mas información antes.

        En mi caso tengo la sospecha de que las rutas que se propagan por ospf entre los tuneles open-vpn puedan hacer algún conflicto con el ipsec. Pero por ahora no es mas que una sospecha.

        Lo he comentado por si ha gts le podia ayudar a acotar el problema.

        Cuando encuentre de donde viene el fallo lo posteare. Un saludo

        1 Reply Last reply Reply Quote 0
        • 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.