Հաճախորդը նույնականացվում է, մատյանն ասում է՝ միացված է, և ոչ մի փաթեթ չի անցնում թունելով։ Սերվերը ավարտում է փորձը write to TUN/TAP: Invalid argument (code=22)-ով, ինչը դրայվերի խափանման տեսք ունի և սովորաբար այդպիսին չէ։ Երթուղիչների և փոքր Linux սերվերների վրա այդ տողը հաճախ նշանակում է, որ երկու կողմերը համաձայն չեն, թե ինչպես պետք է շրջանակավորել տվյալների փաթեթները, ուստի միջուկը մերժում է իրեն տրված ապակոդավորված բուֆերը։ Երթուղավորումը այդ պահին դեռ չի փորձարկվել։

Ճիշտ երթուղային աղյուսակը և կոտրված շրջանակավորման համաձայնությունը հաճախորդի կողմից նույն տեսքն ունեն՝ միացված է, և ոչինչ չի աշխատում։

Թունելը բարձրանում է, և ոչինչ չի անցնում դրա միջով

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

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

Սեղմումը շրջանակավորում է, ոչ թե թողունակություն

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

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

Հավասարեցրեք երկու ծայրերը կամ հեռացրեք երկուսից էլ

Թվարկեք յուրաքանչյուր սեղմման հրահանգ՝ սերվերի ֆայլը, ցանկացած մղված ընտրանք, հաճախորդին հատուկ ֆայլեր և հաճախորդի պրոֆիլը։ Սերվերի վրա comp-lzo-ը պահանջում է նույն բառը հաճախորդի վրա, և adaptive-ը հին լռելյայնն է, որը մերկ ընտրանքը սովորաբար նշանակում է ավելի հին կառուցվածքներում։ Երթուղիչի GUI անջատիչը՝ LZO կամ սեղմում պիտակով, գրում է նույն ընտրանքը, ուստի սահմանեք այն համապատասխանելու համար՝ ալգորիթմները խառնելու փոխարեն։ Մի ենթադրեք, որ նմանատիպ անունը համատեղելի է։

Եթե սեղմումը ցանկալի չէ, ապա այն դիտավորյալ հեռացրեք երկու ծայրերից։ Սերվերի վրա allow-compression no-ը մերժում է սեղմված փաթեթները, բայց միայն այն բանից հետո, երբ հաճախորդները դադարեն դրանք առաջարկել; այն կիրառելը, երբ հաճախորդը դեռ մղում է սեղմում, կրկին ստեղծում է անհամապատասխանությունը հակառակ ուղղությամբ։

Ստուգեք մղումը և սարքի տեսակը

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

Կամրջված TAP տեղակայումը պահանջում է իրական կամուրջ սերվերի վրա, ոչ թե միայն այլ սարքի անուն։ Ինտերֆեյսը tap0 անվանափոխելը՝ առանց այն կամրջին ավելացնելու, ստեղծում է սարք, որն ընդունում է գրելը և ոչ մի տեղ չի գնում։

Այնուհետև ստուգեք մեկ հաճախորդով և մեկ նպատակակետով․ պինգ արեք սերվերի թունելի հասցեին, ապա նրա LAN-ի հոսթին։ Առաջինը ապացուցում է տվյալների ալիքը, իսկ երկրորդը՝ փոխանցումը։

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