strongSwani trap-režiim: miks IPsec-tunnel ootab liiklust
Tühikäigul nõudmisel IPsec-tunnel ei näita CHILD SA-d enne, kui pakett vastab selle trap-põhimõttele. Lugege olekut, kontrollige päästikut ja teadke, millal start sobib.
Staatusväljundis ei ilmu CHILD SA-d, tunnel näeb välja surnud, ja siis toob ping kaugesse alamvõrku selle üles. Nõudmisel IPsec-i seadistuses on see järjestus disain, mitte rike. Trap-põhimõte paigaldab selektori ja ootab, ning esimene sellele vastav pakett käivitab IKE ja CHILD SA läbirääkimised.
Osa segadusest on sõnavaras: „up“ kasutatakse kahe erineva oleku jaoks. Konfiguratsioon on laaditud ja kerneli põhimõte on olemas, kuid andmeside assotsiatsioon mitte. Monitor, mis loeb ainult aktiivseid SA-sid, teatab terve saidi kui maas seni, kuni keegi sinna liiklust ei saada.
Tühikäigul nõudmisel tunnelil pole CHILD SA-d, mida näidata
Trap-kirje iseenesest ei autentigi midagi. See palub kernelil hoida valitud liikluse jaoks põhimõtet ja tõsta acquisition, kui pakett seda põhimõtet vajab. Deemon saab acquisitioni, sobitab selle childi definitsiooniga ja läbiräägib sealt edasi. Kuni selle hetkeni pole ka IKE SA-d näidata, mistõttu võivad mõlemad loendid korraga tühjad olla.
Just see järjekord teeb logid loetavaks. Kõigepealt tuleb acquisition, siis IKE_SA_INIT ja IKE_AUTH, seejärel CHILD SA. Kui log lõpeb kohe pärast acquisitioni, töötas päästik. Läbirääkimine ebaõnnestus ja järgmine küsimus on mandaadi, ettepanekute või kättesaadavuse kohta, mitte trapi kohta.
Linuxi kerneli backendiga näete põhimõtet enne, kui ükski SA olemas on. Käivitage ip xfrm policy ja otsige selektorit suunaga out ja malliga, mis osutab ühendusele. See kirje on nõudmisel olek ja selle olemasolu on esimene, mida kinnitada.
start_action otsustab, kas üldse miski ootab
Iga child jaotises swanctl.conf kannab start_action. start käivitub konfiguratsiooni laadimisel, trap paigaldab põhimõtte ja ootab, ning none jätab käivitamise millelegi muule. Ainult trap tekitab ülalkirjeldatud käitumise „ping ja see tuleb üles“.
children {
office-lan {
local_ts = 192.168.50.0/24
remote_ts = 192.168.70.0/24
start_action = trap
}
}
Kaks liiklusselektorit määravad, mis loetakse huvipakkuvaks, ja väljaspool neid prefikseid olevast hostist tulev pakett trapi ei käivita; see marsruuditakse tavapäraselt. Selektorite laiendamine päästiku innukamaks muutmiseks laiendab ka ulatust, mida tunnel väidab kaitsvat, seega tuletage need liiklusest, mida te tõesti krüpteerida tahate.
Viide swanctl.conf loetleb aktsepteeritud väärtused koos eraldi close- ja DPD-toimingutega, mis juhivad, mis juhtub pärast SA olemasolu.
Uurige, kas päästik üldse rakendus
Alustage käsuga swanctl --list-conns ja kinnitage, et child on laaditud kavatsetud toiminguga. Seejärel saatke üks pakett hostist, mis on local_ts-s, aadressile, mis on remote_ts-s, ning jälgige swanctl --list-sas. Kui väljund ei muutu, ei jõudnud ükski acquisition deemonini.
Kaks tavalist põhjust vaikse trapi jaoks: pakett läbis source-NAT-i enne põhimõttele sattumist ega vasta enam local_ts-le, või ühendus ei laadinud kunagi süntaksi- või mandaadivea tõttu. Käivitage uuesti swanctl --load-all ja lugege selle väljundit enne selektorite puutumist. Ühendus, mis ei laadinud, ei paigalda ühtegi põhimõtet, seega pole liiklusel midagi käivitada.
Suund loeb samuti: väljuvale liiklusele paigaldatud trap ei käivitu sissetuleva paketi peale. Kui kaugpool peab tunneli üles tõstma, vajab see oma trapi, või vajab see pool start.
Esimese paketi ootamine pole alati õige vahetus
Interaktiivsed sessioonid tunnetavad seadistamise kulu. Esimene päring maksab IKE vahetuse ja CHILD läbirääkimise eest ning lühikese tähtajaga klient võib loobuda enne, kui SA olemas on. Proaktiivne start kõrvaldab selle esimese paketi viivituse. Kuid hoiab tunneli üleval liiklusele, mis ei pruugi kunagi saabuda.
Valiku otsustavad kolm fakti: kui tihti rada kasutatakse, kas esimesel päringul on kitsas tähtaeg ja kas partner on alglaadimisel kättesaadav. Juhuslik hulgiliiklus ja partner, mis võib alglaadimisel võrgust väljas olla, mõlemad soosivad trap. Latentsustundlik klient ja alati kättesaadav partner soosivad start. Kui mõlemad pooled saavad algatada, leppige kokku, kellel on päästik, et vältida topeltläbirääkimisi.
Paigaldatud põhimõte pole ka lekekindel garantii. Kui nõue on fail-closed, peab tulemüür langetama liikluse ilma SA-ta ja see reegel elab väljaspool childi definitsiooni.
Kirjutage üles kolm rida, mis lõpetavad järgmise vaidluse
Kirjutage üles selektorid, käivitustoiming ja käsuväljund, mis näitab põhimõtet olemas ilma SA-ta. Need kolm rida eristavad „nõudmisel ja tühikäigul“ olekut „ei laadi“ olekust järgmisel korral, kui keegi teatab tunnelist kui maas olevast. Nende jäädvustamine võtab minuti. Ilma nendeta algab sama uurimine nullist.
Testige hostist, mis on tõesti selektori sees. Ping ruuterist endast järgib sageli teist rada ega tõesta midagi põhimõtte kohta, mis kaitseb selle taga olevat alamvõrku.