Բեռնված strongSwan պրոֆիլը ակտիվ թունել չէ
strongSwan-ը բեռնում է սահմանումները, ապա համաձայնեցնում IKE և CHILD SA-ները։ Այն, որ պրոֆիլը բեռնված է, ոչինչ չի ասում թունելի գոյության կամ այն սկսողի մասին։
strongSwan-ի կոնֆիգուրացիայում կապը թվարկելը ապացուցում է միայն, որ սահմանումը բեռնվել է։ Դա չի նշանակում, որ գործընկերոջ հետ կապվել են, որ գոյություն ունի IKE SA կամ որ որևէ երթևեկություն պաշտպանված է։ Դեմոնը սահմանումներն ու կենդանի ասոցիացիաները դիտարկում է որպես առանձին օբյեկտներ, և նրանց միջև հեռավորությունը դիտավորյալ նախագծային ընտրություն է։ Իմանալը, թե որ օբյեկտն եք ստուգում, անորոշ խափանումը վերածում է կոնկրետ հաջորդ հրամանի։
Բեռնումը միացում չէ
Բեռնված կապը հայտարարություն է այն մասին, թե ինչ կարելի է համաձայնեցնել ավելի ուշ՝ գործընկերոջ հասցեները, հավատարմագրերը, առաջարկները և երթևեկության ընտրիչները։ Այդ հայտարարության մեջ ոչինչ չի պահանջում, որ դեմոնը զանգահարած լինի որևէ մեկին։ Դարպասը կարող է սպասել մյուս կողմին, նախաձեռնել գործարկման պահին կամ սպասել, որ համապատասխան երթևեկությունը արթնացնի այն։ Բոլոր երեքը վավեր են, և բոլոր երեքը կոնֆիգուրացիայի ֆայլում նույն տեսքն ունեն, մինչև չկարդաք գործարկման քաղաքականությունը։
Օպերատորները դժվարության մեջ են ընկնում՝ սահմանումների ցանկը կարդալով որպես կարգավիճակների ցանկ։ Պրոֆիլը կա, ուստի թունելը համարվում է բարձրացված, և հաջորդ ժամը գնում է այն ասոցիացիայի երթուղիները կարգաբերելուն, որը երբեք չի կառուցվել։
Հակառակ սխալը նույնքան տարածված է։ Բացակայող պրոֆիլը մարդկանց ուղարկում է ցանցային խափանում փնտրելու, երբ կոնֆիգուրացիան երբեք չի բեռնվել։ Անվանեք օբյեկտը, ապա գործարկեք այն հրամանը, որը դիտարկում է այն։
Երեք օբյեկտ, երեք դիտարկում
strongSwan-ը պահում է բեռնված սահմանում, IKE SA և CHILD SA։ Առաջինը կոնֆիգուրացիա է, երկրորդը՝ նույնականացված կառավարման հարաբերություն, երրորդը՝ ընտրված երթևեկության համաձայնեցված պաշտպանություն։ Նրանք նույնիսկ առանձին անուններ ունեն, այնպես որ hq անունով պրոֆիլը կարող է ունենալ hq-lan անունով child։
Աղյուսակը յուրաքանչյուր շերտը կապում է այն ցույց տվող հրամանին։ Կարդացեք տողը մինչև մատյանի ընթերցելը։
| 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 |
child-ը պահանջելը նախ կառուցում է նրա ծնող IKE SA-ն, երբ այդպիսին չկա։ Միայն IKE SA-ն պահանջելը այլ կանչ է։ Ճիշտ նույնականացվող կառավարման ալիքը չի երաշխավորում պահանջված child-ը։
Այս տարբերությունը կարևոր է մասնակի խափանման ժամանակ։ IKE SA-ն կարող է առողջ լինել, մինչդեռ child-ը ձախողվում է ընտրիչի անհամապատասխանության կամ գործընկերոջ չընդունած առաջարկի պատճառով։ Երկու օբյեկտներն էլ ձախողվում են տարբեր պատճառներով, ուստի արժանի են առանձին դիտարկումների։
Ընտրեք գործարկման գործողությունը գիտակցաբար
swanctl.conf-ում child-ի start_action-ը որոշում է վարքը բեռնումից հետո։ Լռելյայն none արժեքը սահմանումը թողնում է ձեռքով նախաձեռնման կամ responder-ի դերում օգտագործելու համար։ start-ը զանգահարում է այն, մինչդեռ trap-ը թողնում է քաղաքականություն, որը համաձայնեցնում է հենց որ համապատասխան երթևեկություն հայտնվի։
Այսպիսով՝ և՛ «բեռնումը երբեք չի սկսում թունել», և՛ «բեռնումը միշտ սկսում է մեկը» սխալ են։ Գործողությունը պրոֆիլի մասն է և պետք է համապատասխանի գործընկերոջ դերին։ Երկու դարպաս, որոնք երկուսն էլ սպասում են մյուս կողմին, լռություն են ստեղծում, ոչ թե թունել։
trap-ի դեպքում երթևեկությունը պետք է համապատասխանի ընտրիչներին, ուստի անկապ ping-ը ոչինչ չի արթնացնի։ start-ի դեպքում գործընկերոջ հասցեն պետք է լինի օգտագործելի, և երկու կողմերը պետք է համաձայնվեն նույնականացման ու առաջարկների շուրջ։ Գործողություններից ոչ մեկը չի փոխարինում այդ պայմանների ստուգմանը։
Վերականգնումը առանձին քաղաքականություն է
Գործարկումը keepalive չէ։ Մեռած գործընկերոջ հայտնաբերումը, գործընկերոջ կողմից բացահայտ փակումը, բանալիների նորացումը և գործընթացի վերագործարկումը տարբեր կենսացիկլային իրադարձություններ են՝ իրենց կարգավորումներով։ Կարգավորեք դրանցից յուրաքանչյուրը գիտակցաբար՝ փոխարենը չսպասելով, որ սկզբնական գործարկումը կընդգրկի բոլորին։
Թունելը, որը բարձրանում է գործարկման պահին և մեռնում մեկ ժամ անց, վերականգնման հարց է։ Գործարկման քաղաքականությունը կատարեց իր գործը և հետո դադարեց կարևոր լինելուց։ Նայեք DPD-ի և բանալիների նորացման կարգավորումներին՝ մինչև սկզբնական բանակցությունները մեղադրելը։
Բեռնված սահմանումների փոխարինումը առանձին գործողություն է։ Ոչ լռելյայն գործարկման քաղաքականություններն ունեն փաստաթղթավորված հակադարձ գործողություններ, և վերբեռնումը գործառնական փոփոխություն է, այլ ոչ թե ենթադրություն, որ յուրաքանչյուր ասոցիացիա թարմացվել է տեղում։ Կատարեք վերբեռնումները փուլերով, որտեղ վերամիացումը ընդունելի է։ Պահպանեք հին կոնֆիգուրացիան, մինչև նորը ապացուցվի։
Ստուգեք, թե ինչ գոյություն ունի, մինչև երթուղավորումը կարգաբերելը
Կատարեք երեք դիտարկումները հերթականությամբ՝ բեռնված սահմանումներ, ակտիվ IKE SA և child գրառումներ։ Յուրաքանչյուր պատասխան նեղացնում է հաջորդ հարցը։ Բաց թողեք մի քայլ, և ի վերջո կկարգաբերեք շերտ, որը երբեք չի կառուցվել։
Սկսեք նրանից, ինչ բեռնված է և ինչն է իրականում հաստատված՝
swanctl --list-conns
swanctl --list-sas
Եթե child-ը բացակայում է, մինչ պրոֆիլը ճիշտ է, նախաձեռնեք այն անունով և դիտեք, թե ինչ կլինի։ Ելքը սովորաբար ասում է, թե արդյոք ծնողը նախ բարձրացել է։
swanctl --initiate --child hq-lan
Ակտիվ CHILD SA-ն վերջնագիծ չէ։ Փոխանցման կանոնները, երթուղիները և հավելվածի սեփական լիազորումը դեռ պետք է համապատասխանեն։ Կենսացիկլը պատասխանում է, թե ինչ է համաձայնեցվել՝ այն չի կարող որոշել, թե ով կարող է օգտվել ծառայությունից։