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

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

Շլյուզը պատասխանում է իր իսկ կույտից

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

Թունելի միջոցով հասանելի ադմինիստրացիոն էջերը նույնպես պատկանում են առաջին կատեգորիային։ Դրանք ապացույց են թունելի մասին, ոչ դրա հետևի ցանցի։

Հետևեք հոսքին մինչև առաջին այն սահմանը, որը գցում է այն

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

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

Վերադարձի երթուղիները և հոսթի պատնեշները ձախողվում են առանձին

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

Փորձարկեք վերադարձի ուղին դիտավորյալ՝ ուղարկելով հաճախորդից և հետևելով վերադարձին։ Միակողմանի գրառումը վայրկյանների ընթացքում լուծում է այն, ինչ ժամվա ենթադրությունները չեն լուծի։

Հաստատեք յուրաքանչյուր թռիչքը հաճախորդի աղբյուրի հասցեով

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

ip route get 192.168.50.20 from 10.8.0.2
ping -I 10.8.0.2 -c 3 192.168.50.20
sudo tcpdump -ni tun0 host 192.168.50.20
sudo tcpdump -ni br0 host 192.168.50.20

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

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

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