Երկու նախագծերն էլ պաշտպանում են նույն երթևեկը նույն IPsec մեքենայով, և տարբերվում են նրանով, թե ինչն է որոշում, թե որ փաթեթն է մտնում թունել։ Քաղաքականության վրա հիմնված միացման դեպքում այդ աշխատանքը կատարում են բանակցված երթևեկի ընտրիչները, երթուղու վրա հիմնվածի դեպքում՝ թունելի միջերեսին ուղղված երթուղին։ Երկուսը շփոթելը ստեղծում է ծանոթ աջակցության թեմա, որտեղ թունելը հաղորդում է, որ հաստատված է, մինչդեռ հավելվածը ոչ մի տեղ չի հասնում։ Տարբերությունը ամենակարևորն է, երբ ավելացնում եք ցանց, գործարկում եք երթուղավորման արձանագրություն կամ վրիպազերծում եք ուղի, որը լուռ դուրս է գալիս սխալ ելքով։

Երկու եղանակ՝ որոշելու, թե ինչ է մտնում թունել

Քաղաքականության վրա հիմնված VPN-ը կառուցում է անվտանգության քաղաքականություն, որը համապատասխանում է աղբյուրի և նպատակակետի նախածանցերին, ապա գաղտնագրում է այն, ինչ տեղավորվում է։ Գործընկերը պետք է բանակցի համատեղելի ընտրիչներ, ուստի արդյունավետ ծածկույթը վերջում դառնում է երկու կողմերի առաջարկածի հատումը։ Այդ հատումից դուրս ոչինչ պաշտպանված չէ, ինչ էլ ասի երթուղավորման աղյուսակը։

Երթուղու վրա հիմնված VPN-ը ստեղծում է միջերես, որը ներկայացնում է թունելը և թույլ է տալիս երթուղավորման աղյուսակին երթևեկն ուղարկել այնտեղ։ IKE դեմոնը դեռ տեղադրում է վիճակը և յուրաքանչյուր միջերեսի քաղաքականությունը, և դա այն մանրամասնությունն է, որը բաց են թողնում, երբ որոշում են, թե երթուղիները փոխարինել են գաղտնագրությանը։ Երկու նախագծերն էլ գաղտնագրում են IPsec-ով, տարբերվում է միայն ընտրության մեխանիզմը։

Կարդացեք ստորև տրված համեմատությունը որպես խափանումների ստորագրությունների հավաքածու, ոչ որպես միավորների աղյուսակ, քանի որ ոչ մի սյունակ ինքնին չի հաղթում։

AspectPolicy-basedRoute-based
What selects trafficNegotiated selectorsA route into the tunnel interface
Adding a networkEdit selectors on both peersAdd a route, widen the selector once
Dynamic routingAwkward to run over the tunnelRuns over the interface directly
Typical failureTunnel up, host outside the selectorTunnel up, no route or wrong source

Քաղաքականության վրա հիմնված. ընտրիչը պայմանագիրն է

Ընտրիչների շուրջ բանակցում են, ոչ թե պարզապես կարգավորում։ Առաջարկեք 10.10.0.0/16 մի կողմում և 10.10.1.0/24 մյուսում, և միավորումը կծածկի այն, ինչի շուրջ համաձայնվել է բանակցությունը, մինչ բոլոր մյուս հանգույցները մնում են դրսում։

Կարդացեք տեղադրված վիճակը, ոչ թե կարգավորման ֆայլը։ Linux գործընկերոջ դեպքում միջուկի սեփական աղյուսակներն են հիմնական ճշմարտությունը, և դրանք ցույց են տալիս, թե ինչ փրկվեց բանակցություններից։ Քաղաքականությունը, որը նշում է ճիշտ նախածանցները առանց համապատասխան վիճակի, նշանակում է, որ միավորումը երբեք չի կանգնել։ Սխալ նախածանցի քաղաքականության հետ զուգակցված վիճակը հակառակ խնդիրն է, և այն ստեղծում է թունել, որը առողջ է թվում, մինչ ենթացանցերից մեկը ոչ մի տեղ չի հասնում։

sudo ip xfrm state
sudo ip xfrm policy
sudo swanctl --list-sas

Համեմատեք երկու ելքերը ձեր կարծիքով պաշտպանվող նախածանցերի հետ։ Այդ մեկ համեմատությունը լուծում է աշխատող թունելի և անհասանելի սերվերի մասին հաղորդումների մեծ մասը։ Այն նաև ցույց է տալիս, թե որ գործընկերոջը փոխել, քանի որ անհամապատասխանությունը սովորաբար երևում է միայն մեկ ուղղությամբ։

Երթուղու վրա հիմնված. միջերեսը պայմանագիրն է

XFRM միջերեսը թունելին տալիս է անուն և ինքնություն, և երթևեկը հասնում է դրան, որովհետև երթուղավորման աղյուսակն այդպես է ասում։ Մի քանի հեռավոր նախածանցեր այնուհետև դառնում են երթուղավորման խնդիր, ոչ թե ընտրիչի խնդիր, և երթուղավորման արձանագրությունը կարող է դրանք հայտարարել։ Դա է իրական շահը, ոչ գաղտնագրությունը։

Միջերեսը չի վերացնում քաղաքականության կարիքը։ Դեմոնը տեղադրում է միջերեսի ինքնությանը կապված կանոններ յուրաքանչյուր միջերեսի համար, այնպես որ սխալ միջերեսին հասնող փաթեթը դեռ ձախողվում է։ Աղբյուրի հասցեն, որը գործընկերը չի ընդունի, նույնպես ձախողվում է, նույնիսկ կատարյալ երթուղու դեպքում։ Երթուղու վրա հիմնվածը նշանակում է, որ երթուղին է որոշում մուտքը, ոչ թե որ քաղաքականությունը անհետացել է։

sudo ip link add xfrm0 type xfrm dev eth0 if_id 42
sudo ip route add 10.20.0.0/16 dev xfrm0
ip -s link show xfrm0
ip route get 10.20.5.10

Հետևեք միջերեսի հաշվիչներին, երբ երթուղին տեղում է։ Երթուղին գոյություն ունի, բայց հաշվիչները մնում են զրո՝ նշանակում է, որ ոչինչ չի համապատասխանեցվում թունելին, ինչը սովորաբար վկայում է բացակայող վիճակի, ոչ թե բացակայող երթուղու մասին։

Որտեղ են երկու նախագծերը իրոք տարանջատվում

Ցանց ավելացնելը ամենամաքուր փորձությունն է, թե որ մոդելն է ձեզ հարմար։ Երթուղու վրա հիմնված նախագիծը ավելացնում է երթուղի և առավելագույնը մեկ անգամ լայնացնում ընտրիչը, մինչդեռ քաղաքականության վրա հիմնված նախագիծը խմբագրում է նախածանցների զույգերը երկու գործընկերների վրա և նորից բանակցում։ Երկու կայուն ենթացանցեր այդ խմբագրումը դարձնում են չնչին, իսկ քսանը՝ նախագիծ։

Ոչ մի մոդել չի փոխարինում հրապարակային պատին, և համեմատությունները սովորաբար կանգ են առնում այս կետից առաջ։ Լայն ընտրիչը կամ լայն երթուղին որոշում են, թե ինչ է գաղտնագրվում, ոչ թե ինչ է թույլատրվում։

MTU-ի վարքը նույնպես տարբերվում է գործնականում։ Ինկապսուլացիան նվազեցնում է օգտակար բեռը, և երթուղու վրա հիմնված միջերեսը կրում է իր սեփական MTU-ն, ուստի երկու դարպասներում MSS-ի սեղմումը խուսափում է սև անցքի ախտանիշից, երբ փոքր պատասխանները գալիս են, իսկ մեծերը անհետանում։ Քաղաքականության վրա հիմնված թունելները նույն պատին հանդիպում են մյուս կողմից, քանի որ ընտրիչը ոչինչ չի ասում փաթեթի չափի մասին։ Սահմանեք սեղմումը գիտակցաբար՝ գործընկերոջը մեղադրելու փոխարեն։

Տեղափոխում առանց վերադարձի ուղին կորցնելու

Գրանցեք գոյություն ունեցող նախածանցների զույգերը նախքան որևէ բան փոխելը, ապա տեղափոխեք մեկ հավելվածի ուղի և հետևեք այն սկզբից մինչև վերջ։ Հաստատվող թունելը փոխանցող թունել չէ, և տարբերությունը երևում է պատասխանի ուղղությամբ։

Երբ գործընկերները միանում են, բայց LAN հանգույցները՝ ոչ, ստուգեք վերադարձի երթուղին և աղբյուրի հասցեն, որը կօգտագործի հեռավոր հանգույցը։ Երկու միջերես ունեցող հանգույցը կարող է պատասխանել սխալից, և ոչ մի ընտրիչի փոփոխություն դա չի ուղղում։ Որսացե՛ք երթևեկը երկու ծայրերում նախքան ալգորիթմները խմբագրելը։

ip route get 10.20.5.10
sudo tcpdump -ni any host 10.20.5.10 and icmp
sudo swanctl --list-conns

Աշխատելիս պահեք կառավարման ուղի, որը կախված չէ թունելից։ Հետ շարժվելն ավելի հեշտ է, երբ դարպասի սեփական հասանելիությունը չի ընթանում ձեր վրիպազերծած միացմամբ։

Առնչվող հոդվածներ