strongSwan bleift ënnen nom Peer-Neistart: een Tunnel erëmhuelen
Loosst de Daemon-Neistart. Setzt Initiatioun an DPD op d’Verbindung déi muss zréckkommen, da kontrolléiert no Numm a beweist den Service, net den Daemon.
De wäite Gateway startet nei, kënnt bannent enger Minutt zréck, an den lokalen strongSwan-Daemon leeft weider während den Tunnel nach ënnen ass. En Cron-Job dee no ESTABLISHED greppt an den Daemon nei startet wäert dat iergendwann zoudecken, an en wäert och all onverbonnen Tunnel op der Maschinn ënnerbriechen, während en vläicht deen een vermësst deen ausgefall ass. D’Erëmhuelen gehéiert zu der Verbindung déi muss zréckkommen, ausgedréckt an Astellungen déi en Reload iwwerliewen. Dës Runbook setzt dat fir eng eenzeg Verbindung op a beweist d’Resultat no Numm.
Loosst den globale Neistart, behält seng Beweiser
En Daemon-Neistart huet zwee konkreet Mängel: en zerstéiert den Zoustand vun all Verbindung, an en seet Iech näischt doriwwer wéi en Event tatsächlech ausgefall ass. Den Zoustandstext deen Dir greppt hutt kéint vun enger anerer Verbindung kommen, während de benötigt Child idel souz well näischt en ausgeléist huet.
Liest d’geluede Verbindungen an d’aktiv Associatiounen ier Dir eppes ännert, sou datt Dir e Bild virdrun hutt fir mat ze vergläichen nodeems de Peer zréck ass.
swanctl --list-conns
swanctl --list-sas
Setzt Initiatioun an Erëmversich op déi Verbindung déi zréckkënnt
An enger swanctl.conf-Installatioun liewen dës Astellungen um Verbindungs- an Child-Niveau an net an enger globaler Politik. De Fragment hei drënner ass en Beispill vun der Initiatoren-Säit deen unhëlt datt Proposen, Authentifikatioun an Selektoren schonn richteg sinn.
connections {
branch {
keyingtries = 0
dpd_delay = 30s
children {
private-lan {
start_action = trap|start
dpd_action = restart
}
}
}
}
start_action entscheet wat geschitt wann de Child geluede gëtt: start fänkt direkt un, wärend trap eng Politik installéiert déi d’Initiatioun ausléist wann entspriechend Trafik opdaucht. trap|start ze schreiwen brauch strongSwan 5.9.6 oder méi nei, also kontrolléiert d’Versioun ier Dir d’Linn kopéiert. dpd_action=restart freet no enger neier Verhandlung soubal de Peer fir dout erkläert gëtt, an keyingtries=0 op Verbindungsniveau erlaabt weider Versich bis zum Erfolleg oder engem permanente Fehler. Ënner IKEv2 huet dpd_timeout guer keen Effekt, well déi gewéinlech Erëmverschécken entscheet wéini de Peer net äntwert.
D’Verzögerung an deem Beispill ass en Ausgangspunkt an net eng universell Frist. Wielt se no wéi laang de Neistart vum Peer dauert an wéi vill Erëmverschécken Dir sidd bereet ze halen.
Wësst vun wéi engem Event Dir erëmhuelen
Dräi Feeler gesi gläich aus op engem Dashboard a brauchen ënnerschiddlech Astellungen. Eng initial Verbindung déi ni eropkomm ass ass e Konfiguratiouns- oder Erreechbarkeetsproblem. E Peer deen opgehalen huet ze äntweren ass de DPD-Fall. E Child deen de Peer explizit zougemaach huet ass en Politik-Event mat sengem eegene close_action, deen DPD ni observéiert. D’Log ronderëm den Ausfall liesen seet Iech wéi eng vun den dräi Dir hutt, an d’Äntwert ännert d’Reparatur.
Füügt keng aggressiv Erëm-Initiatioun bei enger Verbindung déi d’Operateure bewosst fir Maintenance zoumaachen, soss erschéngt den Tunnel an der Mëtt vum Fenster erëm. Fir On-Demand-Designen duerch e behalen trap, well entspriechend Trafik de Child ouni en Timer erëm opbaut.
Kontrolléiert no Numm, net no Daemon-Status
Liest d’Verbindung an hire Child no Numm wärend de Peer nach ënnen ass, an dann nach eng Kéier wéi en zréckkënnt; den Ënnerscheed tëschent dësen zwou Ausgaben ass de Beweis.
swanctl --initiate --child private-lan
swanctl --terminate --ike branch
Da bestätegt den Service an net d’Associatioun. Eng frësch Child-Sécherheetsassociatioun plus eng erfollegräich Ufro un d’privat Destinatioun hannendrun sinn dat Faktenpaar dat zielt, an en lafenden Daemon mat engem gesonden onverbonnen Tunnel beweist keng vun deenen zwee.
Wann de Child ni initiéiert, kontrolléiert ob den Testtraffic genee mat de konfiguréierte Selektoren iwwerenee kënnt, Protokoll a Port abegraff. Wann en initiéiert a feelt, liest den Authentifikatiouns- oder Proposenfehler amplaz en hannert enger endloser Schläif ze verstoppen, well keyingtries=0 eng permanent Oflehnung gär fir ëmmer widderhëlt.
Luet d’Ännerung an engem Fenster a test nach eng Kéier
Reload ass sécherer wéi den Daemon nei ze starten, an et ass awer net gratis: en Child ersetzen oder entlueden kann eng gestart Associatioun zoumaachen oder säin trap fale loossen.
Luet während engem Maintenance-Fenster, behält déi viregt Datei, a bestätegt datt d’Verbindung mat den Astellungen déi Dir gemengt hutt erschéngt an net mat Standardwäerter.
swanctl --load-conns
swanctl --list-conns
Rollt zréck andeems Dir déi viregt Datei restauréiert an se erëm luet, da widderhëlt déiselwecht zwee Kommandos. En Tunnel deen eréischt no engem Daemon-Neistart zréckkënnt ass net reparéiert, en ass zréckgesat.