’n Gelaaide strongSwan-profiel is nie ’n aktiewe tonnel nie
strongSwan laai definisies en onderhandel daarna IKE- en CHILD-SA's. Dat ’n profiel gelaai is, sê niks daaroor of ’n tonnel bestaan of wie dit begin nie.
Om ’n verbinding in die strongSwan-konfigurasie te lys, bewys net dat ’n definisie gelaai is. Dit beteken nie dat die eweknie gekontak is nie, dat ’n IKE-SA bestaan nie, of dat enige verkeer beskerm word nie. Die daemon hanteer definisies en lewende assosiasies as aparte objekte, en die afstand tussen hulle is ’n doelbewuste ontwerpkeuse. Om te weet watter objek jy ondersoek, verander ’n vae fout in ’n spesifieke volgende opdrag.
Laai is nie verbind nie
’n Gelaaide verbinding is ’n stelling oor wat later onderhandel kan word: eweknie-adresse, geloofsbriewe, voorstelle en verkeerskeerders. Niks in daardie stelling vereis dat die daemon iemand geskakel het nie. ’n Gateway kan op die ander kant wag, by die opstart self inisieer, of wag dat passende verkeer hom wakker maak. Al drie is geldig, en al drie lyk identies in die konfigurasielêer totdat jy die beginbeleid lees.
Operateurs beland in die moeilikheid deur die definisielys as ’n statuslys te lees. Die profiel is daar, dus word die tonnel as op aanvaar, en die volgende uur gaan in die ontfouting van roetes vir ’n assosiasie wat nooit gebou is nie.
Die teenoorgestelde fout kom net so gereeld voor. ’n Ontbrekende profiel stuur mense op soek na ’n netwerkfout terwyl die konfigurasie nooit gelaai is nie. Noem die objek en voer dan die opdrag uit wat dit waarneem.
Drie objekte, drie waarnemings
strongSwan hou ’n gelaaide definisie, ’n IKE-SA en ’n CHILD-SA. Die eerste is konfigurasie, die tweede ’n geauthentiseerde beheerverhouding, en die derde onderhandelde beskerming vir geselekteerde verkeer. Hulle het selfs aparte name, so ’n profiel met die naam hq kan ’n kind met die naam hq-lan hê.
Die tabel koppel elke laag aan die opdrag wat dit wys. Lees die ry voordat jy die log lees.
| Layer | What it contains | Command |
|---|---|---|
| Definition | Peer addresses, credentials, proposals, and traffic selectors | swanctl --list-conns |
| IKE SA | One authenticated control channel to the peer | swanctl --list-sas |
| CHILD SA | Keys and selectors for the traffic being protected | Child rows under the IKE SA |
Om die kind op te vra, bou eers sy ouer-IKE-SA as daar geen is nie. Om net die IKE-SA op te vra, is ’n ander oproep. ’n Beheerkanaal wat netjies authentiseer, waarborg nie die kind wat jy opgevra het nie.
Daardie verskil maak saak tydens ’n gedeeltelike fout. ’n IKE-SA kan gesond wees terwyl die kind faal op ’n keurder-verskil of ’n voorstel wat die eweknie nie sal aanvaar nie. Die twee objekte faal om verskillende redes, daarom verdien hulle aparte waarnemings.
Kies die beginaksie doelbewus
In swanctl.conf bepaal ’n kind se start_action die gedrag ná die laai. Die verstek none laat die definisie vir handmatige inisiasie of responder-gebruik. start skakel dit, terwyl trap ’n beleid laat wat onderhandel sodra passende verkeer opdaag.
Dus is beide 'laai begin nooit ’n tonnel nie' en 'laai begin altyd een' verkeerd. Die aksie is deel van die profiel, en dit moet by die eweknie se rol pas. Twee gateways wat albei op die ander kant wag, lewer stilte, nie ’n tonnel nie.
Met trap moet die verkeer by die keurders pas, so ’n onverwante ping sal niks wakker maak nie. Met start moet die eweknie-adres bruikbaar wees en albei kante moet oor outentisering en voorstelle saamstem. Nie een van die aksies vervang die kontrole van daardie voorwaardes nie.
Herstel is ’n aparte beleid
Opstart is nie ’n keepalive nie. Dooie-eweknie-opsporing, duidelike sluiting deur die eweknie, hersleuteling en ’n prosesherbegin is verskillende gebeurtenisse in die lewensiklus met hul eie instellings. Konfigureer elkeen doelbewus in plaas daarvan om te verwag dat ’n aanvanklike begin almal dek.
’n Tonnel wat by die selflaai opkom en ’n uur later sterf, is ’n herstelvraag. Die beginbeleid het sy werk gedoen en toe het dit nie meer saak gemaak nie. Kyk na DPD- en hersleutel-instellings voordat jy die aanvanklike onderhandeling blameer.
Om gelaaide definisies te vervang is sy eie operasie. Nie-verstek beginbeleide het gedokumenteerde teenaksies, en ’n herlaai is ’n operasionele verandering eerder as ’n aanname dat elke assosiasie in plek opgedateer is. Doen herlaai in fases waar ’n herverbinding aanvaarbaar is. Hou die ou konfigurasie tot die nuwe bewys is.
Kontroleer wat bestaan voordat jy routing ontfout
Voer die drie waarnemings in volgorde uit: gelaaide definisies, aktiewe IKE-SA's en kind-inskrywings. Elke antwoord vernou die volgende vraag. Slaan ’n stap oor en jy ontfout uiteindelik ’n laag wat nooit gebou is nie.
Begin met wat gelaai is en wat werklik tot stand gebring is:
swanctl --list-conns
swanctl --list-sas
As die kind ontbreek terwyl die profiel korrek is, insieer dit by naam en kyk wat gebeur. Die uitset sê gewoonlik of die ouer eerste opgekom het.
swanctl --initiate --child hq-lan
’n Aktiewe CHILD-SA is nie die eindstreep nie. Deurstuur-reëls, roetes en die toepassing se eie magtiging moet steeds in lyn kom. Die lewensiklus antwoord wat onderhandel is; dit kan nie besluit wie die diens mag gebruik nie.