Draagbare VPN-kliënt sonder administrateurregte: wat steeds breek
’n Draagbare VPN-kliënt kan die installeerder oorslaan en steeds ’n tonneltoestel, ’n roete en ’n skryf na die resolusie nodig hê. Voer hierdie toetse uit voordat jy dit vertrou.
Draagbaar beskryf die installeerder, nie die kern nie. ’n Kliënt kan as een uitvoerbare lêer op ’n USB-stok aankom en steeds ’n tonneltoestel, ’n roetetabel-inskrywing en ’n skryf na die resolusie nodig hê voordat die eerste pakkie beweeg. Watter van dié drie die teikenmasjien jou sal laat aanraak, bepaal of daardie bou daar hoegenaamd werk. Die toetse hieronder beantwoord die vraag in die volgorde waarin die kliënt dit sal tref.
Draagbaar dek drie verskillende beloftes, en net een is gratis
Geen installeerder beteken die verskaffer het nie ’n diens geregistreer nie, nie ’n deïnstalleerder verskeep nie en nie ’n kieslysinskrywing bygevoeg nie. Geen administrateur beteken ’n gewone rekening kan die kliënt begin en ’n verbinding voltooi. Geen gasheerversandering beteken die masjien lyk identies nadat jy afsluit. Aflaaibladsye wat sê draagbaar beloof gewoonlik net die eerste van dié, en die ander twee is waar ontplooiings misluk. ’n Bou kan ook draagbaar wees in die eng sin dat dit van leesalleen-media loop met geen dotlêer-skrywes hoegenaamd nie, wat steeds niks oor die netwerkstapel sê nie.
Die duur beloftes is die tweede en die derde. ’n Enkele uitvoerbare lêer wat ’n adapter, ’n roete of ’n resolusie-skryf nodig het, vra die bedryfstelsel om gesag wat die draagbare etiket nooit gedek het nie.
Vind die bevoorregte helper wat die kliënt sal roep
Byna geen VPN-kliënt beweeg pakkies op sy eie nie. Op Windows loop die datapad deur WFP-filters en die Base Filtering Engine, op macOS deur ’n NetworkExtension-verskaffer wat die gebruiker in Stelselinstellings goedkeur, en op Linux deur ’n tun-toestel plus die roeteringstapel. Die binêre lêer wat jy gekopieer het, is ’n beheeroppervlak vir daardie komponente, nie ’n plaasvervanger daarvoor nie. Vra watter komponent die kliënt verwag, bevestig dan dat dit geïnstalleer is, loop en deur jou rekening bruikbaar is.
Linux is die maklikste plek om die punt te bewys, want die kontrole is een stelseloproep. Om /dev/net/tun oop te maak en die kern om ’n toestel te vra, vereis CAP_NET_ADMIN, en die kern-TUN/TAP-dokumentasie noem beide die eienaarskapreël en die vermoë. Voer die toets uit as die rekening wat die kliënt sal begin, nie as root nie.
ls -l /dev/net/tun
ip tuntap add dev vpntest mode tun
ip link delete vpntest
’n Toestemmingsfout op die middelste reël is die antwoord waarna jy gesoek het: hierdie rekening kan nie ’n tonnelkoppelvlak skep nie, so enige gebruikerspasie-kliënt wat een nodig het, misluk tydens verbinding eerder as tydens aflaai. Die laaste reël verwyder die toesteltoets en druk niks wanneer dit werk nie. As albei reëls slaag, het die gasheer niks permanent verander nie.
Toets roete- en resolusieveranderinge voor die eerste verbinding
Gesplete tonneling maak ’n verbinding ’n roetebeslissing, terwyl ’n volle tonnel dit ’n vervanging van die verstekroete maak. Albei is skrywes na die gasheer se netwerkstapel, en albei misluk vir ’n onbevoorregte rekening selfs wanneer die kliënt self skoon begin. Die resolusie is die derde skryf, en op systemd-gashere is dit gewoonlik die een wat laaste breek. Daardie volgorde maak saak wanneer jy besluit waar om ’n verhoogde installasie te bestee.
’n Roetetoets het ’n bestemming nodig waaraan jy werklik omgee, so vervang ’n subnet uit jou eie profiel in plaas van die plekhouer hieronder. Die toestelnaam moet bestaan sodat die roete aan iets kan heg.
ip route add 10.20.0.0/16 dev vpntest
ip route del 10.20.0.0/16
resolvectl query intranet.example.internal
Die eerste reël wat RTNETLINK answers: Operation not permitted teruggee, beteken die rekening kan nie die privaatroete installeer wat die profiel vereis nie. Die tweede reël bewys dieselfde reg omgekeerd, wat saak maak omdat ’n kliënt wat roetes kan byvoeg maar nie kan verwyder nie, ’n gebroke tabel agterlaat. Die resolusie-navraag wys dan of privaat name deur die tonnel oplos of lek na watter resolusie die gasheer reeds vertrou.
Voer al drie uit terwyl die toesteltoets nog bestaan, en verwyder dit dan. ’n Roete wat na ’n toestel wys wat weg is, is die mees algemene rede waarom ’n skootrekenaar konnektiwiteit verloor ná ’n mislukte verbinding.
Besluit wat die sessie moet oorleef
Om die gids te verwyder is nie ’n opruimingsplan nie. Adapters, roetes, resolusie-instellings, vertroude sertifikate en gestoorde geloofsbriewe kan elk die proses oorleef, en ’n diens by selflaai kan sommige daarvan herstel sonder om te vra. Skryf neer wat die kliënt mag agterlaat voordat jy dit loop, nie ná die eerste mislukte ontkoppeling nie.
Die praktiese reël is om ’n momentopname te maak van die drie oppervlaktes wat jy op die punt is om te verander en dit daarna te vergelyk. Teken koppelvlakke, die hoof-roetotabel en die resolusietoestand voor die eerste verbinding aan, en herhaal dan dieselfde drie lesings sodra die kliënt afgesluit het.
ip -brief addr show
ip route show table main
resolvectl status
Enigiets wat in die tweede opname teenwoordig is en in die eerste afwesig is, het ’n eienaar nodig. Óf die kliënt verwyder dit by afsluiting, óf jy verwyder dit met dieselfde opdragte wat dit geskep het, en daardie verwydering hoort in die ontplooiingsnotas eerder as in iemand se geheue van wat gebeur het. Op Windows is die ekwivalente lesings Get-NetAdapter, Get-NetRoute en Get-DnsClientServerAddress, wat geen verhoging nodig het nie maar dieselfde oorblyfsels wys.