IPsec Phase 2 verschwunden

Started by uneu, December 01, 2023, 01:55:57 PM

Previous topic - Next topic
Hallo zusammen,

nach dem letzten Update lief es erst einmal ohne Probleme.
Nach einem Neustart sind bei einer VPN-Verbindung die Phase2-Einträge verschwunden.

Kennt jemand das Problem und eventuell auch die Lösung dazu?

Schau mal in deiner config.xml nach ob dort alles drinsteht wie erwartet:

less /conf/config.xml

<Swanctl version="1.0.0">
</Swanctl>


Wenn ja schau ob der template reload richtig funktioniert:

configctl template reload OPNsense/IPsec
Anwort sollte: OK sein.

Wenn es ERR ist schaue in die configd logs was der Fehler ist:

tail -f /var/log/configd/latest.log


Danach schaue in die Swanctl Datei ob die Template alles generiert hat.


less /usr/local/etc/strongswan.d/swanctl.conf


Hardware:
DEC740

Hallo Monviech,

in der "config.xml" sieht der Abschnitt von "Swanctl" so aus:

<Swanctl version="1.0.0">
      <Connections/>
      <locals/>
      <remotes/>
      <children/>
      <Pools/>
      <VTIs/>
      <SPDs/>
    </Swanctl>

Bei "configctl template reload OPNsense/IPsec" kam die Antwort "OK".

Und "less /usr/local/etc/strongswan.d/swanctl.conf" erzeugte folgende Meldung:

swanctl {

    # Plugins to load in swanctl.
    # load =

    # VICI socket to connect to by default.
    # socket = unix://${piddir}/charon.vici

}

/usr/local/etc/strongswan.d/swanctl.conf (END)

Muss wohl alles komplett neu eintragen, korrekt?



December 02, 2023, 08:50:30 AM #3 Last Edit: December 02, 2023, 08:57:05 AM by Monviech
Sieht so aus als ob deine Config komplett leer ist. Wenn du eine Sicherung von deiner config.xml hast versuche mal das IPSec daraus wieder einzuspielen.

EDIT: Wenn du der Meinung bist, dass es ein Bug und kein Benutzerfehler war, dann mache einen Report auf Github auf der ungefähr wiederspiegelt was dir da passiert ist.

Das einfach so alle Daten verloren gehen aus einem Core Plugin ist mir noch nie so passiert. Dass selbst die Config.xml leer ist, in dem swanctl Bereich, ist schon sehr merkwürdig. Das muss nämlich eigendlich explizit ein Löschbefehl machen, entweder per API oder per GUI vom Benutzer.

Das einzige was ich mir erklären kann ist, dass vielleicht ein Migration Skript falsch gelaufen ist? Oder halt Fehler im Dateisystem sodass eine alte Version der Datei wiederhergestellt wurde? Ich weiß nicht.
Hardware:
DEC740

Ich muss meine anfänglich Fehlerbeschreibung etwas anpassen.
Alle Einträge zu Phase 1 und Phase 2 sind in der Config.xml unter "<ipsec></ipsec>" vorhanden.

Ich habe hier 5 IPsec-Verbindungen konfiguriert.
Drei sind IKEv2 (OPNsense<->OPNsense) und zwei sind IKEv1 (OPNsense<->Fritzbox).

Unter "Lease Status" wird eine bestehende Verbindung zu allen fünf gegenstellen angezeigt.
Daten werden allerdings nur zu den zwei IKEv1-Verbindungen übertragen.

Unter "Datenbank Sicherheitszuordnung" und "Datenbank Sicherheitsregelwerk" werden auch nur
die besagten IKEv1-Verbindungen angezeigt.

Von meiner Seite wurde an den Konfigurationen keine Änderung vorgenommen, sonder nur das Update eingespielt. Lief auch alles sauber weiter bis zum Neustart am 1. Dezember.

Ich habe eine alte "Config.xml" vom August 2023 untersucht,
welche unter dem Abschnitt "<Swanctl></Swanctl> genauso aussieht, wie in der letzten "Config.xml".

Vielleicht hilft dir diese Beschreibung etwas, um das Problem weiter einzugrenzen.
Falls du noch eine Idee hast, bin um jeden Tip dankbar.

December 02, 2023, 05:27:07 PM #5 Last Edit: December 02, 2023, 05:29:16 PM by Monviech
Ah okay du benutzt noch die alte IPsec GUI und nicht die neue "Connections" GUI die swanctl benutzt.

Eigendlich müssen alle diese IPsec Verbindungen auch in der swanctl.conf gespeichert sein.

Schau nochmal die Konfigurationsdatei an ob dort die IPsec Verbindungen richtig hinterlegt sind:

cat /usr/local/etc/swanctl/swanctl.conf

(Ich hatte oben ausversehen die Service Konfigurationsdatei angegeben, das war falsch von mir. Diese Datei ist die richtige.)
Hardware:
DEC740

Hallo Monviech,

die "swanctl.conf" sieht auch gut aus.

Werde heute Nacht mal alle Verbindungen deaktivieren und nur bei einer versuchen den Fehler zu finden.

Habe etwas bei den verwendeten Public IP-Adressen bemerkt. Seite A wird von Seite B noch mit einer alten
IP-Adresse angesprochen. Seite A verwendet eine dynamische IP und Seite B eine feste IP.

Bisher gab es dabei jedenfalls keine Probleme.


Die Konfiguration vom "ddclient" war der Übeltäter.

Ich bin durch den Protokollvergleich auf die unterschiedlichen IP-Adressen für Seite A gestoßen.
Letztendlich hatte sich die Konfiguration vom "Dynamischen DNS" irgendwie selbstständig gemacht,
was zur fehlenden Aktualisierung führte. Konfiguration gespeichert, das war´s.

Monviech, nochmals vielen Dank für deine Hilfe. Hast einen Glühwein gut bei mir






Nehm ich dankend an, freut mich dass du das Problem gefunden hast.  ;D
Hardware:
DEC740