Ինչ է անում TUN-ը և ինչ դեռ պետք է անի VPN արձանագրությունը
TUN-ը IP փաթեթներ է տեղափոխում միջուկի և ծրագրի միջև։ Փոխադրումը, նույնականացումը և գաղտնագրումը պատկանում են այն արձանագրությանը, որով խոսում է այդ ծրագիրը։
tun0-ը և VPN արձանագրությունը մեկ բան համարելը մարդկանց ուղարկում է սխալ մատյան։ Միջերեսը տեղական սահման է, որտեղ օգտատիրոջ տարածության ծրագիրը IP փաթեթներ է փոխանակում միջուկի հետ։ Արձանագրությունն այն է, ինչ այդ ծրագիրն անում է փաթեթների հետ՝ ստանալուց հետո՝ փոխադրում, նույնականացում, գաղտնագրում և զուգընկեր։ Սարքի ստեղծումը դրանցից ոչ մեկը չի ընտրում։
Երկու բաղադրիչ, մեկ փաթեթային ուղի
Միջուկը IP փաթեթ է գրում սարքի մեջ, իսկ ծրագիրը կարդում է այն ֆայլի նկարագրիչից։ Հակառակ ուղղությամբ ծրագիրը փաթեթը հետ է գրում, և միջուկը երթուղավորում է այն, կարծես այն հասել է իրական միջերես։ TUN-ը կրում է IP, մինչդեռ TAP-ը կրում է Ethernet շրջանակներ։ Այդ սահմանին փաթեթ կարդալը ցույց է տալիս շրջանակավորումը, և սարքը հենց դրա համար է։
Այդ սահմանից այն կողմ ամեն ինչ ծրագրի գործն է։ Երկու ծրագիր կարող են օգտագործել միջերեսի նույն հասկացությունը և բոլորովին տարբեր բաներ անել փաթեթների հետ։ Սարքն ինքը կարծիք չունի, թե ինչ է լինելու հետո։ Ֆայլի նկարագրիչը միակ բռնակն է, որ ծրագիրն ունի միջուկի կողմում։
Ստեղծեք սարքը, ապա հետևեք սահմանին
Սահմանը փորձարկելիս դիտավորյալ սարք ստեղծեք։ Մշտական սարքը գոյատևում է այն ստեղծած գործընթացից հետո, ինչը օգտակար է փորձերի համար և հետագայում շփոթության սովորական աղբյուր։ Ստուգեք դրոշները և սեփականատիրոջը՝ նախքան VPN-ին մեղադրելը։
sudo ip tuntap add dev tun9 mode tun user alice
ip -d link show tun9Հղման մանրամասները ցույց են տալիս սարքի տեսակը և կցված սեփականատիրոջը։ Եթե ոչ մի գործընթաց այն բաց չի պահում, դրա մեջ գրված փաթեթները ոչ մի տեղ չեն գնում։ Առանց կցված գործընթացի սարքը կարող է առողջ երևալ հղումների ցանկում, մինչդեռ ոչինչ չի անցկացնում։
Ինչ չի կարող խոստանալ միջերեսի անունը
Միջերեսի անունը ոչինչ չի ասում գաղտնագրման կամ նույնականացման մասին։ Ծրագիրը կարող է փաթեթները փաթաթել TLS-ի, սեփական արձանագրության, IPsec-ի մեջ կամ ընդհանրապես ոչնչի։ TAP-ի փոխարեն TUN ընտրելը փոխում է սահմանի շրջանակավորումը, ոչ թե անվտանգության ձևավորումը։ Շրջանակավորման ընտրությունը իրական է, և այն շատ ավելի փոքր է, քան անվտանգության հարցը։
Հայտնաբերումը նույն կերպ է աշխատում. դիտորդը լարի վրա տեսնում է արտաքին արձանագրությունը, ոչ թե պիտակ, որը կասեր, թե որ տեղական սարքն է այն արտադրել։ Այլ բանի նմանվող թունելը դա անում է իր արտաքին արձանագրության պատճառով, ոչ թե միջերեսի անվան։ Դիտորդը չի կարող տեսնել, թե որ տեղական սարքն է արտադրել փաթեթը, միայն թե ինչպիսին է փաթեթը։ Ապրանքները համեմատելիս այս երկու հարցերը առանձին պահեք, որովհետև մեկ պատասխանը երբեք չի ենթադրում մյուսը։
Համապատասխանեցրեք ուղղումը ձախողվող փուլին
Երբ ինչ-որ բան կոտրվում է, առանձնացրեք ձախողման փուլերը։ Բացակայող սարքը, թույլտվության սխալը և մերժված մուտքը տալիս են տարբեր ապացույցներ և տարբեր ուղղումներ։ Սկզբում կարդացեք տեղական վիճակը, ապա ծրագրի սեփական մատյանը, ապա զուգընկերոջ տեսակետը։ Կարդացեք բոլոր երեքը՝ նախքան ինչ-որ բան փոխելը։
ip -d link show tun0
journalctl -u openvpn-client@corp --since '10 min ago'Եթե սարքը գոյություն ունի, և գործընթացը պահում է այն, տեղական սահմանը աշխատում է, և խնդիրն ավելի հեռու է։ Եթե սարքը բացակայում է, որևէ վկայականի ստուգում չի օգնի։ Այն փուլը, որը կարող եք անվանել, այն փուլն է, որը կարող եք փորձարկել։ TUN/TAP փաստաթղթերը նկարագրում են սահմանը և սարքի մոդելը։