Портативті сөзі орнатушыны сипаттайды, ядроны емес. Клиент USB тасымалдағыштағы бір орындалатын файл ретінде келіп, бірінші пакет қозғалмас бұрын бәрібір туннель құрылғысын, маршрут кестесіндегі жазбаны және шешушіге жазуды қажет етуі мүмкін. Осы үшеуінің қайсысына нысаналы машина тиюге рұқсат беретіні сол құрылымның онда мүлдем жұмыс істейтінін анықтайды. Төмендегі тексерулер сұраққа клиент кездесетін ретпен жауап береді.

Портативтілік үш түрлі уәдені қамтиды, тек біреуі тегін

Орнатушының болмауы жеткізуші қызметті тіркемегенін, жоюшы жібермегенін және мәзір жазбасын қоспағанын білдіреді. Әкімшінің болмауы қарапайым тіркелгі клиентті іске қосып, қосылымды аяқтай алатынын білдіреді. Хосттың өзгермеуі шыққаннан кейін машина бірдей көрінетінін білдіреді. Портативті деп жазатын жүктеу беттері әдетте солардың тек біріншісін уәде етеді, ал қалған екеуі орналастырулар сәтсіздікке ұшырайтын жер. Құрылым тар мағынада да портативті болуы мүмкін: тек оқуға арналған тасымалдағыштан нүктелік файлдарға ешбір жазбасыз жұмыс істейді, бұл желілік стек туралы әлі ештеңе айтпайды.

Қымбат уәделер — екіншісі мен үшіншісі. Адаптер, маршрут немесе шешушіге жазуды қажет ететін бір орындалатын файл операциялық жүйеден портативті жапсырма ешқашан жаппаған өкілеттік сұрайды.

Клиент шақыратын артықшылықты көмекшіні табыңыз

Кез келген дерлік VPN клиенті пакеттерді өзі жылжытпайды. Windows-та деректер жолы WFP сүзгілері мен Base Filtering Engine арқылы, macOS-та пайдаланушы Жүйе параметрлерінде мақұлдайтын NetworkExtension провайдері арқылы, ал Linux-та tun құрылғысы және маршруттау стегі арқылы өтеді. Көшірген бинарлық файл — сол компоненттердің басқару беті, олардың орнын басушы емес. Клиент қай компонентті күтетінін сұраңыз, содан кейін оның орнатылғанын, жұмыс істеп тұрғанын және тіркелгіңізге қолжетімді екенін растаңыз.

Linux бұл тұжырымды дәлелдеуге ең оңай жер, өйткені тексеру — бір жүйелік шақыру. /dev/net/tun ашу және ядродан құрылғы сұрау CAP_NET_ADMIN талап етеді, ал ядроның TUN/TAP құжаттамасы меншік ережесін де, мүмкіндікті де көрсетеді. Тексеруді клиентті іске қосатын тіркелгімен орындаңыз, root ретінде емес.

ls -l /dev/net/tun
ip tuntap add dev vpntest mode tun
ip link delete vpntest

Ортаңғы жолдағы рұқсат қатесі — сіз іздеген жауап: бұл тіркелгі туннель интерфейсін жасай алмайды, сондықтан оған мұқтаж кез келген пайдаланушы кеңістігіндегі клиент жүктеу кезінде емес, қосылу кезінде сәтсіздікке ұшырайды. Соңғы жол сынақ құрылғысын жояды және ол жұмыс істегенде ештеңе басып шығармайды. Егер екі жол да сәтті болса, хост тұрақты ештеңені өзгерткен жоқ.

Бірінші қосылымға дейін маршрут пен шешуші өзгерістерін тексеріңіз

Бөлінген туннель қосылымды маршруттау шешіміне айналдырады, ал толық туннель оны әдепкі маршрутты алмастыруға айналдырады. Екеуі де хосттың желілік стегіне жазба, және екеуі де артықшылығы жоқ тіркелгі үшін сәтсіздікке ұшырайды, тіпті клиенттің өзі таза басталса да. Шешуші — үшінші жазба, ал systemd хосттарында әдетте ең соңында сынатын сол. Бұл рет артықшылығы жоғары орнатуды қайда жұмсауды шешкенде маңызды.

Маршрут сынағы сізге шынымен маңызды межеге мұқтаж, сондықтан төмендегі орнын толтырғыштың орнына өз профиліңізден ішкі желі қойыңыз. Маршрут бір нәрсеге ілігуі үшін құрылғы атауы болуы керек.

ip route add 10.20.0.0/16 dev vpntest
ip route del 10.20.0.0/16
resolvectl query intranet.example.internal

Егер бірінші жол RTNETLINK answers: Operation not permitted қайтарса, тіркелгі профиль талап ететін жеке маршрутты орната алмайды. Екінші жол сол құқықты керісінше дәлелдейді, бұл маңызды, өйткені маршрут қоса алатын, бірақ оны жоя алмайтын клиент артында бұзылған кесте қалдырады. Содан кейін шешуші сұранысы жеке атаулардың туннель арқылы шешілетінін немесе хост әлдеқашан сенетін шешушіге ағып кететінін көрсетеді.

Сынақ құрылғысы әлі бар кезде үшеуін де орындаңыз, содан кейін оны жойыңыз. Жоғалған құрылғыға нұсқайтын маршрут — сәтсіз қосылымнан кейін ноутбуктің байланысын жоғалтуының ең көп тараған себебі.

Сессиядан не аман қалуы керектігін шешіңіз

Қалтаны жою — тазалау жоспары емес. Адаптерлер, маршруттар, шешуші параметрлері, сенімді сертификаттар және сақталған тіркелгі деректерінің әрқайсысы процестен ұзақ өмір сүруі мүмкін, ал жүктелу кезіндегі қызмет олардың кейбірін сұрамай қалпына келтіруі мүмкін. Клиентке не қалдыруға рұқсат екенін оны іске қоспас бұрын жазыңыз, бірінші сәтсіз ажыратудан кейін емес.

Практикалық ереже — өзгертуге дайындалып отырған үш беттің суретін түсіріп, кейін оларды салыстыру. Бірінші қосылымға дейін интерфейстерді, негізгі маршруттау кестесін және шешуші күйін тіркеңіз, содан кейін клиент шыққан соң сол үш оқуды қайталаңыз.

ip -brief addr show
ip route show table main
resolvectl status

Екінші түсірілімде бар және біріншісінде жоқ нәрсенің иесі болуы керек. Немесе клиент оны шығарда жояды, немесе сіз оны жасаған сол командалармен жоясыз, және бұл жою орналастыру жазбаларында болуы керек, біреудің не болғаны туралы жадында емес. Windows-та балама оқулар — Get-NetAdapter, Get-NetRoute және Get-DnsClientServerAddress, олар артықшылықты қажет етпейді, бірақ сол қалдықтарды көрсетеді.

Қатысты мақалалар