Nešiojamas VPN klientas be administratoriaus teisių: kas vis tiek lūžta
Nešiojamas VPN klientas gali praleisti diegimo programą ir vis tiek reikalauti tunelio įrenginio, maršruto ir įrašymo į sprendiklį. Paleiskite šiuos testus prieš juo pasitikėdami.
Nešiojamas apibūdina diegimo programą, o ne branduolį. Klientas gali atvykti kaip vienas vykdomasis failas USB laikmenoje ir vis tiek reikalauti tunelio įrenginio, įrašo maršrutų lentelėje ir įrašymo į sprendiklį, kol pajudės pirmasis paketas. Kurį iš šių trijų tikslinė mašina leis jums liesti, nulemia, ar ta kompiliacija ten apskritai veikia. Žemiau esantys testai atsako į klausimą ta tvarka, kuria klientas juos sutiks.
Nešiojamumas apima tris skirtingus pažadus, ir tik vienas yra nemokamas
Jokios diegimo programos reiškia, kad tiekėjas neužregistravo paslaugos, nepristatė šalinimo programos ir nepridėjo meniu įrašo. Jokio administratoriaus reiškia, kad įprasta paskyra gali paleisti klientą ir užbaigti ryšį. Jokio pagrindinio kompiuterio pakeitimo reiškia, kad mašina atrodo identiškai po to, kai išeinate. Atsisiuntimo puslapiai, kurie sako nešiojamas, paprastai žada tik pirmąjį iš jų, o kiti du yra vieta, kur diegimai žlunga. Kompiliacija gali būti nešiojama ir siaurąja prasme: ji veikia iš tik skaitymui skirto laikmens be jokių taškinių failų įrašymo, o tai vis tiek nieko nesako apie tinklo steką.
Brangūs pažadai yra antrasis ir trečiasis. Vienas vykdomasis failas, kuriam reikia adapterio, maršruto arba įrašymo į sprendiklį, prašo operacinės sistemos teisės, kurią etiketė nešiojamas niekada neapėmė.
Raskite privilegijuotą pagalbininką, kurį klientas iškvies
Beveik nė vienas VPN klientas pats nejudina paketų. Windows duomenų kelias eina per WFP filtrus ir Base Filtering Engine, macOS – per NetworkExtension teikėją, kurį naudotojas patvirtina sistemos nustatymuose, o Linux – per tun įrenginį ir maršrutizavimo steką. Nukopijuotas dvejetainis failas yra tų komponentų valdymo paviršius, o ne jų pakaitalas. Paklauskite, kokio komponento klientas tikisi, tada patvirtinkite, kad jis įdiegtas, veikia ir yra prieinamas jūsų paskyrai.
Linux yra lengviausia vieta tai įrodyti, nes patikra yra vienas sistemos kvietimas. Atidaryti /dev/net/tun ir paprašyti branduolio įrenginio reikia CAP_NET_ADMIN, o branduolio TUN/TAP dokumentacija nurodo ir nuosavybės taisyklę, ir galimybę. Paleiskite testą paskyra, kuri paleis klientą, o ne kaip root.
ls -l /dev/net/tun
ip tuntap add dev vpntest mode tun
ip link delete vpntest
Leidimų klaida vidurinėje eilutėje yra atsakymas, kurio ieškojote: ši paskyra negali sukurti tunelio sąsajos, todėl bet kuris naudotojo erdvės klientas, kuriam jos reikia, nepavyksta jungiantis, o ne atsisiunčiant. Paskutinė eilutė pašalina bandomąjį įrenginį ir nieko nespausdina, kai ji veikia. Jei abi eilutės pavyksta, pagrindinis kompiuteris nieko nepakeitė visam laikui.
Išbandykite maršruto ir sprendiklio pakeitimus prieš pirmąjį ryšį
Padalintas tunelis paverčia ryšį maršrutizavimo sprendimu, o visas tunelis paverčia jį numatytojo maršruto pakeitimu. Abu yra įrašymai į pagrindinio kompiuterio tinklo steką, ir abu nepavyksta be privilegijų esančiai paskyrai, net kai pats klientas startuoja švariai. Sprendiklis yra trečiasis įrašymas, o systemd pagrindiniuose kompiuteriuose paprastai jis lūžta paskutinis. Ta tvarka svarbi, kai sprendžiate, kur išleisti paaukštintą diegimą.
Maršruto testui reikia paskirties vietos, kuri jums tikrai rūpi, todėl žemiau esantį žymeklį pakeiskite potinkliu iš savo profilio. Įrenginio vardas turi egzistuoti, kad maršrutas galėtų prie ko nors prisitvirtinti.
ip route add 10.20.0.0/16 dev vpntest
ip route del 10.20.0.0/16
resolvectl query intranet.example.internal
Jei pirmoji eilutė grąžina RTNETLINK answers: Operation not permitted, paskyra negali įdiegti privataus maršruto, kurio reikalauja profilis. Antroji eilutė įrodo tą pačią teisę atvirkščiai, o tai svarbu, nes klientas, kuris gali pridėti maršrutus, bet negali jų pašalinti, palieka sulaužytą lentelę. Tada sprendiklio užklausa parodo, ar privatūs vardai sprendžiami per tunelį, ar nuteka tam sprendikliui, kuriuo pagrindinis kompiuteris jau pasitiki.
Paleiskite visus tris, kol bandomasis įrenginys dar egzistuoja, tada jį ištrinkite. Maršrutas, rodantis į išnykusį įrenginį, yra dažniausia priežastis, kodėl nešiojamas kompiuteris praranda ryšį po nepavykusio prisijungimo.
Nuspręskite, kas turi išgyventi sesiją
Aplanko ištrynimas nėra valymo planas. Adapteriai, maršrutai, sprendiklio nustatymai, patikimi sertifikatai ir saugomi prisijungimo duomenys gali kiekvienas pergyventi procesą, o paleidimo metu veikianti paslauga gali kai kuriuos jų atkurti nepaklaususi. Užsirašykite, ką klientui leidžiama palikti po savęs prieš jį paleidžiant, o ne po pirmojo nepavykusio atsijungimo.
Praktinė taisyklė yra užfiksuoti trijų paviršių, kuriuos ketinate keisti, momentinę kopiją ir po to juos palyginti. Prieš pirmąjį ryšį užregistruokite sąsajas, pagrindinę maršrutizavimo lentelę ir sprendiklio būseną, o tada pakartokite tuos pačius tris skaitymus, kai klientas baigs darbą.
ip -brief addr show
ip route show table main
resolvectl status
Viskas, kas yra antrame fiksavime ir ko nėra pirmame, turi turėti šeimininką. Arba klientas tai pašalina išeidamas, arba jūs pašalinate tai tais pačiais įsakymais, kurie tai sukūrė, ir tas šalinimas priklauso diegimo pastaboms, o ne kieno nors atminimui apie tai, kas nutiko. Windows atitinkami skaitymai yra Get-NetAdapter, Get-NetRoute ir Get-DnsClientServerAddress, kuriems nereikia paaukštinimo, bet jie rodo tuos pačius likučius.