Če v konfiguraciji strongSwan naštete povezavo, to dokaže le, da se je naložila definicija. Ne pomeni, da je bil partner kontaktiran, da obstaja SA IKE ali da je kakšen promet zaščiten. Demon obravnava definicije in žive asociacije kot ločene objekte, razdalja med njimi pa je zavestna oblikovalska odločitev. Če veste, kateri objekt pregledujete, se nejasna okvara spremeni v konkreten naslednji ukaz.

Nalaganje ni povezovanje

Naložena povezava je izjava o tem, kaj bo mogoče pogajati pozneje: naslovi partnerja, poverilnice, predlogi in selektorji prometa. Nič v tej izjavi ne zahteva, da je demon komu zavrtel številko. Prehod lahko čaka na drugo stran, začne ob zagonu ali čaka, da ga prebudi ustrezni promet. Vse tri so veljavne in vse tri so v konfiguracijski datoteki videti enako, dokler ne preberete politike zagona.

Upravljavci zaidejo v težave, ko seznam definicij berejo kot seznam stanj. Profil je tam, zato se domneva, da je tunel vzpostavljen, in naslednja ura gre za odpravljanje napak na usmeritvah za asociacijo, ki ni bila nikoli zgrajena.

Nasprotna napaka je prav tako pogosta. Manjkajoči profil pošlje ljudi iskat omrežno okvaro, ko se konfiguracija ni nikoli naložila. Poimenujte objekt in nato zaženite ukaz, ki ga opazuje.

Trije objekti, tri opazovanja

strongSwan hrani naloženo definicijo, SA IKE in SA CHILD. Prva je konfiguracija, druga je overjeno krmilno razmerje, tretja pa je pogajana zaščita za izbrani promet. Imajo celo ločena imena, zato je lahko profil z imenom hq lastnik childa z imenom hq-lan.

Tabela vsakemu sloju pripiše ukaz, ki ga prikaže. Preberite vrstico, preden preberete dnevnik.

LayerWhat it containsCommand
DefinitionPeer addresses, credentials, proposals, and traffic selectorsswanctl --list-conns
IKE SAOne authenticated control channel to the peerswanctl --list-sas
CHILD SAKeys and selectors for the traffic being protectedChild rows under the IKE SA

Zahteva za child najprej zgradi njegovo nadrejeno SA IKE, ko nobena ne obstaja. Zahteva samo za SA IKE je drug klic. Krmilni kanal, ki se pravilno overi, še ne zagotavlja childa, ki ste ga zahtevali.

Ta razlika je pomembna pri delni okvari. SA IKE je lahko zdrava, medtem ko child spodleti zaradi neujemanja selektorja ali predloga, ki ga partner ne sprejme. Oba objekta spodletita iz različnih razlogov, zato si zaslužita ločena opazovanja.

Zavestno izberite začetno dejanje

V swanctl.conf start_action childa odloča o vedenju po nalaganju. Privzeta vrednost none prepusti definicijo ročnemu zagonu ali uporabi kot responder. start jo pokliče, medtem ko trap pusti politiko, ki se pogaja takoj, ko se pojavi ustrezen promet.

Torej sta tako „nalaganje nikoli ne zažene tunela“ kot „nalaganje vedno zažene enega“ napačna. Dejanje je del profila in mora ustrezati vlogi partnerja. Dva prehoda, ki oba čakata na drugo stran, ustvarita tišino, ne tunela.

Pri trap se mora promet ujemati s selektorji, zato nepovezan ping ne prebudi ničesar. Pri start mora biti naslov partnerja uporaben in obe strani se morata strinjati glede overjanja in predlogov. Nobeno od dejanj ne nadomesti preverjanja teh pogojev.

Obnovitev je ločena politika

Zagon ni keepalive. Zaznavanje mrtvega partnerja, izrecno zaprtje s strani partnerja, obnova ključev in ponovni zagon procesa so različni dogodki življenjskega cikla z lastnimi nastavitvami. Vsakega posebej zavestno nastavite, namesto da bi pričakovali, da bo začetni zagon pokril vse.

Tunel, ki se dvigne ob zagonu in uro pozneje umre, je vprašanje obnovitve. Politika zagona je opravila svoje delo in nato ni bila več pomembna. Poglejte nastavitve DPD in obnove ključev, preden okrivite začetno pogajanje.

Zamenjava naloženih definicij je samostojna operacija. Ne privzete politike zagona imajo dokumentirana obratna dejanja, ponovno nalaganje pa je operativna sprememba in ne domneva, da je bila vsaka asociacija posodobljena na mestu. Ponovna nalaganja izvajajte po stopnjah, kjer je ponovna povezava sprejemljiva. Staro konfiguracijo obdržite, dokler nova ni dokazana.

Preverite, kaj obstaja, preden odpravljate napake v usmerjanju

Tri opazovanja izvedite po vrstnem redu: naložene definicije, dejavne SA IKE in vnosi child. Vsak odgovor zoži naslednje vprašanje. Če preskočite korak, boste na koncu odpravljali napake v sloju, ki ni bil nikoli zgrajen.

Začnite s tem, kar je naloženo, in s tem, kar je resnično vzpostavljeno:

swanctl --list-conns
swanctl --list-sas

Če childa ni, profil pa je pravilen, ga zaženite po imenu in opazujte, kaj se zgodi. Izpis običajno pove, ali se je nadrejeni dvignil prvi.

swanctl --initiate --child hq-lan

Dejavna SA CHILD ni ciljna črta. Pravila posredovanja, usmeritve in lastna avtorizacija aplikacije se morajo še ujemati. Življenjski cikel odgovori, kaj je bilo pogajano; ne more odločiti, kdo sme storitev uporabljati.

Sorodni članki