Ինչու է traceroute-ը մահանում մեկ ուղղությամբ VPN թունելով
Հետքը, որն ավարտվում է մի ուղղությամբ և աստղեր տպում մյուսում, սովորաբար ախտորոշման խնդիր է: Համեմատեք զոնդերի մեթոդները, վերադարձի ուղիները և իրական հարցումը:
Traceroute-ի այն ելքը, որն ավարտվում է մի ուղղությամբ և մյուսում աստղերի շարքեր տպում, նման է ասիմետրիկ փոխանցման և սովորաբար այդպիսին չէ։ Յուրաքանչյուր ցուցադրված թռիչք պահանջում է, որ զոնդը հասնի, որ երթուղղիչը որոշի պատասխանել և որ պատասխանը վերադառնա ու համապատասխանեցվի զոնդին։ Կոտրեք այս օղակներից որևէ մեկը և շարքը դառնում է աստղ, մինչ թունելը շարունակում է տվյալներ տանել։
Հետքը ախտորոշման մասին ապացույց է ավելի շուտ, քան փոխադրման մասին ապացույց։ Արժե հարցնել, թե երեք օղակներից որն է ձախողվել, և պատասխանը գալիս է փաթեթներից, ոչ ելքի ձևից։
Աստղը բացակայող պատասխան է, ոչ բացակայող թռիչք
Traceroute-ը դուրս է գնում՝ ուղարկելով զոնդեր, որոնց TTL-ը յուրաքանչյուր փուլում մեկ երթուղղիչ ավելի հեռու է լրանում։ Երթուղղիչը, որը դեն է նետում լրացած զոնդը, պետք է վերադարձնի իրեն անվանող ICMP Time Exceeded հաղորդագրություն, և գործիքը տպում է այդ անունը։ Իրականում գործիքը սպասում է, որ այդ հաղորդագրությունը հասնի ժամկետի ընթացքում։ Եթե երթուղղիչը պատասխանում է այլ աղբյուրի հասցեից, սահմանափակում է սխալների ստեղծման հաճախականությունը կամ զոնդը դեն է նետում առանց խոսքի, փուլը տպելու ոչինչ չի տալիս։
Այս արդյունքներից ոչ մեկը չի ասում, որ առաջընթաց ուղին կոտրված է։ Աստղը չպատասխանված փոստի մասին հաշվետվություն է, ոչ դատարկ ճանապարհի։
Զոնդի մեթոդը որոշում է, թե որ զտիչին կհանդիպեք
Linux-ում լռելյայն մեթոդը սովորաբար բարձր համարի UDP նպատակակետ պորտն է, Windows-ի tracert-ը ուղարկում է ICMP արձագանքներ, և Linux-ին կարելի է ասել օգտագործել ICMP կամ TCP փոխարենը։ Դրանցից յուրաքանչյուրը վիճակային հրապատի կամ ամպային անվտանգության խմբի համար այլ տեսակի երթևեկություն է թվում։ Մի կողմի UDP հետքը մյուս կողմի ICMP հետքի հետ համեմատելը երկու տարբեր փորձեր է համեմատում։ Նախքան արդյունքները տարբերություն անվանելը ամրագրեք մեթոդը, հասցեների ընտանիքը, աղբյուրի հասցեն և ժամկետը։
Արդար համեմատության համար հետքը գործարկեք այն հոսթերից, որոնք իսկապես տանում են երթևեկությունը, ոչ թե նրանց փոխարեն փոխանցող դարպասից։ Երթուղղիչի կողմից ստեղծված հետքը օգտագործում է երթուղղիչի սեփական աղբյուրի հասցեն և ելքի քաղաքականությունը, որոնք կարող են ավելի խիստ լինել, քան այն, ինչ տեսնում է հաճախորդը։ Գրանցեք ճշգրիտ հրամանը, որպեսզի հաջորդ մարդը կարողանա կրկնել այն։
Ժամկետի արժեքը փորձի մյուս կեսն է, և հեշտ է այն բաց թողնել գրառումներից։ Խցանված ուղու վրա երկու վայրկյան սպասելը աստղեր է հաղորդում, որտեղ հինգ վայրկյան սպասելը թռիչքներ է հաղորդում։ Արժեքը նույնը պահեք բոլոր գործարկումներում, որպեսզի համեմատությունը ցանցի մասին մնա։
Վերադարձի ուղին ինքնուրույն երթուղի է
ICMP սխալը սովորական փաթեթ է իր աղբյուրով և նպատակակետով, և նրան պետք է վերադարձի ուղի դեպի հետագծիչ։ Եթե թունելի քաղաքականությունը տանում է LAN նախածանցերը, բայց ոչ սխալը ստեղծած երթուղղիչի հասցեն, հաղորդագրությունը դուրս է գալիս ուղիով, որը չի կարող հասնել ձեզ։ Պատասխանների զտումը կարող է այն դեն նետել նույնիսկ երբ ուղին գոյություն ունի, քանի որ փաթեթը գալիս է անսպասելի ինտերֆեյսի վրա անսպասելի հասցեից։ Սա անհամապատասխանություն է ախտորոշման հարթությունում, ոչ հավելվածի ձախողում։
Յուրաքանչյուր ընտրիչ լայնացնելը մինչև հետքի ավարտը նկարը գեղեցկացնում է, իսկ քաղաքականությունը՝ վատացնում։ Վերանորոգեք կոնկրետ ախտորոշիչ հասցեն, կամ ընդունեք աստղը և փորձարկեք հավելվածն այլ կերպ։
Հաստատեք թունելը իրական հարցումով
TCP ձեռքսեղմումը ծառայության սեփական պորտի վրա փորձարկում է փոխանցումը, վերադարձի երթուղավորումը և զտումը կարևոր ուղղությամբ։ Ստորև հրամանները աշխատում են երկու ծայրերում և համեմատում, թե յուրաքանչյուր կողմ ինչ կարող է բացել։ Փոխարինեք ծառայության պորտը և թունելի ինտերֆեյսի անունը ձեր կազմաձևից։
traceroute -I -n -w 2 203.0.113.40
traceroute -T -p 443 -n -w 2 203.0.113.40
curl -sS -o /dev/null -w '%{http_code} %{time_total}\n' --max-time 5 http://203.0.113.40:8080/health
ss -tan state established
Նախ կարդացեք traceroute-ի երկու գործարկումները՝ եթե ICMP գործարկումը թռիչքներ է ցույց տալիս, իսկ TCP գործարկումը՝ ոչ, տարբերությունը մեթոդի մեջ է, ոչ ուղու։ Այնուհետև curl-ի արդյունքը վերցրեք որպես հավելվածի մակարդակի պատասխան, որովհետև խելամիտ կարգավիճակի կոդով ավարտված փոխանակումը նշանակում է, որ առաջ և վերադարձի ուղիները երկուսն էլ աշխատում են իրական երթևեկության համար։ Սոկետների ցանկը ցույց է տալիս՝ կապը ընդհանրապես հաստատվել է, ինչը ոչ մի հետք չի կարող ասել ձեզ։
Թունելը, որը ինտերակտիվ նստաշրջան է տանում երկու ուղղությամբ, մինչ մեկ traceroute աստղեր է տպում, առողջ է և պարզապես ոչ ֆոտոգեն։ Պահեք յուրաքանչյուր կողմի հրամանների ելքը որպես գրառում և բացակայող թռիչքներին վերաբերվեք որպես ախտորոշման մասին բաց հարց, ոչ VPN-ի մասին վճիռ։