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 փաստաթղթերը նկարագրում են սահմանը և սարքի մոդելը։

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