Načítaný profil strongSwan nie je aktívny tunel
strongSwan načítava definície a potom vyjednáva SA IKE a CHILD. To, že je profil načítaný, nič nehovorí o tom, či tunel existuje alebo kto ho spúšťa.
Uvedenie pripojenia v konfigurácii strongSwan dokazuje len to, že sa načítala definícia. Neznamená to, že bol kontaktovaný partner, že existuje SA IKE alebo že je nejaká prevádzka chránená. Démon zaobchádza s definíciami a živými asociáciami ako s oddelenými objektmi a vzdialenosť medzi nimi je zámerné rozhodnutie pri návrhu. Znalosť toho, ktorý objekt skúmate, mení neurčitú poruchu na konkrétny ďalší príkaz.
Načítanie nie je pripojenie
Načítané pripojenie je tvrdenie o tom, čo bude možné neskôr vyjednať: adresy partnera, prihlasovacie údaje, návrhy a selektory prevádzky. Nič v tomto tvrdení nevyžaduje, aby démon niekomu volal. Brána môže čakať na druhú stranu, iniciovať pri štarte alebo čakať, kým ju prebudí zodpovedajúca prevádzka. Všetky tri sú platné a všetky tri vyzerajú v konfiguračnom súbore rovnako, kým si neprečítate politiku štartu.
Prevádzkovatelia sa dostávajú do problémov tým, že čítajú zoznam definícií ako zoznam stavov. Profil tam je, takže sa predpokladá, že tunel beží, a ďalšia hodina ide na ladenie trás pre asociáciu, ktorá nikdy nevznikla.
Opačná chyba je rovnako častá. Chýbajúci profil posiela ľudí hľadať sieťovú poruchu, keď sa konfigurácia nikdy nenačítala. Pomenujte objekt a potom spustite príkaz, ktorý ho pozoruje.
Tri objekty, tri pozorovania
strongSwan drží načítanú definíciu, SA IKE a SA CHILD. Prvá je konfigurácia, druhá je overený riadiaci vzťah a tretia je vyjednaná ochrana vybranej prevádzky. Majú dokonca oddelené mená, takže profil s názvom hq môže vlastniť child s názvom hq-lan.
Tabuľka priraďuje každej vrstve príkaz, ktorý ju zobrazuje. Prečítajte si riadok, kým si prečítate log.
| 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 |
Vyžiadanie child najprv postaví jeho nadradenú SA IKE, ak žiadna neexistuje. Vyžiadanie samotnej SA IKE je iné volanie. Riadiaci kanál, ktorý sa správne overuje, nezaručuje child, o ktorý ste požiadali.
Tento rozdiel má význam pri čiastočnej poruche. SA IKE môže byť zdravá, zatiaľ čo child zlyháva na nezhode selektora alebo na návrhu, ktorý partner neprijme. Oba objekty zlyhávajú z rôznych dôvodov, a preto si zaslúžia oddelené pozorovania.
Zvoľte akciu štartu zámerne
V swanctl.conf rozhoduje start_action childu o správaní po načítaní. Predvolená none ponecháva definíciu ručnému spusteniu alebo použitiu ako responder. start ju vytáča, zatiaľ čo trap zanecháva politiku, ktorá vyjednáva, len čo sa objaví zodpovedajúca prevádzka.
Takže ako „načítanie nikdy nespustí tunel“, tak „načítanie vždy nejaký spustí“ sú nesprávne. Akcia je súčasťou profilu a mala by zodpovedať role partnera. Dve brány, ktoré obe čakajú na druhú stranu, produkujú ticho, nie tunel.
Pri trap musí prevádzka zodpovedať selektorom, takže nesúvisiaci ping nič neprebudí. Pri start musí byť adresa partnera použiteľná a obe strany sa musia zhodnúť na overovaní a návrhoch. Ani jedna z akcií nenahrádza kontrolu týchto podmienok.
Obnova je samostatná politika
Štart nie je keepalive. Detekcia mŕtveho partnera, explicitné uzavretie partnerom, obnova kľúčov a reštart procesu sú rôzne udalosti životného cyklu s vlastným nastavením. Nakonfigurujte každú z nich zámerne namiesto očakávania, že počiatočný štart pokryje všetky.
Tunel, ktorý naskočí pri štarte a o hodinu zomrie, je otázkou obnovy. Politika štartu urobila svoju prácu a potom prestala mať význam. Pozrite sa na nastavenia DPD a obnovy kľúčov, kým obviníte počiatočné vyjednávanie.
Nahradenie načítaných definícií je samostatná operácia. Neštandardné politiky štartu majú zdokumentované inverzné akcie a opätovné načítanie je prevádzková zmena, nie predpoklad, že každá asociácia bola aktualizovaná na mieste. Vykonávajte opätovné načítania po etapách, kde je opätovné pripojenie prijateľné. Ponechajte starú konfiguráciu, kým sa nová nepreukáže.
Pred ladením smerovania skontrolujte, čo existuje
Vykonajte tri pozorovania v poradí: načítané definície, aktívne SA IKE a položky child. Každá odpoveď zužuje ďalšiu otázku. Preskočte krok a skončíte ladením vrstvy, ktorá nikdy nevznikla.
Začnite tým, čo je načítané, a tým, čo je skutočne nadviazané:
swanctl --list-conns
swanctl --list-sas
Ak child chýba, zatiaľ čo profil je správny, iniciujte ho podľa názvu a sledujte, čo sa stane. Výstup zvyčajne hovorí, či najprv naskočil nadradený prvok.
swanctl --initiate --child hq-lan
Aktívna SA CHILD nie je cieľom. Preposielacie pravidlá, trasy a vlastná autorizácia aplikácie sa stále musia zísť. Životný cyklus odpovedá na to, čo bolo vyjednané; nemôže rozhodnúť, kto smie službu používať.