Laaditud strongSwan profiil ei ole aktiivne tunnel
strongSwan laadib definitsioonid ja seejärel läbiräägib IKE ja CHILD SA-d. See, et profiil on laaditud, ei ütle midagi selle kohta, kas tunnel on olemas või kes selle käivitab.
Ühenduse loetlemine strongSwan konfiguratsioonis tõestab ainult seda, et definitsioon laaditi. See ei tähenda, et partneriga võeti ühendust, et IKE SA on olemas või et mingi liiklus on kaitstud. Deemon käsitleb definitsioone ja elavaid assotsiatsioone eraldi objektidena ning nendevaheline kaugus on teadlik projekteerimisotsus. Teadmine, millist objekti sa uurid, muudab ebamäärase tõrke konkreetseks järgmiseks käsukiks.
Laadimine ei ole ühendamine
Laaditud ühendus on väide selle kohta, mida hiljem saab läbi rääkida: partneri aadressid, volitused, ettepanekud ja liikluse selektorid. Miski selles väites ei nõua, et deemon oleks kellelegi helistanud. Lüüs võib oodata teist poolt, algatada käivitamisel või oodata, kuni sobiv liiklus selle äratab. Kõik kolm on kehtivad ja kõik kolm näevad konfiguratsioonifailis ühesugused välja, kuni loed käivituspoliitikat.
Operaatorid satuvad hätta, lugedes definitsioonide loendit olekuloendina. Profiil on olemas, seega eeldatakse, et tunnel töötab, ja järgmine tund kulub assotsiatsiooni marsruutide silumisele, mida kunagi ei ehitatud.
Vastupidine viga on sama tavaline. Puuduv profiil saadab inimesed otsima võrgu tõrget, kui konfiguratsiooni kunagi ei laaditud. Nimeta objekt ja käivita seejärel käsk, mis seda jälgib.
Kolm objekti, kolm vaatlust
strongSwan hoiab laaditud definitsiooni, IKE SA-d ja CHILD SA-d. Esimene on konfiguratsioon, teine on autenditud juhtimissuhe ja kolmas on läbiräägitud kaitse valitud liiklusele. Neil on isegi eraldi nimed, seega profiil nimega hq võib omada childi nimega hq-lan.
Tabel seob iga kihi käsuga, mis seda näitab. Loe rida enne logi lugemist.
| 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 |
Childi küsimine ehitab esmalt selle ülem-IKE SA, kui ühtegi ei ole. Ainult IKE SA küsimine on teine kutse. Juhtimiskanal, mis autendib korralikult, ei taga küsitud childi.
See erinevus loeb osalise tõrke korral. IKE SA võib olla terve, samal ajal kui child ebaõnnestub selektori lahknevuse või ettepaneku tõttu, mida partner ei aktsepteeri. Kaks objekti ebaõnnestuvad erinevatel põhjustel, seega väärivad need eraldi vaatlusi.
Vali käivitustegevus teadlikult
Failis swanctl.conf otsustab childi start_action käitumise pärast laadimist. Vaikeväärtus none jätab definitsiooni käsitsi algatamiseks või responderina kasutamiseks. start valib selle, samas kui trap jätab poliitika, mis räägib läbi niipea, kui sobiv liiklus ilmub.
Seega on nii „laadimine ei käivita kunagi tunnelit” kui ka „laadimine käivitab alati ühe” valed. Tegevus on profiili osa ja peaks vastama partneri rollile. Kaks lüüsi, mis mõlemad ootavad teist poolt, tekitavad vaikuse, mitte tunnelit.
Trapi korral peab liiklus vastama selektoritele, seega seosetu ping ei ärata midagi. Starti korral peab partneri aadress olema kasutatav ja mõlemad pooled peavad kokku leppima autentimises ja ettepanekutes. Kumbki tegevus ei asenda nende eelduste kontrollimist.
Taastamine on eraldi poliitika
Käivitamine ei ole keepalive. Surnud partneri tuvastamine, partneri selgesõnaline sulgemine, võtmete uuendamine ja protsessi taaskäivitamine on erinevad elutsükli sündmused oma seadetega. Konfigureeri igaüht teadlikult, selle asemel et oodata, et algne käivitamine katab need kõik.
Tunnel, mis tõuseb käivitamisel ja sureb tund hiljem, on taastamise küsimus. Käivituspoliitika tegi oma töö ja lakkas seejärel olemast oluline. Vaata DPD ja võtmeuuenduse seadeid enne, kui süüdistad algset läbirääkimist.
Laaditud definitsioonide asendamine on eraldi toiming. Mittevaikimisi käivituspoliitikatel on dokumenteeritud pöördtegevused ja uuestilaadimine on operatiivne muudatus, mitte eeldus, et iga assotsiatsioon uuendati kohapeal. Tee uuestilaadimisi etappide kaupa, kus taasühendamine on vastuvõetav. Hoia vana konfiguratsiooni, kuni uus on tõestatud.
Enne marsruutimise silumist kontrolli, mis on olemas
Tee kolm vaatlust järjest: laaditud definitsioonid, aktiivsed IKE SA-d ja child-kirjed. Iga vastus kitsendab järgmist küsimust. Jäta samm vahele ja lõpuks silud kihti, mida kunagi ei ehitatud.
Alusta sellest, mis on laaditud, ja sellest, mis on tegelikult loodud:
swanctl --list-conns
swanctl --list-sas
Kui child puudub, aga profiil on õige, algata see nime järgi ja jälgi, mis juhtub. Väljund ütleb tavaliselt, kas ülem tuli esimesena üles.
swanctl --initiate --child hq-lan
Aktiivne CHILD SA ei ole finišijoon. Edastusreeglid, marsruudid ja rakenduse enda volitus peavad endiselt kokku sobima. Elutsükkel vastab sellele, mida läbi räägiti; see ei saa otsustada, kes tohib teenust kasutada.