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

Երկու որոշում, մեկ փաթեթ, երկու տեր

Երթուղու որոնումը նախ խորհրդակցում է քաղաքականության կանոնների հետ, ապա՝ այն աղյուսակի, որին դրանք մատնանշում են, և ընտրում նպատակակետին համապատասխանող ամենակոնկրետ նախադիր։ Թունելի երթուղի տեղադրած հաճախորդը տիրապետում է այդ որոշմանը, և firewall-ի կանոնում ոչինչ չի կարող փոխարինել այն։ Երբ որոնումը մատնանշում է անսպասելի տեղ, յուրաքանչյուր հաջորդ փուլ աշխատում է սխալ փաթեթի վրա։

Զտումը առանձին է։ Linux հոսթի վրա netfilter-ի կեռիկները բաժանում են երթևեկությունը ըստ այն բանի, թե ում համար է փաթեթը՝ ելքը լքում է մեքենան, մուտքը ավարտվում է դրա վրա, փոխանցումը անցնում է դրա միջով։ Այն դարպասը, որն ընդունում է VPN հաճախորդներ և երթուղավորում նրանց LAN, կարիք ունի փոխանցման ուղու, և դա հենց այն շղթան է, որը լռելյայն կարգավորումների մեծ մասը դատարկ է թողնում։

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

Կարդացեք, թե որոնումն իրականում ինչ ընտրեց

Տպեք որոշումը՝ այն ենթադրելու փոխարեն։ Ստորև տրված հրամանը լուծում է այն երթուղին, որը միջուկը կօգտագործեր այդ նպատակակետի համար, ներառյալ ինտերֆեյսը և այն աղբյուրը, որը կընտրեր։

ip route get 10.8.0.5
ip route get 10.8.0.5 from 192.0.2.44
ip rule show
ip route show table all | sed -n '1,40p'

VPN հաճախորդները հաճախ քաղաքականության կանոններ տեղադրում են հիմնական աղյուսակից ցածր առաջնահերթություններով, ուստի մաքուր հիմնական աղյուսակը ինքնին ոչինչ չի ապացուցում։ Համեմատեք կանոնների առաջնահերթությունները նրանց ընտրած աղյուսակների հետ և ստուգեք՝ թունելի երթուղին վերապրո՞ւմ է վերամիացումը, թե՞ ձեռքով մեկ անգամ ավելացվում է։

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

Զտումը գործում է կեռիկի վրա, ոչ թե երթուղու

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

Հաշվիչները արագ լուծում են հարցը։ Զրո փաթեթահաշվով կանոնին երբեք չեն հասել, ինչը մատնանշում է սխալ շղթա, սխալ ինտերֆեյս կամ ավելի վաղ դեն նետում։ Դեն նետման քաղաքականության ներքո աճող հաշվիչով կանոնը հենց այն սահմանն է, որը փնտրում էիք, և փաթեթը դեն է նետվում, այլ ոչ թե սխալ երթուղավորվում։

Ուղարկեք փորձնական փաթեթ այն ուղով, որն օգտագործում է հաճախորդը

Դարպասի վրա գործարկված թեստերը անցնում են ելքով և մուտքով՝ դարպասի սեփական աղբյուրի հասցեով։ Դա տարբեր ուղի է հաճախորդի փոխանցված հարցումից, ուստի հաջող տեղական curl-ը ապացուցում է ավելի քիչ, քան թվում է։ Փորձարկեք այն մեքենայից, որը ձախողվում է, կամ հստակ ամրացրեք ինտերֆեյսը և աղբյուրը։

nc -vz -w 3 10.8.0.5 443
ping -c 3 -W 1 10.8.0.5
tcpdump -ni any host 10.8.0.5 and port 443
iptables -vnL FORWARD --line-numbers
nft list ruleset | sed -n '1,60p'

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

Վերադարձի երթևեկությունն արժանի է առանձին հայացքի։ Ասիմետրիկ երթուղավորումը և հակադարձ ուղու զտումը դեն են նետում սխալ ինտերֆեյսով եկող պատասխանները, ինչը երևում է որպես միակողմանի կապ, այլ ոչ թե արգելափակված պորտ։ Ստուգեք sysctl-ի արժեքը նախքան firewall-ին մեղադրելը մի ախտանիշի համար, որը նա չի առաջացրել։

Գրանցումը գործում է որպես երկրորդ կարծիք, ոչ թե առաջին քայլ։ Փոխանցման շղթայի վրա ժամանակավոր գրանցման հայտարարությունը նշում է ինտերֆեյսը և այն հասցեները, որոնք հարվածել են դրան, և այն հեշտ է հեռացնել հետո։ Թողեք այն մշտապես, և դուք պատասխանի փոխարեն կառուցել եք գրանցամատյանի ծավալի խնդիր։

Տեղադրեք յուրաքանչյուր փոփոխություն այնտեղ, որտեղ այն վերապրում է վերամիացումը

ip route add-ով ավելացված երթուղին ապրում է այնքան, մինչև ինտերֆեյսն իջնի։ Փոխարենը պահեք այն միացման պրոֆիլում. NetworkManager-ն ընդունում է լրացուցիչ երթուղիներ միացման վրա, իսկ netplan-ը պահպանում է դրանք վերագործարկումների միջև։ Նույն կանոնը վերաբերում է հաճախորդի կողմի firewall-ի բացառությանը, որը անհետանում է հաջորդ վերաբեռնումից հետո։

Սերվերի կողմի կանոնները պատկանում են այն կարգավորման ֆայլին, որը ծառայությունը բեռնում է մեկնարկին, այլ ոչ թե ինտերակտիվ նստաշրջանի, որն ավարտվում է, երբ փակում եք այն։ Գրեք կանոնը, վերաբեռնեք և հաստատեք, որ հաշվիչը շարժվել է, որովհետև շարահյուսությունը մերժած վերաբեռնումը լուռ թողնում է հին կանոնների հավաքածուն իր տեղում։

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

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