Ping VPN-ի միջով՝ ինչու են արձագանքի կանոնները բաց թողնում վերադարձի ուղին
Արձագանքը փոխում է ICMP տիպը, ոչ թե ծառայության պորտը։ Հետևեք ներքին փաթեթին փոխանցման, NAT-ի և վիճակով զտիչի միջով՝ նախքան պորտեր բացելը։
Ուղարկեք ping դեպի հոսթ VPN-ի միջով, և հարցումը դուրս է գալիս մի ICMP տիպով ու վերադառնում մեկ այլ տիպով, ինչը բավական է շփոթելու պորտերով գրված ցանկացած կանոն։ Արձագանքի փոխանակման մեջ չկա նպատակակետ ծառայության պորտ, որը հնարավոր լինի պատճենել վերադարձի կանոնում, և համաչափություն սպասող զտիչը կթափի պատասխանը, մինչ հարցումը անարգել անցնում է։ Ուղղումը սկսվում է փաթեթը կարդալով այնպիսին, ինչպիսին այն իրականում է, ապա որոշելով, թե ուղու որ սահմանն է որոշումը կայացնում։ Սովորաբար աշխատում են երկու շերտ, մինչ երրորդը լուռ թափում է պատասխանը։ Ստորև բաժինները դրանք առանձնացնում են այն հերթականությամբ, որով փաթեթը հանդիպում է նրանց։
Փաթեթը փոխում է տիպը, ոչ պորտը
Արձագանքի հարցումը ICMP տիպ 8, կոդ 0 է և կրում է նույնացուցիչ ու հաջորդականության համար։ Պատասխանը տիպ 0, կոդ 0 է՝ նույն նույնացուցիչով և հաջորդականությամբ, իսկ IP ծայրերը փոխված են։ Այդ դաշտերը սահմանում է RFC 792-ը, և հենց նույնացուցիչն է թույլ տալիս ուղարկողին պատասխանները համապատասխանեցնել իր հարցումներին։
Բացակայությունը նույնքան կարևոր է. TCP կամ UDP վերնագիր չկա, ուրեմն պորտ էլ չկա թույլատրելու։ Կանոնը, որը պորտ է նշում արձագանքի պատասխանի համար, նկարագրում է փաթեթ, որը երբեք գոյություն չի ունենա։ Սա ամենատարածված սխալն է VPN ping տոմսերում։ Կանոնը տպավորություն է թողնում կոնկրետ, ոչնչի չի վերաբերում և խափանումը թողնում է ճիշտ այնտեղ, որտեղ եղել է։
Փաթեթի մասին որոշում են երեք համատեքստեր
Եթե ping-ը թիրախավորում է հեռավոր LAN-ի հոսթ, հարցումը պետք է փոխանցվի դարպասի կողմից։ Եթե այն թիրախավորում է հասցե, որը պատկանում է հենց դարպասին, այն ավարտվում է տեղական մուտքի ուղով։ Եթե դարպասն ինքն է սկսում ping-ը, փաթեթը սկսվում է իր իսկ ելքի ուղով և բոլորովին չի անցնում փոխանցման որոշումով։
Այս երեք համատեքստերն ունեն տարբեր կանոնաշղթաներ և տարբեր հաշվիչներ, և հենց դրանք մեկը համարելն է պատճառը, որ «հրահրման պատն է թույլատրում ICMP»-ը դեռ կարող է տալ ձախողված ping։ Արտաքին թունելը չորրորդ համատեքստն է. VPN-ի լսիչին թույլատրելը ինքնաբերաբար չի թույլատրում ապակապսուլավորված ներքին հարցումը, իսկ ներքին թույլտվությունը ոչինչ չի ասում այն մասին՝ արդյոք արտաքին թունելը աշխատում է։
Վիճակով և առանց վիճակի զտիչները պատասխանին տարբեր կերպ են վերաբերվում
Վիճակով հրահրման պատը, որը տեսել է հարցումը դուրս գալիս, կարող է պատասխանը կապել այդ հոսքի հետ և թույլատրել այն առանց երկրորդ կանոնի։ Առանց վիճակի զտիչը նման հիշողություն չունի, ուստի վերադարձի ուղղությանը պետք է իր սեփական բացահայտ թույլտվությունը՝ աղբյուրի և նպատակակետի փոխված դիրքով։
Նախքան որևէ բան գրելը ստուգեք, թե ապրանքն իրականում որ մոդելն է կիրառում։ Արձագանքի հարցման կանոնը պարտադիր չէ, որ ծածկի արձագանքի պատասխանը, և ICMP հարցումներին հետևող ապրանքը կարող է այլ քաղաքականություն կիրառել մեկ այլ ինտերֆեյս հասնող պատասխանների նկատմամբ։
Սահմանափակեք այն, ինչ թույլատրում եք։ Ցանկացած տեղից բոլոր արձագանքի պատասխանները թույլատրելը նույնը չէ, ինչ վիճակային կապակցումն ավարտելը, և տիպի համարը չի վավերացնում ուղարկողին։
Թարգմանությունը փոխում է նաև նույնացուցիչը
Եթե աղբյուրի թարգմանությունը դիտավորությամբ է արվում, հեռավոր ծայրի բազմությունը չի համապատասխանում հաճախորդի ուղարկածին։ NAT-ը կարող է թարգմանել ICMP հարցման նույնացուցիչը հասցեների հետ միասին, ուստի պահանջելը, որ նույն համարը երևա երկու կողմերում, կեղծ անհամապատասխանություն է ստեղծում։
Փոխարենը կապեք թարգմանիչի հաղորդած քարտեզագրմանը։ Նույնացուցիչը վերագրող թարգմանիչը չի պահպանի այն համարը, որը գրանցել է ձեր հաճախորդը, ուստի ինքնությունը համարեք քարտեզագրումը, ոչ թե համարը։ Ապա հետևեք մեկ ճանաչելի հարցման ուղու երկայնքով. հաստատեք, որ այն հասնում է նպատակակետին սպասվող աղբյուրով, հաստատեք, որ նպատակակետը պատասխան է ուղարկել, հետևեք այդ պատասխանի վերադարձի երթուղուն, և հաստատեք, որ հաճախորդը ստացել է այն, այլ ոչ թե պարզապես դիտել եք դարպասի հաշվիչի աճը։
Մի՛ միաձուլեք ICMP սխալները արձագանքի քաղաքականությանը
«Մասնատում է պահանջվում» հաղորդագրությունը, որն օգտագործում է ուղու MTU հայտնաբերումը, արձագանքի պատասխան չէ, և դրա բովանդակությունը մեջբերում է այն փաթեթը, որն առաջացրել է այն։ Միայն արձագանքը թույլատրող թույլտվությունը, որը լուռ թափում է այդ սխալները, չափի խնդիրը դարձնում է կախված կապ, ինչը օգտակարի հակառակն է։
Նույն զգուշությունը վերաբերում է հասցեների ընտանիքներին։ ICMPv6-ը օգտագործում է տարբեր հաղորդագրության տիպեր և կրում է էական գործառույթներ, որոնք IPv4-ը չունի, ուստի այս թվերը IPv6 կանոնի մեջ պատճենելը պարզապես սխալ է։
Երբ արձագանքի փոխանակումն աշխատում է, առանձին ստուգեք իրական հավելվածը։ Հաջող ping-ը ապացուցում է մեկ արձանագրության գնալ-վերադառնալը մեկ չափով դեպի մեկ նպատակակետ, և դա լիցենզիա չէ ենթադրելու, որ HTTPS-ը, SMB-ն կամ ցանկացած այլ հոսք թույլատրված է։